2014-12-15  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 13.1.0 Released.

2014-12-10  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 13.1.0-rc2 Released.

	* AST-2014-019: Fix crash when receiving a WebSocket packet with a
	  payload length of zero.

	  Frames with a payload length of 0 were incorrectly handled in
	  res_http_websocket. Provided a frame with a payload had been
	  received prior it was possible for a double free to occur. The
	  realloc operation would succeed (thus freeing the payload) but be
	  treated as an error. When the session was then torn down the payload
	  would be freed again causing a crash. The read function now takes
	  this into account.

	  This change also fixes assumptions made by users of
	  res_http_websocket. There is no guarantee that a frame received from
	  it will be NULL terminated.

	  ASTERISK-24472 #close
	  Reported by: Badalian Vyacheslav

2014-12-08  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 13.1.0-rc1 Released.

2014-12-08 16:53 +0000 [r429091]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/playbacks.json, UPGRADE.txt,
	  rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
	  rest-api/resources.json, CHANGES, include/asterisk/manager.h,
	  rest-api/api-docs/bridges.json,
	  rest-api/api-docs/recordings.json,
	  rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/endpoints.json,
	  rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
	  rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json: AMI/ARI: Update version to
	  2.6.0/1.6.0 respectively for new features AMI/ARI are getting a
	  few enhancements in the next release of Asterisk 13. Per semantic
	  versioning, that warrants a bump in the minor version number, as
	  it reflects a backwards compatible change. Hence, this commit.

2014-12-08 16:41 +0000 [r429064-429089]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_session.c: Fix a crash that would occur when
	  receiving a 491 response to a reinvite. The reviewboard
	  description does a fine job of summarizing this, so here it is: A
	  reporter discovered that Asterisk would crash when attempting to
	  retransmit a reinvite that had previously received a 491
	  response. The crash occurred because a pjsip_tx_data structure
	  was being saved for reuse, but its reference count was not being
	  increased. The result was that the pjsip_tx_data was being freed
	  before we were actually done with it. When we attempted to re-use
	  the structure when re-sending the reinvite, Asterisk would crash.
	  The fix implemented here is not to try holding onto the
	  pjsip_tx_data at all. Instead, when we reschedule sending the
	  reinvite, we create a brand new pjsip_tx_data and send that
	  instead. Because of this change, there is no need for an
	  ast_sip_session_delayed_request structure to have a pjsip_tx_data
	  on it any more. So any code referencing its use has been removed.
	  When this initial fix was introduced, I encountered a second
	  crash when processing a subsequent 200 OK on a rescheduled
	  reinvite. The reason was that when rescheduling the reinvite, we
	  gave the wrong location for a response callback. This has been
	  fixed in this patch as well. ASTERISK-24556 #close Reported by
	  Abhay Gupta Review: https://reviewboard.asterisk.org/r/4233

	* main/stasis_channels.c, CHANGES, res/ari/ari_model_validators.c,
	  main/manager_channels.c, main/channel.c,
	  res/ari/ari_model_validators.h,
	  include/asterisk/stasis_channels.h,
	  rest-api/api-docs/events.json, res/stasis/app.c: Add new AMI and
	  ARI events for connected line changes on a channel. The AMI event
	  is called NewConnectedLine and the ARI event is called
	  ChannelConnectedLine. ASTERISK-24554 #close Reported by Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/4231

2014-12-08 15:43 +0000 [r429062]  Kinsey Moore <kmoore@digium.com>

	* /, res/stasis/app.c, main/channel_internal_api.c,
	  res/stasis/stasis_bridge.c, res/stasis/app.h,
	  include/asterisk/channel.h, res/res_stasis.c, main/channel.c:
	  Stasis: Fix StasisStart/End order and missing events This
	  corrects several bugs that currently exist in the stasis
	  application code. * After a masquerade, the resulting channels
	  have channel topics that do not match their uniqueids **
	  Masquerades now swap channel topics appropriately * StasisStart
	  and StasisEnd messages are leaked to observer applications due to
	  being published on channel topics ** StasisStart and StasisEnd
	  publishing is now properly restricted to controlling apps via app
	  topics * Race conditions exist where StasisStart and StasisEnd
	  messages due to a masquerade may be received out of order due to
	  being published on different topics ** These messages are now
	  published directly on the app topic so this is now a non-issue *
	  StasisEnds are sometimes missing when sent due to masquerades and
	  bridge swaps into and out of Stasis() ** This was due to
	  StasisEnd processing adjusting message-sent flags after Stasis()
	  had already exited and Stasis() had been re-entered ** This was
	  corrected by adjusting these flags prior to sending the message
	  while the initial Stasis() application was still shutting down
	  Review: https://reviewboard.asterisk.org/r/4213/ ASTERISK-24537
	  #close Reported by: Matt DiMeo ........ Merged revisions 429061
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-06 18:16 +0000 [r429029-429033]  Matthew Jordan <mjordan@digium.com>

	* res/res_monitor.c, /: res/res_monitor: Reset in/out sample counts
	  on Monitor start When repeatedly starting/stopping a Monitor on a
	  channel, the accumulated in/out sample counts are never reset to
	  0. This can cause inadvertent jumps in the recordings, as the
	  code in the channel core will determine incorrectly that a jump
	  in the recorded file position should occur. Setting the sample
	  counts to 0 simply reflects the initial state a Monitor should be
	  in when it is started, as this is the initial count that would be
	  on the channels at that time. ASTERISK-24573 #close Reported by:
	  Nuno Borges patches: 24573.patch uploaded by Nuno Borges (License
	  6116) ........ Merged revisions 429031 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 429032 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/app_meetme.c: apps/app_meetme: Apply default values on
	  initial load with no config file When the app_meetme module is
	  loaded without its configuration file, the module settings aren't
	  initialized. In particular, this impacts the use of logging
	  realtime members. This patch guarantees that we always set the
	  default module settings on initial load. Review:
	  https://reviewboard.asterisk.org/r/4242/ ASTERISK-24572 #close
	  Reported by: Nuno Borges patches: 24572.patch uploaded by Nuno
	  Borges (License 6116) ........ Merged revisions 429027 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 429028 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-05 17:06 +0000 [r429000]  George Joseph <george.joseph@fairview5.com>

	* tests/test_sorcery.c, main/sorcery.c, include/asterisk/test.h, /,
	  include/asterisk/sorcery.h: sorcery: Add additional observer
	  capabilities. Add new global, instance and wizard observers.
	  instance_created wizard_registered wizard_unregistered
	  instance_destroying instance_loading instance_loaded
	  wizard_mapped object_type_registered object_type_loading
	  object_type_loaded wizard_loading wizard_loaded Tested-by: George
	  Joseph Review: https://reviewboard.asterisk.org/r/4215/ ........
	  Merged revisions 428999 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-04 17:13 +0000 [r428865-428973]  Matthew Jordan <mjordan@digium.com>

	* /, main/test.c: main/test: Fix compilation issue on 32-bit
	  systems On a 32-bit system, a type of intmax_t will result in a
	  compilation warning when formatted as a 'long int'. Use the
	  format specifier of %jd (which was what was used originally in
	  manager.c) to format the JSON extracted integer on both
	  32-/64-bit systems. ........ Merged revisions 428972 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/manager.c, /, main/test.c: main/test: Fix race condition
	  between AMI topic and Test Suite topic This patch fixes a race
	  condition between the raising of test AMI events (which drive
	  many tests in the Asterisk Test Suite) and other AMI events.
	  Prior to this patch, the Stasis messages published to the test
	  topic were not forwarded to the AMI topic. Instead, the code in
	  manager had a dedicated handler for test messages that was
	  independent of the topics forwarded to the AMI topic. This
	  results in no synchronization between the test messages and the
	  rest of the Stasis messages published out over AMI. In some test
	  with very tight timing constraints, this can result in out of
	  order messages and spurious test failures. Properly forwarding
	  the Test Suite topic to the AMI topic ensures that the messages
	  are synchronized properly. This patch does that, and moves the
	  message handling to the Stasis definition of the Test Suite
	  message in test.c as well. Review:
	  https://reviewboard.asterisk.org/r/4221/ ........ Merged
	  revisions 428945 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* tests/test_cel.c, /: tests/test_cel: Add
	  test_cel_attended_transfer_bridges_link to racey tests Despite
	  failing less often, the ordering of the ATTENDEDTRANSFER event
	  and the BRIDGE_EXIT event for the Alice and David channels is not
	  defined. This makes the test still fail. ........ Merged
	  revisions 428918 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* tests/test_cel.c, /: tests/test_cel: Fix CEL unit test failures
	  caused by attended transfer changes When the publication of
	  attended transfer messages were pushed to another thread, some
	  subtle race conditions were introduced with the CEL unit tests.
	  This patch fixes one of them, and pushes the other to
	  ASTERISK-22367, which already exists to fix another bouncy CEL
	  unit test. In particular, this patch fixes the
	  test_cel_attended_transfer_bridges_link test, and defers the
	  test_cel_attended_transfer_bridges_swap test to the
	  aforementioned JIRA issue. ASTERISK-22367 ........ Merged
	  revisions 428891 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_voicemail.c, /: apps/app_voicemail: Fix crash with IMAP
	  when streams are opened simultaneously The UW IMAP library is
	  instrinsically not thread-safe, and relies upon higher level
	  applications to guarantee thread safety. For the most part, this
	  is provided by the vms object, which provides locking for
	  individual streams. Unfortunately, this is not sufficient for
	  calls to mail_open which create the IMAP stream. mail_open can,
	  on some systems, call into a UW IMAP specific function for
	  determining the address of a system based on a hostname,
	  ip_nametoaddr. In the ip6_unix implementation of this function,
	  static variables are used to hold parsing buffers. This can cause
	  a crash if multiple threads attempt to convert a hostname to an
	  address at the same time. Locking on a single mail stream is not
	  sufficient to prevent simultaneous access to these static
	  variables. In the IMAP library, this function can be called from
	  the mail_open and imap_status functions. As the imap_status
	  function is not used by app_voicemail, locking on access to
	  mail_open is sufficient to prevent any mangling of the buffers.
	  Review: https://reviewboard.asterisk.org/r/4188/ ASTERISK-24516
	  #close Reported by: David Duncan Ross Palmer Tested by: David
	  Duncan Ross Palmer patches: ASTERISK-24516.diff uploaded by David
	  Duncan Ross Palmer (License 6660) ........ Merged revisions
	  428863 from http://svn.asterisk.org/svn/asterisk/branches/11
	  ........ Merged revisions 428864 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-02 21:53 +0000 [r428837]  George Joseph <george.joseph@fairview5.com>

	* CHANGES, /: CHANGES: Add item for new 'pjsip show identif(y|ies)
	  commands Tested-by: George Joseph ........ Merged revisions
	  428836 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-02 19:03 +0000 [r428789-428815]  Matthew Jordan <mjordan@digium.com>

	* tests/test_stasis.c: tests/test_stasis: Resolve compilation
	  issues from Asterisk 12 merge When merging the changes up stream
	  in r428687, I missed the fact that the signature for
	  stasis_message_type_create was changed. This patch fixes the
	  compilation issues introduced by that merge.

	* pbx/pbx_loopback.c, /: pbx/pbx_loopback: Speed up switches by
	  avoiding unneeded lookups This patch makes a small rearrangement
	  to only do dialplan lookups during loopback switches if the
	  pattern matches. Prior to this patch, the dialplan lookups were
	  always performed, even when the result would be discarded.
	  Dialplan lookups can be very costly if remote switches - like
	  DUNDi - are present. In those cases extension matching is sped up
	  considerably, making the issue of lost digits more manageable. As
	  collateral damage, 6 trailing spaces were killed. Review:
	  https://reviewboard.asterisk.org/r/4211 ASTERISK-24577 #close
	  Reported by: Birger Harzenetter patches: ast-loopback.patch
	  uploaded by Birger Harzenetter (License 5870) ........ Merged
	  revisions 428787 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428788 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-02 12:20 +0000 [r428761]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_refer.c, /: res_pjsip_refer: Fix issue where native
	  bridge may not occur upon completion of a transfer. There are two
	  methods within res_pjsip_refer for keeping track of the state of
	  a transfer. The first is a framehook which looks at frames
	  passing by to determine the state. The second subscribes to know
	  when the channel joins a bridge. In the case when the channel
	  joins the bridge the framehook is *NOT* removed and this prevents
	  the native RTP bridging technology from getting used. This change
	  gets the channel and if it still exists remove the framehook.
	  Review: https://reviewboard.asterisk.org/r/4218/ ........ Merged
	  revisions 428760 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-02 00:38 +0000 [r428731-428734]  George Joseph <george.joseph@fairview5.com>

	* /, include/asterisk/config.h, main/config.c: config: Create
	  ast_variable_find_in_list() Add const char
	  *ast_variable_find_in_list(const struct ast_variable *list, const
	  char *variable); ast_variable_find() requires a config category
	  to search whereas ast_variable_find_in_list() just needs the root
	  list element which is useful if you don't have a category.
	  Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/4217/ ........ Merged
	  revisions 428733 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_endpoint_identifier_ip.c,
	  res/res_pjsip/pjsip_cli.c: res_pjsip_endpoint_identifier_ip: Add
	  'show identify(ies)' cli commands While troubleshooting other
	  things I realized there were no pjsip cli commands for identify.
	  This patch adds them. It also also fixes a reference leak when a
	  'show endpoint' displayed identifies and properly sets the return
	  code if load_module can't allocate a cli formatter structure.
	  Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/4212/ ........ Merged
	  revisions 428725 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-01 17:57 +0000 [r428687]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_skinny.c, res/res_pjsip_mwi.c, tests/test_stasis.c,
	  res/res_pjsip_pubsub.c, res/res_pjsip_refer.c,
	  channels/chan_mgcp.c, main/stasis_cache.c, channels/chan_sip.c,
	  include/asterisk/stasis_internal.h, /, include/asterisk/stasis.h,
	  UPGRADE.txt, configs/samples/stasis.conf.sample,
	  res/parking/parking_applications.c, res/res_xmpp.c,
	  channels/chan_iax2.c, apps/app_queue.c,
	  res/res_stasis_device_state.c, channels/sig_pri.c,
	  include/asterisk/stasis_message_router.h, main/endpoints.c,
	  res/parking/parking_bridge_features.c, main/stasis.c,
	  channels/chan_dahdi.c, main/stasis_message_router.c: main/stasis:
	  Allow subscriptions to use a threadpool for message delivery
	  Prior to this patch, all Stasis subscriptions would receive a
	  dedicated thread for servicing published messages. In contrast,
	  prior to r400178 (see review
	  https://reviewboard.asterisk.org/r/2881/), the subscriptions
	  shared a thread pool. It was discovered during some initial work
	  on Stasis that, for a low subscription count with high message
	  throughput, the threadpool was not as performant as simply having
	  a dedicated thread per subscriber. For situations where a
	  subscriber receives a substantial number of messages and is
	  always present, the model of having a dedicated thread per
	  subscriber makes sense. While we still have plenty of
	  subscriptions that would follow this model, e.g., AMI, CDRs, CEL,
	  etc., there are plenty that also fall into the following two
	  categories: * Large number of subscriptions, specifically those
	  tied to endpoints/peers. * Low number of messages. Some
	  subscriptions exist specifically to coordinate a single message -
	  the subscription is created, a message is published, the delivery
	  is synchronized, and the subscription is destroyed. In both of
	  the latter two cases, creating a dedicated thread is wasteful
	  (and in the case of a large number of peers/endpoints, harmful).
	  In those cases, having shared delivery threads is far more
	  performant. This patch adds the ability of a subscriber to Stasis
	  to choose whether or not their messages are dispatched on a
	  dedicated thread or on a threadpool. The threadpool is
	  configurable through stasis.conf. Review:
	  https://reviewboard.asterisk.org/r/4193 ASTERISK-24533 #close
	  Reported by: xrobau Tested by: xrobau ........ Merged revisions
	  428681 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-12-01 13:41 +0000 [r428632-428655]  Joshua Colp <jcolp@digium.com>

	* /, apps/app_record.c: app_record: Fix bug where using the 'k'
	  option and hanging up would trim 1/4 of a second of the
	  recording. The Record dialplan function trims 1/4 of a second
	  from the end of recordings in case they are terminated because of
	  DTMF. When hanging up, however, you don't want this to happen.
	  This change makes it so on hangup this does not occur.
	  ASTERISK-24530 #close Reported by: Ben Smithurst patches:
	  app_record_v2.diff submitted by Ben Smithurst (license 6529)
	  Review: https://reviewboard.asterisk.org/r/4201/ ........ Merged
	  revisions 428653 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428654 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/channel.c: channel: Extend size of buffer for codecs in
	  "core show channeltype" CLI command. The static buffer for codecs
	  when invoking the "core show channeltype" CLI command did not
	  have enough room for all codecs. This has been extended so it
	  does. ASTERISK-24542 #close Reported by: snuffy patches:
	  channeltype-tech.diff submitted by snuffy (license 5024) Review:
	  https://reviewboard.asterisk.org/r/4204/

2014-11-24 20:37 +0000 [r428602-428604]  Richard Mudgett <rmudgett@digium.com>

	* tests/test_channel_feature_hooks.c: test_channel_feature_hooks.c:
	  Fix unit test for DTMF hooks. Fix the failing
	  /channels/features/test_features_channel_dtmf unit test. DTMF
	  emulation does not work without a stream of packets to prod the
	  emulation code. Review: https://reviewboard.asterisk.org/r/4199/

	* /, main/bridge.c, main/bridge_channel.c: DTMF hooks: Leaving
	  channels need to push any collected digits into the bridge. Any
	  partially collected DTMF digits for a DTMF hook need to be pushed
	  into the bridge when a channel leaves the bridging system as if
	  there were a timeout. Review:
	  https://reviewboard.asterisk.org/r/4199/ ........ Merged
	  revisions 428601 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-21 19:09 +0000 [r428572]  Richard Mudgett <rmudgett@digium.com>

	* main/manager.c, /: manager: Fix could not extend string messages.
	  When shutting down Asterisk that has an active AMI connection,
	  you get several "failed to extend from %d to %d" messages because
	  use of the EVENT_FLAG_SHUTDOWN attempts to add all AMI permission
	  strings to the event. * Created MAX_AUTH_PERM_STRING to use when
	  creating stack based struct ast_str variables used with the
	  authority_to_str() and user_authority_to_str() functions instead
	  of a variety of magic numbers that could be too small. * Added a
	  special check for EVENT_FLAG_SHUTDOWN to authority_to_str() so it
	  will not attempt to add all permission level strings. Review:
	  https://reviewboard.asterisk.org/r/4200/ ........ Merged
	  revisions 428570 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428571 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-21 17:45 +0000 [r428544]  George Joseph <george.joseph@fairview5.com>

	* main/sorcery.c, /, res/res_pjsip_phoneprov_provider.c,
	  tests/test_sorcery.c: sorcery: Make is_object_field_registered
	  handle field names that are regexes. As a result of
	  https://reviewboard.asterisk.org/r/3305, res_sorcery_realtime was
	  tossing database fields that didn't have an exact match to a
	  sorcery registered field. This broke the ability to use regexes
	  as field names which manifested itself as a failure of
	  res_pjsip_phoneprov_provider which uses this capability. It also
	  broke handling of fields that start with '@' in realtime but I
	  don't think anyone noticed. This patch does the following... *
	  Modifies ast_sorcery_fields_register to pre-compile the name
	  regex. * Modifies ast_sorcery_is_object_field_registered to test
	  the regex if it exists instead of doing an exact strcmp. *
	  Modifies res_pjsip_phoneprov_provider with a few tweaks to get it
	  to work with realtime. Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/4185/ ........ Merged
	  revisions 428543 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-21 02:16 +0000 [r428505]  Matthew Jordan <mjordan@digium.com>

	* main/bridge_basic.c: main/bridge_basic: Fix features regressions
	  introduced by r428165 In r428165, two bugs were introduced: *
	  Prior to entering the features retry loop, the buffer that holds
	  the collected digits is wiped. However, this inadvertently wipes
	  out the first collected digit on the first pass through, which is
	  obtained in ast_stream_and_wait. This caused all of the features
	  tests to fail. * If ast_app_dtget returns a hangup (-1), the loop
	  would retry incorrectly. If we detect a hangup, we have to stop
	  trying the feature. This patch fixes both issues. Review:
	  https://reviewboard.asterisk.org/r/4196/

2014-11-20 16:36 +0000 [r428425]  Mark Michelson <mmichelson@digium.com>

	* main/acl.c, /: Fix error with mixed address family ACLs. Prior to
	  this commit, the address family of the first item in an ACL was
	  used to compare all incoming traffic. This could lead to traffic
	  of other IP address families bypassing ACLs. ASTERISK-24469
	  #close Reported by Matt Jordan Patches: ASTERISK-24469-11.diff
	  uploaded by Matt Jordan (License #6283) AST-2014-012 ........
	  Merged revisions 428402 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 428417 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428422 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-20 16:34 +0000 [r428413]  Kevin Harwell <kharwell@digium.com>

	* funcs/func_db.c, /: AST-2014-018 - func_db: DB Dialplan function
	  permission escalation via AMI. The DB dialplan function when
	  executed from an external protocol (for instance AMI), could
	  result in a privilege escalation. Asterisk now inhibits the DB
	  function from being executed from an external interface if the
	  live_dangerously option is set to no. ASTERISK-24534 Reported by:
	  Gareth Palmer patches: submitted by Gareth Palmer (license 5169)
	  ........ Merged revisions 428331 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 428363 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428409 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-20 16:13 +0000 [r428343]  Jonathan Rose <jrose@digium.com>

	* res/res_pjsip_acl.c, /: PJSIP ACLs: Fix ACLs not loading on
	  startup and apply/acl issues on contact The biggest problem this
	  patch fixes is that ACLs weren't previously being loaded when the
	  res_pjsip_acl module was loaded. Yikes. In addition, the ACL
	  options contact_permit and contact_acl were effectively
	  interpreted as contact_deny and this patch fixes that as well.
	  AST-1418 #close Reported by: Thomas Thompson Review:
	  https://reviewboard.asterisk.org/r/4120/ ASTERISK-24531 #close
	  Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/4171/ ........ Merged
	  revisions 428333 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-20 15:50 +0000 [r428339]  Kevin Harwell <kharwell@digium.com>

	* apps/app_confbridge.c, /: AST-2014-017 - app_confbridge:
	  permission escalation/ class authorization. Confbridge dialplan
	  function permission escalation via AMI and inappropriate class
	  authorization on the ConfbridgeStartRecord action. The CONFBRIDGE
	  dialplan function when executed from an external protocol (for
	  instance AMI), could result in a privilege escalation. Also, the
	  AMI action “ConfbridgeStartRecord” could also be used to execute
	  arbitrary system commands without first checking for system
	  access. Asterisk now inhibits the CONFBRIDGE function from being
	  executed from an external interface if the live_dangerously
	  option is set to no. Also, the “ConfbridgeStartRecord” AMI action
	  is now only allowed to execute under a user with system level
	  access. ASTERISK-24490 Reported by: Gareth Palmer ........ Merged
	  revisions 428332 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428334 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-20 14:55 +0000 [r428302-428305]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_refer.c, /: AST-2014-016: Fix crash when receiving
	  an in-dialog INVITE with Replaces in res_pjsip_refer. The
	  implementation of INVITE with Replaces in res_pjsip_refer did not
	  expect them to occur in-dialog. As a result it would incorrectly
	  attempt to hang up a channel it thought was under its control. In
	  reality the channel would be under the control of another thread.
	  When the other thread accessed the channel it would be accessing
	  freed memory and could crash. This change makes res_pjsip_refer
	  not act on an in-dialog INVITE with Replaces. ASTERISK-24528
	  #close Reported by: Joshua Colp ........ Merged revisions 428304
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_pjsip.c, /: AST-2014-015: Fix race condition in
	  chan_pjsip when sending responses after a CANCEL has been
	  received. Due to the serialized architecture of chan_pjsip there
	  exists a race condition where a CANCEL may be received and
	  processed before responses (such as 180 Ringing, 183 Session
	  Progress, and 200 OK) are sent. Since the session is in an
	  unexpected state PJSIP will assert when this is attempted. This
	  change makes it so that these responses are not sent on
	  disconnected sessions. ASTERISK-24471 #close Reported by: yaron
	  nahum ........ Merged revisions 428301 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-19 19:31 +0000 [r428273]  Corey Farrell <git@cfware.com>

	* include/asterisk/stringfields.h, /: stringfields: Fix bug in
	  ast_string_fields_copy. ast_string_fields_copy relies on the fact
	  that __ast_string_field_release_active never previously zeroed
	  pool->used, so keeping the existing pointer was "ok". Now that
	  existing pools can be reset to 'empty', it is important to set
	  each field to __ast_string_field_empty after releasing the
	  memory. ASTERISK-24535 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4186/ ........ Merged
	  revisions 428272 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-19 17:13 +0000 [r428246]  Richard Mudgett <rmudgett@digium.com>

	* res/res_calendar.c, main/manager.c, /, channels/chan_sip.c,
	  channels/sip/security_events.c: ast_str: Fix improper member
	  access to struct ast_str members. Accessing members of struct
	  ast_str outside of the string manipulation API routines is
	  invalid since struct ast_str is supposed to be treated as opaque.
	  Review: https://reviewboard.asterisk.org/r/4194/ ........ Merged
	  revisions 428244 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428245 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-19 12:40 +0000 [r428196-428222]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, include/asterisk/res_pjsip.h,
	  include/asterisk/res_pjsip_session.h, res/res_pjsip_sdp_rtp.c,
	  res/res_pjsip/pjsip_configuration.c,
	  configs/samples/pjsip.conf.sample,
	  contrib/ast-db-manage/config/versions/eb88a14f2a_add_media_encryption_optimistic_to_pjsip.py
	  (added), CHANGES, res/res_pjsip.c: res_pjsip_sdp_rtp: Add support
	  for optimistic SRTP. Optimistic SRTP is the ability to enable
	  SRTP but not have it be a fatal requirement. If SRTP can be used
	  it will be, if not it won't be. This gives you a better chance of
	  using it without having your sessions fail when it can't be.
	  Encrypt all the things! Review:
	  https://reviewboard.asterisk.org/r/3992/

	* res/res_pjsip_refer.c, /: res_pjsip_refer: Ensure Refer-To is
	  NULL terminated and parse it as a URI. There is no guarantee that
	  when we get a Refer-To that it will be NULL terminated. As the
	  URI parsing function requires it to be we now NULL terminate it.
	  Additionally parsing the Refer-To as a 'To' header is needless
	  and it can simply be done as a URI. This also fixes a problem
	  where certain Refer-To headers would not be parsed as a 'To'
	  header causing the REFER to fail. ASTERISK-24508 #close Reported
	  by: Beppo Mazzucato Review:
	  https://reviewboard.asterisk.org/r/4187/ ........ Merged
	  revisions 428195 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-18 18:54 +0000 [r428169]  Richard Mudgett <rmudgett@digium.com>

	* /, res/parking/parking_tests.c: parking_tests.c: Add missing
	  newline on a unit test message. ........ Merged revisions 428168
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-17 16:51 +0000 [r428145]  Mark Michelson <mmichelson@digium.com>

	* CHANGES, main/features_config.c,
	  configs/samples/features.conf.sample,
	  include/asterisk/features_config.h, main/bridge_basic.c: Allow
	  for transferer to retry when dialing an invalid extension. This
	  allows for a configurable number of attempts for a transferer to
	  dial an extension to transfer the call to. For Asterisk 13, the
	  default values are such that upgrading between versions will not
	  cause a behaivour change. For trunk, though, the defaults will be
	  changed to be more user-friendly. Review:
	  https://reviewboard.asterisk.org/r/4167

2014-11-17 16:00 +0000 [r428119]  Corey Farrell <git@cfware.com>

	* /, channels/chan_sip.c: chan_sip: Fix theoretical leak of
	  p->refer. If transmit_refer is called when p->refer is already
	  allocated, it leaks the previous allocation. Updated code to
	  always free previous allocation during a new allocation. Also
	  instead of checking if we have a previous allocation, always
	  create a clean record. ASTERISK-15242 #close Reported by: David
	  Woolley Review: https://reviewboard.asterisk.org/r/4160/ ........
	  Merged revisions 428117 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428118 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-17 15:27 +0000 [r428079-428115]  Matthew Jordan <mjordan@digium.com>

	* /, apps/confbridge/conf_state_multi_marked.c:
	  apps/app_confbridge: Ensure 'normal' users hear message when last
	  marked leaves When r428077 was made for ASTERISK-24522, it failed
	  to take into account users who are neither wait_marked nor
	  end_marked. These users are *also* supposed to hear the 'leader
	  has left the conference' message. Granted, this behaviour is a
	  bit odd; however, that is how it used to work... and behaviour
	  changes are not good. This patch ensures that if there are any
	  'normal' users present when the last marked user leaves the
	  conference, the message will still be played to them. Note that
	  this regression was caught by the Asterisk Test Suite's
	  confbridge_nominal test, which has a quirky combination of users.
	  ........ Merged revisions 428113 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428114 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/confbridge/conf_state_multi_marked.c: app_confbridge:
	  Don't play leader leaving prompt if no one will hear it Consider
	  the following: - A marked user in a conference - One or more
	  end_marked only users in the conference When the marked users
	  leaves, we will be in the conf_state_multi_marked state. This
	  currently will traverse the users, kicking out any who have the
	  end_marked flags. When they are kicked, a full ast_bridge_remove
	  is immediately called on the channels. At this time, we also
	  unilaterally set the need_prompt flag. When the need_prompt flag
	  is set, we then playback a sound to the bridge informing everyone
	  that the leader has left; however, no one is left in the bridge.
	  This causes some odd behaviour for the end_marked users - they
	  are stuck waiting for the bridge to be unlocked. This results in
	  them waiting for 5 or 6 seconds of dead air before hearing that
	  they've been kicked. Unfortunately, we do have to keep the bridge
	  locked while we're playing back the 'leader-has-left' prompt. If
	  there are any wait_marked users in the conference, this behaviour
	  can't be easily changed - but we do make the case of the
	  end_marked users better with this patch. Review:
	  https://reviewboard.asterisk.org/r/4184/ ASTERISK-24522 #close
	  Reported by: Matt Jordan ........ Merged revisions 428077 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 428078 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-16 21:12 +0000 [r427979-428052]  Joshua Colp <jcolp@digium.com>

	* channels/chan_pjsip.c, /: chan_pjsip: Remove AOR check when
	  dialing and one is specified. The AOR value may contain the name
	  of an AOR or a full SIP URI. Checking if the AOR exists can't be
	  done as a result of this. ........ Merged revisions 428051 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_pjsip.c: chan_pjsip: Add additional log message
	  when an AOR is specified when dialing and it does not exist.
	  ASTERISK-24499 #close Reported by: Rusty Newton ........ Merged
	  revisions 428007 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_motif.c, channels/chan_pjsip.c, /: chan_motif /
	  chan_pjsip: Fix incorrect "No such module" messages when
	  reloading. For chan_motif the direct return value of the
	  underlying config options framework was passed back. This can
	  relay various states which the module loader would not interpet
	  as success. It has been changed so only on errors will it report
	  back an error. For chan_pjsip the code implemented a dummy reload
	  function which always returned an error. This has been removed as
	  all configuration is held within res_pjsip instead.
	  ASTERISK-23651 #close Reported by: Rusty Newton ........ Merged
	  revisions 427981 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Enforce
	  requirements for session timer minimum expiration period and
	  normal expiration period. This change enforces the requirements
	  in PJSIP for session timer configuration. The minimum expiration
	  period must be 90 seconds or higher and the normal expiration
	  period can not be lower than the minimum expiration period. If
	  either of these were done the code would assert at session setup
	  time. ASTERISK-24336 #close Reported by: Leon Rowland ........
	  Merged revisions 427978 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-15 16:56 +0000 [r427927-427954]  Matthew Jordan <mjordan@digium.com>

	* cel/cel_odbc.c, /: cel/cel_odbc: Provide microsecond precision in
	  'eventtime' column when possible This patch adds microsecond
	  precision when inserting a CEL record into a table with an
	  "eventtime" column of type timestamp, instead of second
	  precision. The documentation (configs/cel_odbc.conf.sample) was
	  already saying that the eventtime column included microseconds
	  precision, but that was not the case. Also, without this patch,
	  if you had a table with an "eventtime" column of type varchar,
	  you had millisecond precision. With this patch, you also get
	  microsecond precision in this case. Review:
	  https://reviewboard.asterisk.org/r/3980 ASTERISK-24283 #close
	  Reported by: Etienne Lessard patches:
	  cel_odbc_time_precision.patch uploaded by Etienne Lessard
	  (License 6394) ........ Merged revisions 427952 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427953 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* tests/test_cel.c: tests/test_cel: Unlock bridge on off nominal
	  paths If the test fails due to memory allocation errors, we may
	  as well attempt to unlock the bridge on the way out.

2014-11-14 17:45 +0000 [r427902]  Jonathan Rose <jrose@digium.com>

	* configs/samples/cdr.conf.sample, main/cdr.c, /: Documentation:
	  Revise explanation of cdr.conf option 'Unanswered' ASTERISK-24279
	  #close Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/4109/ ........ Merged
	  revisions 427901 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-14 15:51 +0000 [r427876]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, main/stun.c: stun: correct attribute string padding to match
	  rfc When sending the USERNAME attribute in an RTP STUN response,
	  the implementation in append_attr_string passed the actual
	  length, instead of padding it up to a multiple of four bytes as
	  required by the RFC 3489. This change adds separate variables for
	  the string and padded attributed lengths, and performs padding
	  correctly. Reported by: Thomas Arimont Review:
	  https://reviewboard.asterisk.org/r/4139/ ........ Merged
	  revisions 427874 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427875 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-14 15:24 +0000 [r427870]  Mark Michelson <mmichelson@digium.com>

	* main/bridge.c, main/bridge_basic.c,
	  include/asterisk/stasis_bridges.h, tests/test_cel.c,
	  apps/app_queue.c, main/cel.c, main/stasis_bridges.c, /,
	  res/stasis/app.c: Fix race condition that could result in ARI
	  transfer messages not being sent. From reviewboard: "During blind
	  transfer testing, it was noticed that tests were failing
	  occasionally because the ARI blind transfer event was not being
	  sent. After investigating, I detected a race condition in the
	  blind transfer code. When blind transferring a single channel,
	  the actual transfer operation (i.e. removing the transferee from
	  the bridge and directing them to the proper dialplan location) is
	  queued onto the transferee bridge channel. After queuing the
	  transfer operation, the blind transfer Stasis message is
	  published. At the time of publication, snapshots of the channels
	  and bridge involved are created. The ARI subscriber to the blind
	  transfer Stasis message then attempts to determine if the bridge
	  or any of the involved channels are subscribed to by ARI
	  applications. If so, then the blind transfer message is sent to
	  the applications. The way that the ARI blind transfer message
	  handler works is to first see if the transferer channel is
	  subscribed to. If not, then iterate over all the channel IDs in
	  the bridge snapshot and determine if any of those are subscribed
	  to. In the test we were running, the lone transferee channel was
	  subscribed to, so an ARI event should have been sent to our
	  application. Occasionally, though, the bridge snapshot did not
	  have any channels IDs on it at all. Why? The problem is that
	  since the blind transfer operation is handled by a separate
	  thread, it is possible that the transfer will have completed and
	  the channels removed from the bridge before we publish the blind
	  transfer Stasis message. Since the blind transfer has completed,
	  the bridge on which the transfer occurred no longer has any
	  channels on it, so the resulting bridge snapshot has no channels
	  on it. Through investigation of the code, I found that attended
	  transfers can have this issue too for the case where a transferee
	  is transferred to an application." The fix employed here is to
	  decouple the creation of snapshots for the transfer messages from
	  the publication of the transfer messages. This way, snapshots can
	  be created to reflect what they are at the time of the transfer
	  operation. Review: https://reviewboard.asterisk.org/r/4135
	  ........ Merged revisions 427848 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-14 14:56 +0000 [r427846]  Joshua Colp <jcolp@digium.com>

	* /, apps/confbridge/conf_state_multi_marked.c: app_confbridge:
	  Play "leader has left" sound even when musiconhold is enabled.
	  Currently if the leader of a conference bridge leaves any
	  participant that has musiconhold enabled will not hear the
	  "leader has left" sound. This is because musiconhold is started
	  and THEN the sound is played. This change makes it so that the
	  sound is played and THEN musiconhold is started. This provides a
	  better experience for users as they may not have known previously
	  why they went back to musiconhold. Review:
	  https://reviewboard.asterisk.org/r/4177/ ........ Merged
	  revisions 427844 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427845 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-14 14:24 +0000 [r427841]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
	  include/asterisk/res_pjsip.h: Fix race condition where duplicated
	  requests may be handled by multiple threads. This is the Asterisk
	  13 version of the patch. The main difference is in the pubsub
	  code since it was completely refactored between Asterisk 12 and
	  13. Review: https://reviewboard.asterisk.org/r/4175

2014-11-13 22:03 +0000 [r427815]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_pjsip_outbound_registration.c: res_pjsip_exten_state:
	  PJSIPShowSubscriptionsInbound causes crash When using a
	  non-default sorcery wizard (in this instance realtime) for
	  outbound registrations and after adding in an appropriate call to
	  ast_sorcery_apply_config() (since it is missing) Asterisk will
	  crash after a stack overflow occurs due to the code infinitely
	  recursing. The fix entails removing the outbound registration
	  state dependency from the outbound registration sorcery object
	  and instead keeping an in memory container that can be used to
	  lookup the state when needed. ASTERISK-24514 Reported by: Mark
	  Michelson Review: https://reviewboard.asterisk.org/r/4164/
	  ........ Merged revisions 427814 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-13 15:44 +0000 [r427789]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/stasis.h, include/asterisk/stasis_app.h,
	  res/stasis/app.h, res/res_stasis.c, /, res/stasis/app.c,
	  res/stasis/stasis_bridge.c: Stasis: Fix StasisEnd message
	  ordering This change corrects message ordering in cases where a
	  channel-related message can be received after a Stasis/ARI
	  application has received the StasisEnd message. The StasisEnd
	  message was being passed to applications directly without waiting
	  for the channel topic to empty. As a result of this fix, other
	  bugs were also identified and fixed: * StasisStart messages were
	  also being sent directly to apps and are now routed through the
	  stasis message bus properly * Masquerade monitor datastores were
	  being removed at the incorrect time in some cases and were
	  causing StasisEnd messages to not be sent * General refactoring
	  where necessary for the above * Unsubscription on StasisEnd
	  timing changes to prevent additional messages from following the
	  StasisEnd when they shouldn't A channel sanitization function
	  pointer was added to reduce processing and AO2 lookups. Review:
	  https://reviewboard.asterisk.org/r/4163/ ASTERISK-24501 #close
	  Reported by: Matt Jordan ........ Merged revisions 427788 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-13 00:00 +0000 [r427763]  Matthew Jordan <mjordan@digium.com>

	* main/rtp_engine.c, /: main/rtp_engine: Fix crash when processing
	  more than one RTCP report info block Asterisk - in
	  res_rtp_asterisk - only understands a single RTCP report info
	  block. When the RTCP information was refactored in the RTP Engine
	  to be pushed over the Stasis message bus, I put in the hooks into
	  the engine to handle multiple RTCP report info blocks, in the
	  hope that a future RTP implementation would be able to provide
	  that data. Unfortunately, res_rtp_asterisk has a tendency to
	  "lie": (1) It will send RTCP reports with a
	  reception_report_count greater than 1 (which is pulled directly
	  from the RTCP packet itself, so that part is correct) (2) It will
	  only provide a single report block When the rtp_engine goes to
	  convert this to a JSON blob, hilarity ensues as it looks for a
	  report block that doesn't exist. This patch updates the
	  rtp_engine to be a bit more skeptical about what it is presented
	  with. While this could also be fixed in res_rtp_asterisk, this
	  patch prefers to fix it in the engine for two reasons: (1) The
	  engine is designed to work with multiple RTP implementation, and
	  hence having it be more robust is a good thing (tm) (2)
	  res_rtp_asterisk's handling of RTCP information is "fun". It
	  should report the correct reception_report_count; ideally it
	  should also be giving us all of the blocks - but it is
	  *definitely* not designed to do that. Going down that road is a
	  non-trivial effort. Review:
	  https://reviewboard.asterisk.org/r/4158/ ASTERISK-24489 #close
	  Reported by: Gregory Malsack Tested by: Gregory Malsack
	  ASTERISK-24498 #close Reported by: Beppo Mazzucato Tested by:
	  Beppo Maazucato ........ Merged revisions 427762 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-12 20:39 +0000 [r427737]  Corey Farrell <git@cfware.com>

	* /, main/features.c: Fix leak in AMI Action Bridge Add missing
	  reference cleanup for newly created bridge. ASTERISK-24281
	  Reported by: Stefan Engström Review:
	  https://reviewboard.asterisk.org/r/4154/ ........ Merged
	  revisions 427736 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-12 16:12 +0000 [r427711]  Joshua Colp <jcolp@digium.com>

	* main/pbx.c, /: pbx: Fix off-nominal case where a freed extension
	  may still be used. If during the operation of adding an extension
	  a priority is added but fails it is possible for the extension to
	  be freed but still exist in the PBX core. If this occurs
	  subsequent lookups may try to access the extension and end up in
	  freed memory. This change removes the extension from the PBX core
	  when the priority addition fails and then frees the extension.
	  ASTERISK-24444 #close Reported by: Leandro Dardini Review:
	  https://reviewboard.asterisk.org/r/4162/ ........ Merged
	  revisions 427709 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427710 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-12 13:46 +0000 [r427684]  Corey Farrell <git@cfware.com>

	* codecs/ilbc, /, tests, codecs/speex, apps/confbridge,
	  Makefile.rules: Fix compiler error when using ./configure
	  --enable-dev-mode --enable-coverage When DONT_OPTIMIZE is enabled
	  with dev-mode, it causes a shadow compilation to be done with
	  output to /dev/null. This can cause errors with coverage when GCC
	  attempts to write to /dev/null.gcno. This change disables
	  coverage for the shadow compilation. ASTERISK-24502 #close
	  Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4151/ ........ Merged
	  revisions 427682 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427683 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-09 08:00 +0000 [r427643]  Corey Farrell <git@cfware.com>

	* main/manager.c, /: manager: Fix HTTP connection reference leaks.
	  Fix reference leak that happens if (session && !blastaway).
	  ASTERISK-24505 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4153/ ........ Merged
	  revisions 427641 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427642 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-09 00:38 +0000 [r427583-427615]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_mgcp.c, /: channels/chan_mgcp: Fix regression which
	  causes gateways to be skipped In r227276, a while loop was turned
	  into a for loop. Unfortunately, a portion of the while loop was
	  left in the code such that, when a static gateway is encountered
	  in the list of MGCP gateways, the next gateway would be skipped.
	  At best, we would simply flip past a gateway; at worst, this
	  could lead to a crash. ASTERISK-24500 #close Reported by: Xavier
	  Hienne patches: chan_mgcp.patch uploaded by Xavier Hienne
	  (License 6657) ........ Merged revisions 427613 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427614 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, addons/chan_mobile.c: addons/chan_mobile: Increase buffer size
	  of UCS2 encoded SMS messages When UCS2 character encoding is
	  used, one symbol in national language can be expanded to 4 bytes.
	  The current buffer used for receiving message in do_monitor_phone
	  is 256 bytes, which is not large enough for incoming messages.
	  For example: * AT+CMGR phone response prefix '+CMGR: "REC
	  UNREAD","+7**********",,"14/10/29,13:31:39+12"\r\n' - 60 bytes *
	  SMS body with UCS2 encoding (max) - 280 bytes * AT+CMGR phone
	  response suffix '\r\n\r\nOK\r\n' - 8 bytes * Terminating null
	  character - 1 byte This results in a needed buffer size of 349
	  bytes. Hence, this patch opts for a 350 byte buffer.
	  ASTERISK-24468 #close Reported by: Dmitriy Bubnov patches:
	  chan_mobile-1_8.diff uploaded by Dmitriy Bubnov (License 6651)
	  chan_mobile-trunk.diff uploaded by Dmitry Bubnov (License 6651)
	  ........ Merged revisions 427607 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427610 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_voicemail.c: app_voicemail: Fix enhancement that allowed
	  multiple recipients in To: header An issue existed in r420577,
	  which added multiple recipients to voicemail emails. The patch,
	  when looking at the intended recipients, looked ahead for the '|'
	  character inside a while loop which already had pulled out the
	  appropriate field parsing on the '|' character. This would cause
	  it to skip the recipients. This patch fixes it such that it
	  relies completely on the while loop to parse through the e-mail
	  fields. Note that the original author of the patch looked at this
	  fix and approved it. ASTERISK-24250 #close Reported by: abelbeck
	  patches: voicemail-420577-to-comma-fix.diff uploaded by abelbeck
	  (License 5903)

	* /, bridges/bridge_native_rtp.c: bridge_native_rtp: Fix T.38
	  issues with remote bridges After r425242 the
	  fax/sip/directmedia_reinvite_t38 test started failing due to the
	  surviving channel not being re-INVITEd back from T.38 to audio.
	  This patch fixes that bug - a deeper explanation of what happened
	  follows. When two RTP channels are in a native bridge, the
	  bridging layer will investigate each via the get_rtp_info glue
	  callback. This callback returns the native bridge preference of
	  the channel *at that moment in time* (that part is key). At
	  different points during the bridging, the native bridging layer
	  will inform the RTP capable channels of the status of the bridge
	  via the update_peer glue callback. In a T.38 scenario with audio
	  direct media, the sequence of events will often look like the
	  following: * SIP/A and SIP/B both have audio and enter a native
	  bridge. * Asterisk re-INVITEs audio between SIP/A and SIP/B
	  directly (via an update_peer callback). * SIP/A sends a re-INVITE
	  to T.38, which causes Asterisk to send a re-INVITE to T.38 to
	  SIP/B. Assuming everyone 200 OKs the process, the UDPTL stack
	  receives UDPTL packets in Asterisk from both endpoints. From the
	  perspective of the channels, we are now in a local bridge for
	  T.38, even though we are technically still in a remote bridge in
	  bridge_native_rtp. (YAY!) * When one side hangs up,
	  bridge_native_rtp is told to stop bridging. It then re-evaluates
	  the channels and asks them how they are bridged - and since T.38
	  is enabled, they reply with a Local bridge (which is correct),
	  but is wrong because the audio portion is still technically in a
	  remote bridge. * Asterisk releases the surviving channel, whose
	  audio is *not* re-INVITED back to Asterisk as bridge_native_rtp
	  incorrectly assumes that it was in a local bridge. Ironically,
	  prior to r425242, this used to work mostly due to a fluke in the
	  bridging layer. The purpose of the get_rtp_info callback
	  shouldn't be modified: it should tell the bridging layer what
	  kind of bridge the channel prefers at that moment in time. If you
	  have T.38 enabled, that *must* be a local bridge, as the UDPTPL
	  stack must be in the media path. As such, this patch does not
	  modify that part of the code. However, we have to tell the
	  channels to re-evaluate themselves when they come out of a native
	  bridge, since we can no longer trust the get_rtp_info callbacks
	  when the native bridge is being stopped. Something else may have
	  changed in the channels, and they may now be lying to us. As
	  such, this patch makes it so that we unilaterally tell the
	  channels that they are no longer bridged via the update_peer
	  callback. This is actually what the channels expect anyway: code
	  in both chan_sip and chan_pjsip's callbacks look at the T.38
	  state and - if they were in T.38 - send a re-INVITE to get the
	  audio back to Asterisk. Review:
	  https://reviewboard.asterisk.org/r/4157/ ........ Merged
	  revisions 427582 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-08 18:17 +0000 [r427557]  Corey Farrell <git@cfware.com>

	* /, channels/chan_console.c: chan_console: Fix reference leaks to
	  pvt. Fix a bunch of calls to get_active_pvt where the reference
	  is never released. ASTERISK-24504 #close Reported by: Corey
	  Farrell Review: https://reviewboard.asterisk.org/r/4152/ ........
	  Merged revisions 427554 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427555 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-06 19:22 +0000 [r427494-427512]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_agent_pool.c, /: app_agent_pool: Made agent alert
	  interruptable by DTMF. Made agent able to interrupt the alerting
	  beep playback with DTMF. Any digit can interrupt if the call does
	  not need to be acknowledged. Only the first digit of the
	  acknowledgement can interrupt if the call needs to be
	  acknowledged. The agent interrupting the alerting playback builds
	  on the ASTERISK-24447 patch because it knows what digit
	  interrupted the playback and needs to be able to pass that digit
	  to the DTMF hook digit collection code. ASTERISK-24257 #close
	  Reported by: Steve Pitts Review:
	  https://reviewboard.asterisk.org/r/4123/ ........ Merged
	  revisions 427508 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, include/asterisk/bridge_channel.h, main/bridge_channel.c:
	  Bridge DTMF hooks: Made audio pass from the bridge while waiting
	  for more matching digits. * Made collecting DTMF digits for the
	  DTMF feature hooks pass frames from the bridge. * Made collecting
	  DTMF digits possible by other bridge hooks if there is a need.
	  ASTERISK-24447 #close Reported by: Richard Mudgett Review:
	  https://reviewboard.asterisk.org/r/4123/ ........ Merged
	  revisions 427493 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-06 18:20 +0000 [r427491]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/pjsip_distributor.c: res_pjsip: Ensure in-dialog
	  responses have an endpoint associated. When handling incoming
	  messages we determine if it is associated with a dialog. If so we
	  use that to determine what serializer and endpoint to use for the
	  message. Previously this would pass the endpoint to the endpoint
	  lookup module to actually place the endpoint completely on the
	  message. For in-dialog responses, however, this did not occur as
	  dialog processing took over and the endpoint lookup did not
	  occur. This change just places the endpoint in the expected spot
	  immediately instead of relying on the endpoint lookup module.
	  In-dialog responses thus have the expected endpoint. AST-1459
	  #close Review: https://reviewboard.asterisk.org/r/4146/ ........
	  Merged revisions 427490 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-06 12:13 +0000 [r427384-427466]  Corey Farrell <git@cfware.com>

	* main/file.c, /: main/file.c: fix possible extra ast_module_unref
	  to format modules. fn_wrapper only adds a reference to the
	  format's module if the file was able to be opened. If not this
	  causes an unmatched ast_module_unref in filestream_destructor.
	  Move ast_module_ref to get_stream. ASTERISK-24492 #close Reported
	  by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4149/ ........ Merged
	  revisions 427464 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427465 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_hep.c, /: res_hep: fix major leak that occurs when config
	  is missing or enabled=no. Add missing unreference in
	  hepv3_send_packet. ASTERISK-24491 #close Reported by: Zane Conkle
	  Tested by: Zane Conkle Review:
	  https://reviewboard.asterisk.org/r/4150/ ........ Merged
	  revisions 427400 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/utils.c, include/asterisk/stringfields.h: Fix unintential
	  memory retention in stringfields. * Fix missing / unreachable
	  calls to __ast_string_field_release_active. * Reset pool->used to
	  zero when the current pool->active reaches zero. ASTERISK-24307
	  #close Reported by: Etienne Lessard Tested by: ibercom, Etienne
	  Lessard Review: https://reviewboard.asterisk.org/r/4114/ ........
	  Merged revisions 427380 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 427381 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427382 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-06 02:37 +0000 [r427356]  George Joseph <george.joseph@fairview5.com>

	* tests/test_strings.c, /: test_strings: Remove string tests that
	  exercise asserts. Since unit tests are run with DO_CRASH, those
	  tests were causing the test to fail. Tested-by: George Joseph
	  ........ Merged revisions 427354 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427355 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-05 19:52 +0000 [r427334]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip/config_system.c, configs/samples/pjsip.conf.sample,
	  res/res_pjsip.c: Make the disable_tcp_switch PJSIP system object
	  enabled by default. Testing has shown repeatedly that PJSIP's
	  default behavior of switching automatically to TCP for large
	  messages can cause issues. The most common issues are that
	  devices that we are communicating with do not handle the switch
	  to TCP gracefully, thus causing situations such as broken calls
	  or broken subscriptions. Now, in order to have this behavior
	  happen, you must opt into it. The sample file has been updated to
	  warn that enabling the TCP switch behavior may cause issues for
	  you, so use at your own risk.

2014-11-05 12:18 +0000 [r427303]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Add logging
	  during startup to aid debugging if local DNS is misbehaving. This
	  change adds a bit of logging so if the local DNS is misbehaving
	  it is easier to track down what is going on and where Asterisk
	  may be hanging. ASTERISK-24438 #close Reported by: Melissa
	  Shepherd Review: https://reviewboard.asterisk.org/r/4148/
	  ........ Merged revisions 427300 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-05 00:15 +0000 [r427228-427276]  George Joseph <george.joseph@fairview5.com>

	* pbx/pbx_config.c, main/config.c, tests/test_strings.c,
	  include/asterisk/utils.h, /, main/utils.c: config: Make
	  text_file_save and 'dialplan save' escape semicolons in values.
	  When a config file is read, an unescaped semicolon signals
	  comments which are stripped from the value before it's stored.
	  Escaped semicolons are then unescaped and become part of the
	  value. Both of these behaviors are normal and expected. When the
	  config is serialized either by 'dialplan save' or
	  AMI/UpdateConfig however, the now unescaped semicolons are
	  written as-is. If you actually reload the file just saved, the
	  unescaped semicolons are now treated as start of comments. Since
	  true comments are stripped on read, any semicolons in
	  ast_variable.value must have been escaped originally. This patch
	  re-escapes semicolons in ast_variable.values before they're
	  written to file either by 'dialplan save' or
	  config/ast_config_text_file_save which is called by
	  AMI/UpdateConfig. I also fixed a few pre-existing formatting
	  issues nearby in pbx_config.c Tested-by: George Joseph
	  ASTERISK-20127 #close Review:
	  https://reviewboard.asterisk.org/r/4132/ ........ Merged
	  revisions 427275 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/config.c, /: config: BUG: Restore ability for non-templ to
	  be used as base objs in config. My recent refactor of config.c
	  accidentally removed the capability for an object to inherit from
	  a non-template object. This patch restores the capability to
	  inherit from both template and non-template objects. Tested-by:
	  George Joseph Reported-by: Scott Griepentrog ASTERISK-24487
	  #close Review: https://reviewboard.asterisk.org/r/4147/ ........
	  Merged revisions 427227 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-04 19:44 +0000 [r427181-427204]  Corey Farrell <git@cfware.com>

	* funcs/func_talkdetect.c, /: func_talkdetect: Fix stasis message
	  leak in audiohook callback. ASTERISK-24482 #close Reported by:
	  Corey Farrell Review: https://reviewboard.asterisk.org/r/4142/
	  ........ Merged revisions 427203 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_http_websocket.c: res_http_websockets: Fix extra unref
	  of module In websocket_add_protocol_internal is used to add the
	  "echo" protocol, but ast_websocket_remove_protocol is used to
	  remove it. This causes an extra call to ast_module_unref.
	  ASTERISK-24480 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4140/ ........ Merged
	  revisions 427200 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/app.c: Fix crash caused by merge error on review 4138 When
	  merging from 12 to 13 there were conflicts, I mistakenly had the
	  loop run ast_closestream(others[0]) when it should be
	  ast_closestream(others[x]).

2014-11-03 18:15 +0000 [r427130]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_pjsip/config_system.c, UPGRADE.txt,
	  configs/samples/pjsip.conf.sample, res/res_pjsip.c: res_pjsip:
	  Add disable_tcp_switch option. When a packet exceeds the MTU,
	  pjproject will switch from UDP to TCP. In some circumstances (on
	  some networks), this can cause some issues with messages not
	  getting sent to the correct destination - and can also cause
	  connections to get dropped due to quirks in pjproject deciding to
	  terminate TCP connections with no messages. While fixing the
	  routing/messaging issues is important, having a configuration
	  option in Asterisk that tells pjproject to not switch over to TCP
	  would be useful. That way, if some glitch is discovered on some
	  other network/site, we can at least disable the behavior until a
	  fix is put into place. AFS-197 #close Review:
	  https://reviewboard.asterisk.org/r/4137/ ........ Merged
	  revisions 427129 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-03 02:34 +0000 [r427021-427089]  Corey Farrell <git@cfware.com>

	* apps/app_voicemail.c, /: Fix compile error caused by review 4138
	  There is no procedure called ast_closeframe, fix code to use
	  ast_closestream. Reported By: Matt Jordan ........ Merged
	  revisions 427087 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427088 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/app.c, apps/app_voicemail.c, /: Fix ast_writestream leaks
	  Fix cleanup in __ast_play_and_record where others[x] may be
	  leaked. This was caught where prepend != NULL && outmsg != NULL,
	  once realfile[x] == NULL any further others[x] would be leaked. A
	  cleanup block was also added for prepend != NULL && outmsg ==
	  NULL. 11+: Fix leak of ast_writestream recording_fs in
	  app_voicemail:leave_voicemail. ASTERISK-24476 #close Reported by:
	  Corey Farrell Review: https://reviewboard.asterisk.org/r/4138/
	  ........ Merged revisions 427023 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 427024 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427025 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/abstract_jb.c: func_jitterbuffer: fix frame leaks. Fix
	  code paths where it is possible for frames to leak. Fix
	  uninitialized variable in jb_get_fixed and jb_get_adaptive.
	  ASTERISK-22409 #related Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4128/ ........ Merged
	  revisions 427019 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 427020 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-11-02 01:01 +0000 [r426996]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_stasis.c: res/res_stasis: Fix crash on module unload
	  while performing operation When the res_stasis module is
	  unloaded, it will dispose of the apps_registry container. This is
	  a problem if an ARI operation is in flight that attempts to use
	  the registry, as the shutdown occurs in a separate thread. This
	  patch adds some sanity checks to the various routines that access
	  the registry which cause the operations to fail if the
	  apps_registry does not exist. Crash caught by the Asterisk Test
	  Suite. ........ Merged revisions 426995 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-31 16:50 +0000 [r426934]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* Makefile, /: install init.d files on GNU/kFreeBSD Review:
	  https://reviewboard.asterisk.org/r/4118/ ........ Merged
	  revisions 426926 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 426927 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426933 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-31 16:40 +0000 [r426924-426930]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, configs/samples/pjsip.conf.sample, res/res_pjsip.c: pjsip:
	  clarify tls cert and key file usage A question arose as to
	  whether a .pem file could be provided in place of the .crt and
	  .key files in a PJSIP TLS configuration. I tested this and
	  discovered that although a cert will be read from the pem file, a
	  key will not, and thus the priv_key_file entry is still required.
	  This update to the fine documentation clarifies the option usage.
	  AST-1448 #close Review: https://reviewboard.asterisk.org/r/4129/
	  Reported by: John Bigelow ........ Merged revisions 426928 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_outbound_registration.c: pjsip: Handle outbound
	  unregister correctly This updates the status of the outbound
	  registration to reflect when it has been unregistered. Since the
	  registration is unregistered but is not stopped, the registration
	  schedule remains active as before. The patch also updates the
	  documentation of both the AMI and CLI commands. ASTERISK-24411
	  #close Review: https://reviewboard.asterisk.org/r/4119/ Reported
	  by: John Bigelow patches: unregister-patch1.txt uploaded by John
	  Bigelow (License 5091) ........ Merged revisions 426923 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-31 03:26 +0000 [r426865]  Matthew Jordan <mjordan@digium.com>

	* /, channels/sip/reqresp_parser.c,
	  channels/sip/include/reqresp_parser.h:
	  channels/sip/reqresp_parser: Fix unit tests for r426594 When
	  r426594 was made, it did not take into account a unit test that
	  verified that the function properly populated the unsupported
	  buffer. The function would previously memset the buffer if it
	  detected it had any contents; since this function can now be
	  called iteratively on successive headers, the unit tests would
	  now fail. This patch updates the unit tests to reset the buffer
	  themselves between successive calls, and updates the
	  documentation of the function to note that this is now required.
	  ........ Merged revisions 426858 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 426860 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426863 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-31 03:08 +0000 [r426803-426833]  Corey Farrell <git@cfware.com>

	* contrib/Makefile (added), Makefile, /: REF_DEBUG: Install
	  refcounter.py to $(ASTDATADIR)/scripts This change ensures
	  refcounter.py is installed to a place where it can be found by
	  the Asterisk testsuite if REF_DEBUG is enabled. ASTERISK-24432
	  #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4094/ ........ Merged
	  revisions 426830 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 426831 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426832 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/app_queue.c: app_queue: fix a couple leaks to struct
	  call_queue in set_member_value set_member_value has a couple
	  leaks to references in the variable q found through testsuite
	  tests/queues/set_penalty. Also remove the REF_DEBUG_ONLY_QUEUES
	  compiler declaration, this is no longer possible with the updated
	  REF_DEBUG code. ASTERISK-24466 #close Reported by: Corey Farrell
	  Review: https://reviewboard.asterisk.org/r/4125/ ........ Merged
	  revisions 426805 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426806 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/audiohook.c: audiohooks: Clean references to formats Cleanup
	  references to in_translate[x].format and out_translate[x].format
	  in ast_audiohook_detach_list. ASTERISK-24465 #close Reported by:
	  Corey Farrell Review: https://reviewboard.asterisk.org/r/4124/

2014-10-30 21:13 +0000 [r426757-426780]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_exten_state.c, /: res_pjsip_exten_state:
	  PJSIPShowSubscriptionsInbound causes crash Currently, it is
	  possible for some subscriptions to get into a NULL state. When
	  this occurs and the PJSIPShowSubscriptionsInbound ami action is
	  issued and a device is subscribed for extension state then the
	  associated subscription state object can't be located. The code
	  then attempts to dereference a NULL object. Added a NULL check to
	  avoid the problem. Reported by: John Bigelow ........ Merged
	  revisions 426779 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip/pjsip_options.c, /: res_pjsip: incorrect qualify
	  statistics after disabling for contact When removing the
	  qualify_frequency from an AoR or a contact the statistics shown
	  when issuing "pjsip show aors" from the CLI are incorrect. This
	  patch deletes the contact's status object from sorcery,
	  disassociating it from the contact, if the qualify_freqency is
	  removed from configuration. ASTERISK-24462 #close Reported by:
	  Mark Michelson Review: https://reviewboard.asterisk.org/r/4116/
	  ........ Merged revisions 426755 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-30 09:20 +0000 [r426702]  Walter Doekes <walter+asterisk@wjd.nu>

	* apps/app_voicemail.c, /: app_voicemail: Fix unchecked bounds of
	  myArray in IMAP_STORAGE. In update_messages_by_imapuser(),
	  messages were appended to a finite array which resulted in a
	  crash when an IMAP mailbox contained more than 256 entries. This
	  memory is now dynamically increased as needed. Observe that this
	  patch adds a bunch of XXX's to questionable code. See the review
	  (url below) for more information. ASTERISK-24190 #close Reported
	  by: Nick Adams Tested by: Nick Adams Review:
	  https://reviewboard.asterisk.org/r/4126/ ........ Merged
	  revisions 426691 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 426692 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426696 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-30 06:09 +0000 [r426668]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Add additional checks for NULL
	  pointers to fix several crashes reported. ASTERISK-24304 #close
	  Reported by: dhanapathy sathya ........ Merged revisions 426666
	  from http://svn.asterisk.org/svn/asterisk/branches/11 ........
	  Merged revisions 426667 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-30 01:59 +0000 [r426597-426602]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: channels/chan_sip: Add improved support
	  for 4xx error codes This patch adds support for 414, 493, 479,
	  and a stray 400 response in REGISTER response handling. This
	  helps interoperability in a number of scenarios. Review:
	  https://reviewboard.asterisk.org/r/3437 patches: rb3437.patch
	  uploaded by oej (License 5267) ........ Merged revisions 426599
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 426600 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426601 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/sip/reqresp_parser.c, /, channels/chan_sip.c:
	  channels/chan_sip: Support mutltiple Supported and Required
	  headers A SIP request may contain multiple Supported: and
	  Required: headers. Currently, chan_sip only parses the first
	  Supported/Required header it finds. This patch adds support for
	  multiple Supported/Required headers for INVITE requests. Review:
	  https://reviewboard.asterisk.org/r/2478 ASTERISK-21721 #close
	  Reported by: Olle Johansson patches: rb2478.patch uploaded by oej
	  (License 5267) ........ Merged revisions 426594 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 426595 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426596 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-29 10:33 +0000 [r426570]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* channels/chan_phone.c: Fix building chan_phone on big endian
	  systems A left over from the formats conversion (Corey Farrell).
	  ASTERISK-24458 #close Review:
	  https://reviewboard.asterisk.org/r/4117/

2014-10-28 21:26 +0000 [r426552]  Richard Mudgett <rmudgett@digium.com>

	* /, bridges/bridge_builtin_features.c: bridge_builtin_features:
	  Add missing channel locks around
	  ast_get_chan_features_general_config(). The feature_automonitor()
	  and feature_automixmonitor() functions were not locking the
	  channel around ast_get_chan_features_general_config(). Accessing
	  the channel datastore list without the channel locked is a good
	  way to corrupt the list or follow the pointer chain into
	  oblivion. ........ Merged revisions 426531 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-28 21:05 +0000 [r426525-426529]  Corey Farrell <git@cfware.com>

	* /, res/res_fax.c: res_fax: Resolve T38 gateway frame leak. When
	  frames are translated by a fax gateway they need to be freed. The
	  existing call to ast_frfree was unreachable. This change
	  reorganizes fax_gateway_framehook to ensure that ast_frfree is
	  called when needed. ASTERISK-24457 #close Reported by: Corey
	  Farrell Review: https://reviewboard.asterisk.org/r/4115/ ........
	  Merged revisions 426527 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426528 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/manager.c, /: manager: Unsubscribe from acl_change_sub at
	  shutdown. ASTERISK-24453 #close Reported by: Corey Farrell
	  Review: https://reviewboard.asterisk.org/r/4110/ ........ Merged
	  revisions 426524 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-28 18:09 +0000 [r426459]  mdavenport <mdavenport@localhost>:

	* configs/samples/manager.conf.sample: ASTERISK-23512, correct
	  inaccurate comment in manager.conf.sample

2014-10-28 16:40 +0000 [r426368-426432]  Matthew Jordan <mjordan@digium.com>

	* /, main/bridge.c: main/bridge: Destroy features struct on off
	  nominal path during bridge impart When a channel is imparted to a
	  bridge, the invocation of the function may provide an
	  ast_bridge_features struct. Upon passing this to
	  ast_bridge_impart, the caller must assume that ownership has
	  passed to the function, as in all paths the function destroys the
	  struct prior to returning (as its purpose is to configure the
	  behavior of the channel while in the bridge). On one off nominal
	  path - where the channel already has a PBX thread - the struct
	  was not being destroyed. This patch fixes that glitch.
	  ASTERISK-24437 #close Reported by: Scott Griepentrog ........
	  Merged revisions 426431 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/manager.c, /: main/manager: Fix typo in AMI event
	  documentation of "OriginateResponse" The parameter name is
	  "Response", not "Resonse". ASTERISK-24430 #close Reported by:
	  Dafi Ni ........ Merged revisions 426366 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426367 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-28 14:56 +0000 [r426294-426362]  mdavenport <mdavenport@localhost>:

	* res/res_agi.c: ASTERISK-24323, fix bug in documentation of AGI
	  STREAM FILE CONTROL

	* configs/samples/extensions.conf.sample: ASTERISK-24419, fix
	  incorrect syntax for setting language in extensions.conf.sample

2014-10-28 11:20 +0000 [r426252-426266]  Corey Farrell <git@cfware.com>

	* apps/app_queue.c, /: app_queue: Cleanup ao2_iterator Clean
	  ao2_iterator, resolving reference leak to queue members.
	  ASTERISK-24454 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4111/ ........ Merged
	  revisions 426255 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426260 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* funcs/func_cdr.c: func_cdr: Fix CDR_PROP payload leak Remove
	  duplicate allocation of payload, preventing leak. ASTERISK-24455
	  #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4113/

2014-10-27 17:54 +0000 [r426234]  Sean Bright <sean@malleable.com>

	* build_tools/menuselect-deps.in, configure,
	  include/asterisk/autoconfig.h.in, configure.ac, makeopts.in:
	  configure: Add autoconf check for libopus. Because opus
	  transcoding support cannot be included in the standard Asterisk
	  distribution, a few codec_opus implementations have popped up. To
	  make it easier for people to drop in opus support in their own
	  installations, this patch adds configure checks for libopus.
	  Review: https://reviewboard.asterisk.org/r/4106/

2014-10-27 02:46 +0000 [r426143-426211]  Matthew Jordan <mjordan@digium.com>

	* res/res_http_websocket.c, /: res/res_http_websocket: Fix minor
	  nits found by wdoekes on r409681 When Moises committed the fixes
	  for WSS (which was a great patch), wdoekes had a few style nits
	  that were on the review that got missed. This patch resolves what
	  I *think* were all of the ones that were still on the review.
	  Thanks to both moy for the patch, and wdoekes for the reviews.
	  Review: https://reviewboard.asterisk.org/r/3248/ ........ Merged
	  revisions 426209 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426210 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_phoneprov.c: res/res_phoneprov: Fix crash on shutdown
	  caused by container cleanup In res_phoneprov, unloading the
	  module first destroys the http_routes container, followed by the
	  users. However, users may have a route in the http_routes
	  container; the validity of this container is not checked in the
	  users destructor. Hence, we hit an assert as the container has
	  already been set to NULL. This patch does two things: (1) It adds
	  a sanity check in the user destructor (because why not) (2) It
	  switches the order of destruction, so that users are disposed of
	  prior to the HTTP routes they may hold a reference to. Note that
	  this crash was caught by the Test Suite (go go testing!) ........
	  Merged revisions 426174 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_srtp.c, /: res/res_srtp: Fix include issue for libsrtp
	  1.5.0 In libsrtp 1.5.0, crypto_get_random is no longer resolved
	  simply by including srtp.h. Now, one must include crypto_kernel.h
	  as well. As it turns out, this header file has been provided by
	  the library since 2006, so this is a relatively benign change.
	  ASTERISK-24436 #close Reported by: Patrick Laimbock ........
	  Merged revisions 426140 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 426141 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 426142 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-24 15:17 +0000 [r426120]  Jonathan Rose <jrose@digium.com>

	* main/manager.c: Documentation: Improve documentation for
	  ExtensionStatus AMI events Review:
	  https://reviewboard.asterisk.org/r/4085/

2014-10-24  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 13.0.0 Released.

2014-10-22 21:27 +0000 [r426097]  Shaun Ruffell <sruffell@digium.com>

	* codecs/codec_dahdi.c: codec_dahdi: Cannot use struct
	  ast_translator.core_{src,src}_codec. This fixes a Segmentation
	  fault introduced in r419044 "media formats: re-architect handling
	  of media for performance improvements". The problem is that
	  codec_dahdi was using core_src_codec and core_dst_codec in the
	  ast_translator structure when these fields were never set. Now
	  instead of trying to map the new core codec descriptions to the
	  way DAHDI defines different codecs, we will store the DAHDI
	  specific formats in 'struct translator' directly so we can refer
	  to them without mapping. This also allows us to remove the
	  "global_format_map" structure, since we can now query the list of
	  translators directly to make sure we do not ever register a DAHDI
	  based translator for a specific path more than once and eliminate
	  the need to keep the list and the map in sync. ASTERISK-24435
	  #close Reported by: Marian Koniuszko Review:
	  https://reviewboard.asterisk.org/r/4105/

2014-10-21 17:47 +0000 [r426079]  Richard Mudgett <rmudgett@digium.com>

	* main/translate.c: translage.c: Fix regression when generating
	  translation path strings. Fix the AMI Status action read and
	  write translation path strings from growing for each channel in
	  the status event list by reseting the ast string given to
	  ast_translate_path_to_str() to fill in the given translation
	  path.

2014-10-20 14:15 +0000 [r425991]  Matthew Jordan <mjordan@digium.com>

	* res/res_xmpp.c, main/tcptls.c, /: AST-2014-011: Fix POODLE
	  security issues There are two aspects to the vulnerability: (1)
	  res_jabber/res_xmpp use SSLv3 only. This patch updates the module
	  to use TLSv1+. At this time, it does not refactor
	  res_jabber/res_xmpp to use the TCP/TLS core, which should be done
	  as an improvement at a latter date. (2) The TCP/TLS core, when
	  tlsclientmethod/sslclientmethod is left unspecified, will default
	  to the OpenSSL SSLv23_method. This method allows for all
	  encryption methods, including SSLv2/SSLv3. A MITM can exploit
	  this by forcing a fallback to SSLv3, which leaves the server
	  vulnerable to POODLE. This patch adds WARNINGS if a user uses
	  SSLv2/SSLv3 in their configuration, and explicitly disables
	  SSLv2/SSLv3 if using SSLv23_method. For TLS clients, Asterisk
	  will default to TLSv1+ and WARN if SSLv2 or SSLv3 is explicitly
	  chosen. For TLS servers, Asterisk will no longer support SSLv2 or
	  SSLv3. Much thanks to abelbeck for reporting the vulnerability
	  and providing a patch for the res_jabber/res_xmpp modules.
	  Review: https://reviewboard.asterisk.org/r/4096/ ASTERISK-24425
	  #close Reported by: abelbeck Tested by: abelbeck, opsmonitor,
	  gtjoseph patches: asterisk-1.8-jabber-tls.patch uploaded by
	  abelbeck (License 5903) asterisk-11-jabber-xmpp-tls.patch
	  uploaded by abelbeck (License 5903) AST-2014-011-1.8.diff
	  uploaded by mjordan (License 6283) AST-2014-011-11.diff uploaded
	  by mjordan (License 6283) ........ Merged revisions 425987 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-19 17:07 +0000 [r425965]  George Joseph <george.joseph@fairview5.com>

	* Makefile, /, configure, include/asterisk/autoconfig.h.in,
	  configure.ac, makeopts.in: build: Force -fsigned-char on
	  platforms where the default for char is unsigned gcc on the ARM
	  platform defaults 'char' to 'unsigned char' whereas Intel and
	  SPARC default to 'signed char'. This is only an issue in the rare
	  cases where negative values are assigned to a 'char' but this
	  this patch insures compatibility by detecting platforms that
	  default to 'unsigned' and adding an '-fsigned-char' flag to
	  _ASTCFLAGS. If compiling for ARM (native or cross-compile) be
	  sure to run ./bootstrap.sh and ./configure to regenerate the
	  build files. You shouldn't have to do this for Intel or SPARC.
	  Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/4091/ ........ Merged
	  revisions 425964 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-19 04:01 +0000 [r425923-425944]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_sdp_rtp.c: res/res_pjsip_sdp_rtp: Revert 425922
	  This patch for r425922 introduced a bug, wherein sending an
	  INVITE request with no SDP would cause Asterisk to not send an
	  SDP Offer in the 200 OK. The current structure of
	  res_pjsip_sdp_rtp is a bit hard to deal with to fix this, as
	  create_outgoing_sdp has no knowledge of whether or not it is
	  creating an SDP as a new Offer or an Answer. This is something of
	  an oversight in the callback definition, as the caller of it does
	  have this information.

	* res/res_pjsip_sdp_rtp.c: res/res_pjsip_sdp_rtp: Remove left over
	  reference to override_prefs The usage of the local override_prefs
	  variable in create_outgoing_sdp_stream was previously to track an
	  override format preference set by PJSIP_MEDIA_OFFER. Now,
	  however, that function simply sets the joint capabilities
	  structure, session->req_caps. During the media format rework, the
	  override_prefs was instead used to check if there were any
	  formats in session->req_caps. However, this usage isn't useful in
	  create_outgoing_sdp_stream. session->req_caps contains the
	  negotiated formats for *all* streams, not just the current one
	  being created. Thus, so long as any stream of any type has
	  provided a format, override_prefs will be non-zero. Hence, its
	  usage in checking whether or not we should look at the formats on
	  the endpoint or the joint capabilities is generally useless.
	  There's only two things useful to check: (1) Does the endpoint
	  have a format for the media type? (2) Did we negotiate a format
	  for the media type? If either of those is a 'no', then we must
	  kill the media stream.

2014-10-17 22:43 +0000 [r425905]  Jonathan Rose <jrose@digium.com>

	* configs/samples/cli_aliases.conf.sample: Sample Configurations:
	  make 'pjsip reload' reload all reloadable pjsip modules AST-1432
	  #close Reported by: John Bigelow

2014-10-17 13:35 +0000 [r425821-425879]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_sdp_rtp.c, res/res_pjsip.c,
	  res/res_pjsip_session.c, /: res_pjsip_session/res_pjsip_sdp_rtp:
	  Be more tolerant of offers When an inbound SDP offer is received,
	  Asterisk currently makes a few incorrection assumptions: (1) If
	  the offer contains more than a single audio/video stream,
	  Asterisk will reject the entire stream with a 488. This is an
	  overly strict response; generally, Asterisk should accept the
	  media streams that it can accept and decline the others. (2) If
	  the offer contains a declined media stream, Asterisk will attempt
	  to process it anyway. This can result in attempting to match
	  format capabilities on a declined media stream, leading to a 488.
	  Asterisk should simply ignore declined media streams. (3)
	  Asterisk will currently attempt to handle offers with AVPF with
	  use_avpf=No/AVP with use_avpf=Yes. This mismatch results in
	  invalid SDP answers being sent in response. If there is a
	  mismatch between the media type being offered and the
	  configuration, Asterisk must reject the offer with a 488. This
	  patch does the following: * Asterisk will accept SDP offers with
	  at least one media stream that it can use. Some WARNING messages
	  have been dropped to NOTICEs as a result. * Asterisk will not
	  accept an offer with a media type that doesn't match its
	  configuration. * Asterisk will ignore declined media streams
	  properly. #SIPit31 Review:
	  https://reviewboard.asterisk.org/r/4063/ ASTERISK-24122 #close
	  Reported by: James Van Vleet ASTERISK-24381 #close Reported by:
	  Matt Jordan ........ Merged revisions 425868 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: channels/chan_sip: Respect outboundproxy
	  setting when sending qualify requests The outboundproxy setting
	  is currently ignored when sending OPTIONS requests as a result of
	  the qualify setting. This means that if an Asterisk server is
	  unable to send the packet directly to a peer, it is unable to
	  qualify any non-inbound registered peer (e.g. a peer SIP Trunk).
	  This patch grabs the outboundproxy information for a peer when a
	  qualify attempt is being constructed and, if it finds the
	  information, uses it when sending the OPTIONS request. Review:
	  https://reviewboard.asterisk.org/r/3948 ASTERISK-24063 #close
	  Reported by: Damian Ivereigh patches: outboundproxy-dai.patch
	  uploaded by Damian Ivereigh (License 6632) ........ Merged
	  revisions 425818 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425819 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425820 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-17 02:41 +0000 [r425783]  Richard Mudgett <rmudgett@digium.com>

	* main/core_unreal.c, main/channel.c, /: AMI: Add missing VarSet
	  events when a channel inherits variables. There should be AMI
	  VarSet events when channel variables are inherited by an outgoing
	  channel. Also local;2 should generate VarSet events when it gets
	  all of its channel variables from channel local;1. ASTERISK-24415
	  #close Reported by: Richard Mudgett Patches:
	  jira_asterisk_24415_v12.patch (license #5621) patch uploaded by
	  Richard Mudgett Review: https://reviewboard.asterisk.org/r/4074/
	  ........ Merged revisions 425782 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-17 01:57 +0000 [r425736-425761]  Matthew Jordan <mjordan@digium.com>

	* /, bridges/bridge_native_rtp.c: bridge_native_rtp: Fix audio
	  issues when moving from remote bridge to softmix When a native
	  RTP bridge that is remotely bridging its participants switches to
	  a softmix bridge, it may not properly re-INVITE the media for one
	  or both participants back to Asterisk. This is due to the current
	  bridge_native_rtp code only re-INVITEs if it believes the channel
	  will survive the bridge operation. Currently, that code is
	  failing, as it expects the channels to have a soft hangup flag
	  set on it indicating that a redirect has occurred or that the
	  channel is going to leave the bridge. (The code did not take into
	  account a smart bridge operation). This patch also renames a few
	  things to be more reflective of the underlying types. Review:
	  https://reviewboard.asterisk.org/r/3997/ ASTERISK-24327 #close
	  ........ Merged revisions 425760 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, tests/test_cel.c: test_cel: Update pickup test to expect
	  CANCEL instead of ANSWSER The CEL pickup test previously looked
	  for a disposition of ANSWER between the original caller/peer when
	  the call is picked up. This is actually incorrect: the
	  disposition should, at the very least, not be ANSWER as the call
	  was never ANSWERed. The disposition is now CANCEL; this patch
	  updates the test accordingly. ........ Merged revisions 425757
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* main/cdr.c, /: main/cdr: Use 'time' when rescheduling batched
	  CDRs as opposed to 'size' When refactoring CDRs to use the
	  configuration framework, a 'whoops' was introduced where the CDR
	  batch size was used when rescheduling a batch, as opposed to the
	  time duration. This patch corrects that obvious mistake.
	  ASTERISK-24426 #close Reported by: Shane Blaser ........ Merged
	  revisions 425735 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-16 17:30 +0000 [r425714]  George Joseph <george.joseph@fairview5.com>

	* include/asterisk/config.h, tests/test_config.c, main/config.c, /:
	  config: Fix inf loop using ast_category_browse and
	  ast_variable_retrieve Fix infinite loop when calling
	  ast_variable_retrieve inside an ast_category_browse loop when
	  there is more than 1 category with the same name. Tested-by:
	  George Joseph Review: https://reviewboard.asterisk.org/r/4089/
	  ........ Merged revisions 425713 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-16 14:35 +0000 [r425691]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip_t38.c, res/res_pjsip_registrar_expire.c,
	  res/res_pjsip_mwi_body_generator.c,
	  res/res_pjsip_endpoint_identifier_user.c,
	  res/res_pjsip_send_to_voicemail.c,
	  include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_outbound_authenticator_digest.c,
	  res/res_pjsip_outbound_registration.c,
	  res/res_pjsip_endpoint_identifier_anonymous.c,
	  res/res_pjsip_path.c, res/res_pjsip_one_touch_record_info.c,
	  res/res_pjsip_acl.c, res/res_pjsip_pubsub.c,
	  res/res_pjsip_diversion.c, res/res_pjsip_refer.c,
	  include/asterisk/res_pjsip.h,
	  res/res_pjsip_pidf_body_generator.c, res/res_pjsip_dtmf_info.c,
	  res/res_pjsip_multihomed.c, res/res_pjsip_authenticator_digest.c,
	  res/res_pjsip_sdp_rtp.c, res/res_hep_pjsip.c,
	  res/res_pjsip_messaging.c, res/res_pjsip_caller_id.c,
	  res/res_pjsip_logger.c, res/res_pjsip_nat.c,
	  res/res_pjsip_session.c, res/res_pjsip_exten_state.c,
	  res/res_pjsip_header_funcs.c, res/res_pjsip_rfc3326.c,
	  res/res_pjsip_phoneprov_provider.c, res/res_pjsip_mwi.c,
	  res/res_pjsip_dialog_info_body_generator.c,
	  res/res_pjsip_xpidf_body_generator.c, res/res_pjsip_registrar.c,
	  channels/chan_pjsip.c, res/res_pjsip_transport_websocket.c,
	  res/res_pjsip_pidf_eyebeam_body_supplement.c,
	  include/asterisk/res_pjsip_session.h, /, res/res_pjsip_notify.c,
	  res/res_pjsip_pidf_digium_body_supplement.c,
	  res/res_pjsip_endpoint_identifier_ip.c,
	  res/res_pjsip_publish_asterisk.c: PJSIP: Enforce module load
	  dependencies This enforces that res_pjsip, res_pjsip_session, and
	  res_pjsip_pubsub have loaded properly before attempting to load
	  any modules that depend on them since the module loader system is
	  not currently capable of resolving module dependencies on its
	  own. ASTERISK-24312 #close Reported by: Dafi Ni Review:
	  https://reviewboard.asterisk.org/r/4062/ ........ Merged
	  revisions 425690 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-16 06:11 +0000 [r425669]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Fix loss of voice after second call
	  drops (on a second line) in case using multiple lines on unistim
	  phones. There is regression was introduced in r391379. Reported
	  by: Rustam Khankishyiev (closes issue ASTERISK-23846) ........
	  Merged revisions 425667 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425668 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-16 01:25 +0000 [r425646]  Joshua Colp <jcolp@digium.com>

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix a bug where ICE
	  state would get reset when it shouldn't. In the case where the
	  ICE negotiation had not yet started current state would get wiped
	  when it shouldn't. This also removes channel binding as in
	  practice this does not work well with other implementations.
	  ........ Merged revisions 425644 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425645 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-15 19:31 +0000 [r425627]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_motif.c: chan_motif: Cleanup
	  jingle_tech.capabilities only once.

2014-10-15 19:05 +0000 [r425611]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_tests.c: parking_tests: Fix assertions and
	  possibly crashes in res_parking unit tests Assertions were caused
	  by attempting to play music on hold to a channel with no formats.
	  Parking unit test channels were given formats and a technology so
	  that they would be able to pretend to read/write frames.
	  ASTERISK-24413 #close Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/4075/

2014-10-15 09:59 +0000 [r425590]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, /: chan_ooh323: fix rtptimeout general
	  value checking correct condition to check rtptimeout in [general]
	  config section ASTERISK-24393 #close Reported by: Dmitry Melekhov
	  Tested by: Dmitry Melekhov Patches: ASTERISK-24393.patch ........
	  Merged revisions 425547 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425548 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425589 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-14 20:46 +0000 [r425526]  George Joseph <george.joseph@fairview5.com>

	* /, include/asterisk/config.h, tests/test_config.c, main/config.c:
	  config: Fix SEGV in unit test with MALLOC_DEBUG With MALLOC_DEBUG
	  the /main/config config_basic_ops test was causing a SEGV while
	  doing an ast_category_delete in an ast_category_browse loop.
	  Apparently this never worked but was also never tested. I removed
	  the test, added 2 notes to config.h indicating that it's not
	  supported and added a few lines of code to ast_category_delete to
	  prevent the SEGV should someone attempt it in the future.
	  Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/4078/ ........ Merged
	  revisions 425525 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-14 19:00 +0000 [r425504]  Jonathan Rose <jrose@digium.com>

	* main/sched.c, /: Scheduler: Fix a nasty scheduler caching bug
	  which makes new tasks not execute Tasks that were marked for
	  pending deletion in the scheduler would be moved to the cache for
	  later reuse, but after being recycled the deleted mark wouldn't
	  be removed resulting in fresh tasks being deleted without
	  reason... and immediately moved back into the cache where they
	  could be reused again. This could cause horrendous things to
	  happen in just about anything that used a scheduler.
	  ASTERISK-24321 #close Reported by: Steve Pitts Review:
	  https://reviewboard.asterisk.org/r/4071/ ........ Merged
	  revisions 425503 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-14 18:12 +0000 [r425481]  George Joseph <george.joseph@fairview5.com>

	* res/res_phoneprov.c, include/asterisk/phoneprov.h, /,
	  res/res_pjsip_phoneprov_provider.c: res_phoneprov: Create
	  accessor for ast_phoneprov_std_variable_lookup Based on feedback
	  from Richard, I created an accessor for
	  res_phoneprov/ast_phoneprov_std_variable_lookup and added load
	  priority to AST_MODULE_INFO. Tested-by: George Joseph Tested-by:
	  Richard Mudgett Review: https://reviewboard.asterisk.org/r/4076/
	  ........ Merged revisions 425480 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-14 16:46 +0000 [r425459]  Corey Farrell <git@cfware.com>

	* /, res/res_fax.c: res_fax: Fix reference leak caused by gateway
	  sessions Fax gateway session objects can be re-used, causing the
	  same gateway session to be added to faxregistry.container more
	  than once. This change causes fax_session_new to remove the
	  reserved session from the container before it's id is changed,
	  ensuring it's possible for the session to be freed.
	  ASTERISK-24392 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4049/ ........ Merged
	  revisions 425457 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425458 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-14 16:35 +0000 [r425455]  Richard Mudgett <rmudgett@digium.com>

	* /, main/stasis_channels.c: stasis_channels.c: Resolve unfinished
	  Dials when doing masquerades (Part 2) Masquerades into and out of
	  channels that are involved in a dial operation don't create the
	  expected dial end event. The missing dial end event goes against
	  the model for things like CDRs and generating Dial end manager
	  actions and such. There are four cases: 1) A channel masquerades
	  into the caller channel. The case happens when performing a
	  blonde transfer using the channel driver's protocol. 2) A channel
	  masquerades into a callee channel. The case happens when
	  performing a directed call pickup. 3) The caller channel
	  masquerades out of dial. The case happens when using the Bridge
	  application on the caller channel. 4) A callee channel
	  masquerades out of dial. The case happens when using the Bridge
	  application on a peer channel. As it turned out, all four cases
	  need to be handled instead of just the first one. ASTERISK-24237
	  Reported by: Richard Mudgett ASTERISK-24394 #close Reported by:
	  Richard Mudgett Review: https://reviewboard.asterisk.org/r/4066/
	  ........ Merged revisions 425430 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-14 16:19 +0000 [r425415]  Corey Farrell <git@cfware.com>

	* /, res/res_fax.c: res_fax: Resolve module reference leak caused
	  by reserved sessions Remove reference to module providing
	  reserved session after adding a reference to the final module.
	  This re-reference is done to ensure that module references are
	  correct even if the final session selects a different module than
	  the reserved session. ASTERISK-18923 #close Reported by: Grigoriy
	  Puzankin Review: https://reviewboard.asterisk.org/r/4048/
	  ........ Merged revisions 425405 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425407 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425411 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-13 16:10 +0000 [r425384]  George Joseph <george.joseph@fairview5.com>

	* apps/app_directory.c, tests/test_sorcery.c, main/config.c,
	  tests/test_sorcery_realtime.c, res/res_sorcery_realtime.c,
	  apps/app_voicemail.c, res/res_sorcery_config.c, main/manager.c,
	  /, include/asterisk/config.h, pbx/pbx_realtime.c,
	  tests/test_config.c: manager/config: Support templates and
	  non-unique category names via AMI This patch provides the
	  capability to manipulate templates and categories with non-unique
	  names via AMI. Summary of changes: GetConfig and GetConfigJSON:
	  Added "Filter" parameter: A comma separated list of
	  name_regex=value_regex expressions which will cause only
	  categories whose variables match all expressions to be
	  considered. The special variable name TEMPLATES can be used to
	  control whether templates are included. Passing 'include' as the
	  value will include templates along with normal categories.
	  Passing 'restrict' as the value will restrict the operation to
	  ONLY templates. Not specifying a TEMPLATES expression results in
	  the current default behavior which is to not include templates.
	  UpdateConfig: NewCat now includes options for allowing duplicate
	  category names, indicating if the category should be created as a
	  template, and specifying templates the category should inherit
	  from. The rest of the actions now accept a filter string as
	  defined above. If there are non-unique category names, you can
	  now update specific ones based on variable values. To facilitate
	  the new capabilities in manager, corresponding changes had to be
	  made to config, most notably the addition of filter criteria to
	  many of the APIs. In some cases it was easy to change the
	  references to use the new prototype but others would have
	  required touching too many files for this patch so a wrapper with
	  the original prototype was created. Macros couldn't be used in
	  this case because it would break binary compatibility with
	  modules such as res_digium_phone that are linked to real symbols.
	  Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/4033/ ........ Merged
	  revisions 425383 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-12 21:09 +0000 [r425362]  Joshua Colp <jcolp@digium.com>

	* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Make the ICE
	  transport check case insensitive as some implementations use
	  'udp'. ........ Merged revisions 425360 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425361 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-12 08:15 +0000 [r425289-425299]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: chan_sip: Fix so asterisk won't send
	  reINVITE after a BYE. After a reINVITE glare situation, Asterisk
	  would re-send the reINVITE even though the call had been hung up
	  in the mean time. This patch unschedules the reinvite when
	  handling the BYE. ASTERISK-22791 #close Reported by: Paolo
	  Compagnini Tested by: Paolo Compagnini Review:
	  https://reviewboard.asterisk.org/r/4056/ (testcase is in review
	  r4055) ........ Merged revisions 425296 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425297 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425298 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, Makefile: build: Relax badshell tilde test to allow for ~ in
	  middle of DESTDIR. The main Makefile has a target test called
	  'badshell' that tests if DESTDIR does not happen to have an
	  an-expanded tilde (~). This might be the case if you run: make
	  install DESTDIR=~/somewhere/ That test also disallowed valid
	  tildes in directory names. The test is now changed to only
	  trigger on a tilde at the start of the path. ASTERISK-13797
	  #close Reported by: Tzafrir Cohen Review:
	  https://reviewboard.asterisk.org/r/4064/ ........ Merged
	  revisions 425291 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425292 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425293 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_calendar_ews.c: res_calendar_ews: Relax neon version
	  check to work with 0.30 too. Allow res_calendar_ews to work not
	  only with libneon-0.29 but also with 0.30. ASTERISK-24325 #close
	  Reported by: Tzafrir Cohen Review:
	  https://reviewboard.asterisk.org/r/4068/ ........ Merged
	  revisions 425286 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425287 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425288 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-11 21:08 +0000 [r425265]  George Joseph <george.joseph@fairview5.com>

	* /, res/res_phoneprov.c: res_phoneprov: Cleanup module load error
	  handling Tested module load/reload interaction between
	  res_phoneprov and res_pjsip_phoneprov_provider in cases where
	  res_phoneprov didn't load correctly (usually misconfiguration or
	  missing phoneprov.conf) Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/4069/ ........ Merged
	  revisions 425264 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-10 20:48 +0000 [r425243]  Joshua Colp <jcolp@digium.com>

	* /, main/bridge.c, bridges/bridge_native_rtp.c: bridge: During a
	  smart bridge operation provide a more complete bridge to the old
	  technology. When a smart bridge operation occurs and a bridge
	  transitions from one technology to another the old technology is
	  provided the channels formerly in it and told that they are
	  leaving. Unfortunately the bridge provided along with them is
	  incomplete. The bridge, despite there being channels in it,
	  contains none. This forces technology implementations to have
	  additional logic when channels are leaving or to store their own
	  duplicated state. This change makes the bridge more complete so
	  it contains the expected channels. Now that the bridge is
	  complete special logic within bridge_native_rtp is no longer
	  needed and has been removed. Review:
	  https://reviewboard.asterisk.org/r/4057/ ........ Merged
	  revisions 425242 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-10 14:31 +0000 [r425221]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_phoneprov.c: res/res_phoneprov: Bail on registration
	  if res_phoneprov didn't load If res_phoneprov failed to fully
	  load (due to not being configured), the providers container will
	  be NULL. If a module attempts to register a phone provisioning
	  provider, it should check for the presence of the container. If
	  there is no providers container, it should return an error. This
	  patch makes the ast_phoneprov_provider_register function do
	  that... otherwise this would be a silly commit message. ........
	  Merged revisions 425220 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-10 14:23 +0000 [r425217]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip_phoneprov_provider.c:
	  res_pjsip_phoneprov_provider: Add missing dependency on
	  pjproject. ........ Merged revisions 425216 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-10 13:01 +0000 [r425155]  Kinsey Moore <kmoore@digium.com>

	* /, tests/test_callerid.c, main/callerid.c: CallerID: Fix parsing
	  regression This fixes a regression in callerid parsing introduced
	  when another bug was fixed. This bug occurred when the name was
	  composed entirely of DTMF keys and quoted without a number
	  section (<>). ASTERISK-24406 #close Reported by: Etienne Lessard
	  Tested by: Etienne Lessard Patches: callerid_fix.diff uploaded by
	  Kinsey Moore Review: https://reviewboard.asterisk.org/r/4067/
	  ........ Merged revisions 425152 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425153 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425154 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-10 12:10 +0000 [r425132]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_nat.c, /: res_pjsip_nat: Place source port into
	  rport of responses if 'force_rport' is on. When the 'force_rport'
	  option is enabled the behavior should be the same as if the
	  remote side placed rport into the message themselves. Therefore
	  any responses we send should include the source port of the
	  request in the rport of the Via header. #SIPit31 ASTERISK-24387
	  #close Reported by: Matt Jordan ........ Merged revisions 425131
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-10 07:32 +0000 [r425071]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: chan_sip: Fix dialog leak resulting from
	  missing ACK to re-INVITE. If a device re-INVITEs at the same time
	  as the dialog is hung up, and if then the ACK to the re-INVITE
	  never reaches Asterisk, chan_sip would fail to destroy the dialog
	  after a while. This resulted in (most prominently) file handle
	  leaks. (Patch reindented by me.) ASTERISK-20784 #close
	  ASTERISK-15879 #close Reported by: Torrey Searle, Nitesh Bansal
	  Patches: reinvite_ack_timeout.patch uploaded by Torrey Searle
	  (License #5334) patch_asterisk_20784.txt uploaded by Nitesh
	  Bansal (License #6418) Reviewboard:
	  https://reviewboard.asterisk.org/r/4052/ (testcase can be found
	  at r4051) ........ Merged revisions 425068 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 425069 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 425070 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-09 23:35 +0000 [r425052]  George Joseph <george.joseph@fairview5.com>

	* res/res_pjsip_phoneprov_provider.c: res_pjsip_phoneprov_provider:
	  fix compile breakage on AST_VECTOR endpoint->inbound_auths was
	  changed to a vector in 13 and I committed the 12 patch instead of
	  the 13 patch. Tested-by: George Joseph

2014-10-09 21:38 +0000 [r425031]  Kevin Harwell <kharwell@digium.com>

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Crash if no
	  candidates received for component When starting ice if there is
	  not at least one remote ice candidate with an RTP component
	  asterisk will crash. This is due to an assertion in pjnath as it
	  expects at least one candidate with an RTP component. Added a
	  check to make sure at least one candidate contains an RTP
	  component and at least one candidate has an RTCP component.
	  ASTERISK-24383 #close Review:
	  https://reviewboard.asterisk.org/r/4039/ ........ Merged
	  revisions 425030 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-09 20:54 +0000 [r425008]  George Joseph <george.joseph@fairview5.com>

	* /, res/res_pjsip_phoneprov_provider.c (added),
	  configs/samples/pjsip.conf.sample: res_pjsip_phoneprov_provider:
	  Provides pjsip integration with res_phoneprov This module allows
	  res_pjsip to integrate with res_phoneprov. It handles the pjsip
	  'phoneprov' object type. Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3976/ ........ Merged
	  revisions 425007 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-09 18:37 +0000 [r424986]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_phoneprov.c: res/res_phoneprov: Don't cancel Asterisk
	  load on module load failure ........ Merged revisions 424985 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-09 17:45 +0000 [r424964]  George Joseph <george.joseph@fairview5.com>

	* include/asterisk/phoneprov.h (added), /,
	  configs/samples/phoneprov.conf.sample,
	  include/asterisk/chanvars.h, res/res_phoneprov.c,
	  res/res_phoneprov.exports.in (added), main/chanvars.c:
	  res_phoneprov: Refactor phoneprov to allow pluggable config
	  providers This patch makes res_phoneprov more modular so other
	  modules (like pjsip) can provide configuration information
	  instead of res_phoneprov relying solely on users.conf and
	  sip.conf. To accomplish this a new ast_phoneprov public API is
	  now exposed which allows config providers to register themselves,
	  set defaults (server profile, etc) and add user extensions. *
	  ast_phoneprov_provider_register registers the provider and
	  provides callbacks for loading default settings and loading
	  users. * ast_phoneprov_provider_unregister clears the defaults
	  and users. * ast_phoneprov_add_extension should be called once
	  for each user/extension by the provider's load_users callback to
	  add them. * ast_phoneprov_delete_extension deletes one extension.
	  * ast_phoneprov_delete_extensions deletes all extensions for the
	  provider. Tested-by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3970/ ........ Merged
	  revisions 424963 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-09 16:36 +0000 [r424942]  Richard Mudgett <rmudgett@digium.com>

	* /, main/cdr.c: cdr.c: Make turning on CDR debug a one step
	  process instead of two. Now "cdr set debug on" doesn't also
	  require "core set verbose 1" to see CDR debug output. ........
	  Merged revisions 424941 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-09 08:08 +0000 [r424880]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, contrib/scripts/safe_asterisk: safe_asterisk: Don't
	  automatically exceed MAXFILES value of 2^20. On systems with lots
	  of RAM (e.g. 24GB) /proc/sys/fs/file-max divided by two can
	  exceed the per-process file limit of 2^20. This patch ensures the
	  value is capped. (Patch cleaned up by me.) ASTERISK-24011 #close
	  Reported by: Michael Myles Patches: safe_asterisk-ulimit.diff
	  uploaded by Michael Myles (License #6626) ........ Merged
	  revisions 424875 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 424878 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424879 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-08 18:46 +0000 [r424854]  Joshua Colp <jcolp@digium.com>

	* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Allow only UDP ICE
	  candidates. The underlying library, pjnath, that res_rtp_asterisk
	  uses for ICE support does not have support for ICE-TCP. As
	  candidates are passed through directly to it this can cause error
	  messages to occur when it receives something unexpected (such as
	  a TCP candidate). This change merely ignores all non-UDP
	  candidates so they never reach pjnath. ASTERISK-24326 #close
	  Reported by: Joshua Colp ........ Merged revisions 424852 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424853 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-08 18:24 +0000 [r424769-424850]  Kinsey Moore <kmoore@digium.com>

	* main/stasis.c: Stasis: Relegate log message to dev-mode This
	  error message primarily applies to development tasks and will now
	  only show up when dev-mode is enabled via configure.

	* main/sounds_index.c: Indexer: Format message types may not exist
	  In Asterisk 13+, any given message type is not guaranteed to
	  exist even if Asterisk comes up correctly since creation of the
	  message type could be declined. The indexer should not prevent
	  Asterisk from starting under these conditions.

	* main/stasis.c: Stasis: Only log errors for non-declined types
	  When message type creation is declined via stasis.conf, certain
	  operations log errors assuming that the declined type is being
	  used before initialization or after destruction. These error
	  messages get quite spammy for oft used message types and should
	  not be logged in the first place since the message type is
	  validly NULL. Reported by: Matt DiMeo

2014-10-07 18:33 +0000 [r424752]  Joshua Colp <jcolp@digium.com>

	* main/data.c: data: Properly access formats in capabilities
	  structure when adding codecs. Formats within a capabilities
	  structure are addressed starting at 0, not 1. Assuming 1 causes
	  it to exceed an array. ASTERISK-24389 #close Reported by: Kevin
	  Harwell

2014-10-07 17:41 +0000 [r424692-424731]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_pjsip_outbound_registration.c:
	  res/res_pjsip_outbound_registration: Initialize
	  auth_reject_permanent parameter Prior to this patch, the
	  auth_reject_permanent parameter was not initialized on the
	  registration client state, leading to the parameter being
	  disabled regardless of the value specified in pjsip.conf. This
	  patch initialized the setting on the registration client state to
	  the provided configuration value. ASTERISK-24398 #close ........
	  Merged revisions 424730 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_pubsub.c: res/res_pjsip_pubsub: Fix typo in WARNING
	  message

	* main/message.c, /: message: Don't close an AMI connection on
	  SendMessage action error If SendMessage encounters an error (such
	  as incorrect input provided to the action), it will currently
	  return -1. Actions should only return -1 if the connection to the
	  AMI client should be closed. In this case, SendMessage causing
	  the client to disconnect is inappropriate. This patch causes the
	  action to return 0, which simply causes the action to fail.
	  Review: https://reviewboard.asterisk.org/r/4024 ASTERISK-24354
	  #close Reported by: Peter Katzmann patches: sendMessage.patch
	  uploaded by Peter Katzmann (License 5968) ........ Merged
	  revisions 424690 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424691 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-06 15:38 +0000 [r424669]  Richard Mudgett <rmudgett@digium.com>

	* main/features.c, /: features.c: Fix lingering channel ref while
	  Bridge() application is active. Using the Bridge application to
	  bridge a channel that is executing an applicaiton such as Wait
	  results in a lingering Surrogate channel in the CLI "core show
	  channels" output even though it has already hungup. * Fix
	  bridge_exec() to not hold onto the current_dest_chan ref once it
	  has been put into the bridge. * Eliminated bridge_exec()'s use of
	  RAII_VAR(). ASTERISK-24224 #close Reported by: Mark Michelson
	  Review: https://reviewboard.asterisk.org/r/4041/ ........ Merged
	  revisions 424668 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-06 12:38 +0000 [r424601-424647]  Matthew Jordan <mjordan@digium.com>

	* /, main/sdp_srtp.c: sdp_srtp: Add new lines to some WARNING
	  messages ........ Merged revisions 424646 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip/pjsip_options.c: res_pjsip/pjsip_options: Do not
	  404 an OPTIONS request not sent to an endpoint An OPTIONS request
	  that is sent to Asterisk but not to a specific endpoint is
	  currently sent a 404 in response. This is because, not
	  surprisingly, an empty extension is never going to be found in
	  the dialplan. This patch makes it so that we only attempt to look
	  up the endpoint in the dialplan if it is specified in the OPTIONS
	  request URI. #SIPit31 ASTERISK-24370 #close Reported by: Matt
	  Jordan ........ Merged revisions 424624 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/pjsip/dialplan_functions.c, /: pjsip/dialplan_functions:
	  Handle PJSIP_MEDIA_OFFER called on non-PJSIP channels Calling
	  PJSIP_MEDIA_OFFER on a non-PJSIP channel is hazardous to your
	  health. It will treat the channels as a PJSIP channel, eventually
	  hitting an ao2 error, FRACKing on assertion error, and quite
	  likely crashing. This patch adds checks to the read/write
	  callbacks that ensure that the channel technology is of type
	  'PJSIP' before attempting to operate on the channel. #SIPit31
	  ASTERISK-24382 #close Reported by: Matt Jordan ........ Merged
	  revisions 424621 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_hep_pjsip.c, res/res_pjsip/pjsip_distributor.c,
	  res/res_pjsip_logger.c: res_pjsip: Prevent crashes when PJPROJECT
	  presents an rdata with no message When a message that exceeds the
	  PJ_MAX_PKT_SIZE is sent over a reliable transport, it is possible
	  (although it shouldn't occur) for pjproject to pass up an rdata
	  object with a NULL msg in the msg_info. Needless to say, things
	  that attempt to dereference this are in for a rough ride. In
	  particular, this caused crashes in three different locations, all
	  of which are 'low level' enough to intercept an rdata object
	  early in processing: (1) res_pjsip_logger (2) res_hep_pjsip (3)
	  res_pjsip/distributor Anything that can intercept an rdata object
	  before res_pjsip/distributor should be defensive when looking at
	  the received packet. #SIPit31 ASTERISK-24369 #close Reported by:
	  Matt Jordan ........ Merged revisions 424618 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_pubsub.c: res/res_pjsip_pubsub: Gracefully handle
	  errors when re-creating subscriptions A subscription that has
	  been persisted can - for various reasons - fail to be re-created
	  on startup. This patch resolves a number of crashes that occurred
	  when a subscription cannot be re-created on several off-nominal
	  paths. #SIPit31 ASTERISK-24368 #close Reported by: Matt Jordan

2014-10-05 00:48 +0000 [r424552-424580]  Corey Farrell <git@cfware.com>

	* main/manager.c, /: Release AMI connections on shutdown.
	  ASTERISK-24378 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4037/ ........ Merged
	  revisions 424578 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424579 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_motif.c: chan_motif: Correct last commit to use
	  ao2_cleanup to free format cap This fix applies to 13 and trunk.
	  ASTERISK-24384 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4043/

	* /, channels/chan_motif.c: chan_motif: Release format capabilities
	  and config on module load error ASTERISK-24384 #close Reported
	  by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4043/ ........ Merged
	  revisions 424550 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424551 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-03 21:56 +0000 [r424472-424529]  Richard Mudgett <rmudgett@digium.com>

	* /, CHANGES, res/res_pjsip.c: res_pjsip: Fix XML typo and update
	  CHANGES. ASTERISK-24199 ........ Merged revisions 424528 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/audiohook.c, apps/app_chanspy.c, apps/app_mixmonitor.c, /,
	  main/framehook.c: audiohooks: Reevaluate the bridge technology
	  when an audiohook is added or removed. Adding a mixmonitor to a
	  channel causes the bridge to change technologies from native to
	  simple_bridge so the call can be recorded. However, when the
	  mixmonitor is stopped the bridge does not switch back to the
	  native technology. * Added unbridge requests to reevaluate the
	  bridge when a channel audiohook is removed. * Moved the unbridge
	  request into ast_audiohook_attach() ensure that the bridge
	  reevaluates whenever an audiohook is attached. This simplified
	  the mixmonitor and chan_spy start code as well. * Added defensive
	  code to stop_mixmonitor_full() in case additional arguments are
	  ever added to the StopMixMonitor application. * Made
	  ast_framehook_detach() not do an unbridge request if the
	  framehook does not exist. * Made ast_framehook_list_fixup() do an
	  unbridge request if there are any framehooks. Also simplified the
	  loop. ASTERISK-24195 #close Reported by: Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/4046/ ........ Merged
	  revisions 424506 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/core_unreal.c, main/taskprocessor.c, channels/chan_iax2.c,
	  res/res_pjsip_session.c, main/channel.c, channels/chan_misdn.c,
	  channels/chan_skinny.c, funcs/func_frame_trace.c,
	  channels/chan_motif.c, include/asterisk/frame.h,
	  main/bridge_channel.c, channels/chan_pjsip.c,
	  channels/chan_unistim.c, include/asterisk/res_pjsip_session.h,
	  addons/chan_ooh323.c, /, include/asterisk/taskprocessor.h,
	  channels/chan_sip.c, res/res_pjsip_session.exports.in:
	  chan_pjsip: Fix deadlock when masquerading PJSIP channels.
	  Performing a directed call pickup resulted in a deadlock when
	  PJSIP channels were involved. A masquerade needs to hold onto the
	  channel locks while it swaps channel information between the two
	  channels involved in the masquerade. With PJSIP channels, the
	  fixup routine needed to push a fixup task onto the PJSIP
	  channel's serializer. Unfortunately, if the serializer was also
	  processing a task that needed to lock the channel, you get
	  deadlock. * Added a new control frame that is used to notify the
	  channels that a masquerade is about to start and when it has
	  completed. * Added the ability to query taskprocessors if the
	  current thread is the taskprocessor thread. * Added the ability
	  to suspend/unsuspend the PJSIP serializer thread so a masquerade
	  could fixup the PJSIP channel without using the serializer.
	  ASTERISK-24356 #close Reported by: rmudgett Review:
	  https://reviewboard.asterisk.org/r/4034/ ........ Merged
	  revisions 424471 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-03 15:54 +0000 [r424448]  George Joseph <george.joseph@fairview5.com>

	* /, main/sorcery.c: sorcery: Prevent SEGV in sorcery_wizard_create
	  when there's no create function When you call
	  ast_sorcery_create() you don't necessarily know which wizard is
	  going to be invoked. If it happens to be a wizard like 'config'
	  that doesn't have a 'create' virtual function you get a segfault
	  in the sorcery_wizard_create callback. This patch catches the
	  null function pointer, does an ast_assert, and logs an error.
	  Review: https://reviewboard.asterisk.org/r/4044/ ........ Merged
	  revisions 424447 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-03 13:58 +0000 [r424424-424427]  Kinsey Moore <kmoore@digium.com>

	* configs/samples/pjsip.conf.sample, /,
	  res/res_pjsip/pjsip_configuration.c: PJSIP: Restore functional
	  default for callerid_privacy The pjsip config option default
	  fixups from r424263 altered the functional default from
	  "allowed_not_screened" to "allowed". This change restores the
	  functional default value when none is provided. ........ Merged
	  revisions 424426 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/manager.c, /: Manager: Add missing fields and documentation
	  for CoreShowChannels This corrects some issues introduced in the
	  responses to the CoreShowChannels AMI command as well as adding
	  documentation for the responses. The command in Asterisk 12 was
	  missing the following fields: Duration, Application,
	  ApplicationData, and BridgedChannel and BridgedUniqueID (replaced
	  with BridgeId). ASTERISK-24262 #close Reported by: Mitch Claborn
	  Review: https://reviewboard.asterisk.org/r/4040/ ........ Merged
	  revisions 424423 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-03 07:54 +0000 [r424415]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, /: res_pjsip_session: Reduce SDP size by
	  removing duplicate connection lines. Due to the architecture of
	  how media streams are handled each individual handler adds
	  connection details (IP address) for it. The first media stream is
	  then used as the top level SDP connection line. In practice each
	  line ends up being the same so to reduce the SDP size
	  stream-level connection information is also added to the SDP if
	  it differs from the top level SDP connection line. ........
	  Merged revisions 424414 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-02 21:52 +0000 [r424394]  Richard Mudgett <rmudgett@digium.com>

	* /, configs/samples/pjsip.conf.sample, res/res_pjsip.c,
	  res/res_pjsip/config_transport.c: res_pjsip: Make transport
	  cipher option accept a comma separated list of cipher names.
	  Improvements to the res_pjsip transport cipher option. * Made the
	  cipher option accept a comma separated list of OpenSSL cipher
	  names. Users of realtime will be glad if they have more than one
	  name to list. * Added the CLI command 'pjsip list ciphers' so a
	  user can know what OpenSSL names are available for the cipher
	  option. * Updated the cipher option online XML documentation to
	  specify what is expected for the value. * Updated
	  pjsip.conf.sample to not indicate that ALL is acceptable since
	  ALL does not imply a preference order for the ciphers and PJSIP
	  does not simply pass the string to OpenSSL for interpretation.
	  ASTERISK-24199 #close Reported by: Joshua Colp Review:
	  https://reviewboard.asterisk.org/r/4018/ ........ Merged
	  revisions 424393 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-02 20:15 +0000 [r424373]  Jonathan Rose <jrose@digium.com>

	* /,
	  contrib/ast-db-manage/config/versions/10aedae86a32_add_outgoing_enum_va.py
	  (added): Alembic: Add enumerator value to sippeers -> directmedia
	  - 'outgoing' The 'outgoing' value was left off of the enumerator
	  when first creating the column. This patch adds it, and should
	  gracefully upgrade keeping the existing data in tact.
	  ASTERISK-23781 #close Reported by: Stephen More Review:
	  https://reviewboard.asterisk.org/r/4013/ ........ Merged
	  revisions 424372 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-02 13:35 +0000 [r424338]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, configs/samples/pjsip.conf.sample: res_pjsip: document use of
	  rewrite_contact in sample conf Without setting rewrite_contact,
	  an invite to an endpoint behind NAT will not reach it - unless
	  the endpoint itself uses STUN or TURN to discover it's public
	  URI. Thus, the use of this should be in the sample documentation.
	  Review: https://reviewboard.asterisk.org/r/4036/ ........ Merged
	  revisions 424337 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-01 22:52 +0000 [r424333]  Jonathan Rose <jrose@digium.com>

	* channels/chan_pjsip.c: chan_pjsip: Fix an assertion for channels
	  that lack formats on creation ASTERISK-24222 #close Reported by:
	  Mark Michelson Review: https://reviewboard.asterisk.org/r/4017/

2014-10-01 20:36 +0000 [r424313]  Corey Farrell <git@cfware.com>

	* res/res_hep.c, /: res_hep: Release allocation reference to
	  configuration. ASTERISK-24362 #close Reported by: Corey Farrell
	  Review: https://reviewboard.asterisk.org/r/4026/ ........ Merged
	  revisions 424312 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-01 16:37 +0000 [r424288-424291]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/pjsip_configuration.c,
	  configs/samples/pjsip.conf.sample, res/res_pjsip.c: res_pjsip:
	  Add 'dtls_fingerprint' option to configure DTLS fingerprint hash.
	  During the latest update to DTLS-SRTP support the ability to
	  configure the hash used for fingerprints was added. This gave us
	  two supported ones: SHA-1 and SHA-256. The default was
	  accordingly updated to SHA-256. Unfortunately this configuration
	  ability was not exposed within res_pjsip. This change adds a
	  dtls_fingerprint option that controls it. #SIPit31 ........
	  Merged revisions 424290 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Accept DTLS
	  attributes in top level, not just media session. #SIPit31
	  ........ Merged revisions 424287 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-01 12:27 +0000 [r424245-424266]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip/config_transport.c, /, res/res_pjsip/location.c,
	  res/res_pjsip_endpoint_identifier_ip.c,
	  res/res_pjsip/pjsip_configuration.c,
	  configs/samples/pjsip.conf.sample: PJSIP: Handle defaults
	  properly This updates the code behind PJSIP configuration options
	  with custom handlers to deal with the assigned default values
	  properly where it makes sense and adjusting the default value
	  where it doesn't. Before applying this patch, there were several
	  cases where the default value for an option would prevent that
	  config section from loading properly. Reported by: Thomas
	  Thompson Review: https://reviewboard.asterisk.org/r/4019/
	  ........ Merged revisions 424263 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_nat.c: PJSIP: Force transport on contact rewrite
	  If contact rewriting is enabled but the contact differs in
	  transport from what is actually being used, messages after the
	  initial INVITE transaction can be sent to an incorrect
	  transport/port combination. In the case where this bug occurred
	  the remote party never received a BYE since it was sent to the
	  remote party's TCP port over UDP. Review:
	  https://reviewboard.asterisk.org/r/4032/ ........ Merged
	  revisions 424244 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-10-01 10:09 +0000 [r424179-424184]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: chan_sip: Simplify some unref code by
	  removing unlink_peer_from_tables. ASTERISK-22945 #related
	  Reported by: ibercom Patches:
	  asterisk11-chan_sip-simplifies.patch uploaded by ibercom (License
	  #6599) ........ Merged revisions 424181 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 424182 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424183 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: chan_sip: Remove excess ref of realtime
	  peer before sip_poke_peer. The peer is referenced at the end of
	  sip_poke_peer, it should not get an extra ref before the call to
	  sip_poke_peer. This fixes a memory leak. ASTERISK-22945 #close
	  Reported by: ibercom Tested by: Yuriy Gorlichenko Patches:
	  asterisk11.patch uploaded by ibercom (License #6599) Review:
	  https://reviewboard.asterisk.org/r/4031/ ........ Merged
	  revisions 424176 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 424177 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424178 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-30 11:40 +0000 [r424153-424156]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Don't place an
	  extra whitespace before 'rport' and don't put IPv6 addresses in
	  brackets. #SIPit31 ........ Merged revisions 424155 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Ensure that the base
	  and mapped address for candidates is present in SDP. This change
	  fixes an issue where ICE candidates put into the SDP did not
	  contain the 'raddr' and 'rport' information for server reflexive
	  and relay candidates. #SIPit31 ........ Merged revisions 424151
	  from http://svn.asterisk.org/svn/asterisk/branches/11 ........
	  Merged revisions 424152 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-29 21:59 +0000 [r424129]  George Joseph <george.joseph@fairview5.com>

	* /, res/res_pjsip/pjsip_cli.c: pjsip_cli: Suppress header print on
	  error or no objects If there's an error on the pjsip command line
	  or there are no objects, don't print the column headers.
	  ASTERISK-24350 #close Reported-by: Brad Latus Tested-by: George
	  Joseph Tested-by: Brad Latus Review:
	  https://reviewboard.asterisk.org/r/4025/ ........ Merged
	  revisions 424128 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-29 21:26 +0000 [r424126]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, contrib/scripts/autosupport: autosupport: Fix bashism. '==' is
	  bashism (bashspecific, fails when dash is /bin/sh). Anyway, a
	  'case' works better there. Originally committed in r375059 and
	  r375060 on 2012-10-16 21:13:08. ASTERISK-20567 #close Reported
	  by: Tzafrir Cohen ........ Merged revisions 424117 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 424125 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-29 21:17 +0000 [r424097-424105]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
	  /, res/res_pjsip_authenticator_digest.c: Simplify UUID generation
	  in several places. Replace code using ast_uuid_generate() with
	  simpler and faster code using ast_uuid_generate_str(). The new
	  code avoids a malloc(), free(), and copy. ........ Merged
	  revisions 424103 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/threadpool.c: threadpool.c: Minor cleanup fixes. * Fix
	  threadpool_alloc() prototype. * Add missing off-nominal NULL
	  check of pool in threadpool_alloc(). * searializer_create() does
	  not need to create the object with a lock as the lock is not
	  used. ........ Merged revisions 424096 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-27 12:43 +0000 [r424057]  Joshua Colp <jcolp@digium.com>

	* channels/chan_pjsip.c, res/res_pjsip_session.c, /:
	  res_pjsip_session: Add additional checks for delaying session
	  refreshes. There are certain situations which no checks existed
	  for which need to prevent session refreshes. This includes
	  sending a session refresh with SDP before SDP negotiation has
	  completed and sending a session refresh before the dialog itself
	  has been established. Checks for these have been added.
	  Additionally COLP related UPDATEs were including SDP when it is
	  not needed. Review: https://reviewboard.asterisk.org/r/4008/
	  ........ Merged revisions 424056 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-26 15:21 +0000 [r423992]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_fax.c: res_fax: Fix out of bounds error in
	  update_modem_bits(). ASTERISK-24357 #close Reported by: Jeremy
	  Laine Patches: res_fax_bounds.patch (license #6561) patch
	  uploaded by Jeremy Laine Modified patch to not use magic numbers.
	  ........ Merged revisions 423979 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 423983 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423987 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-26 08:25 +0000 [r423918]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, doc/asterisk.8: docs: Escape unescaped minus sign in
	  asterisk.8 manpage. ASTERISK-23768 #close Reported by: Jeremy
	  Lainé Patches: escape_manpage_hyphen.patch uploaded by Jeremy
	  Lainé (License #6561) ........ Merged revisions 423915 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 423916 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423917 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-25 21:01 +0000 [r423895]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip.c, /: res_pjsip.c: Add missing off nominal cleanup
	  in ast_sip_push_task_synchronous(). * Made memset the std struct
	  in ast_sip_push_task_synchronous() because if DEBUG_THREADS is
	  enabled then uninitialized lock tracking data is used. ........
	  Merged revisions 423894 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-24 18:32 +0000 [r423867]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_pjsip/pjsip_options.c, res/res_pjsip.c:
	  pjsip_options.c: Fix race condition stopping periodic out of
	  dialog OPTIONS request. The crash on the issues is a result of an
	  invalid transport configuration change when asterisk is
	  restarted. The attempt to send the qualify request fails and we
	  cleaned up. However, the callback is also called which results in
	  a double unref of the objects involved. * Put a wrapper around
	  pjsip_endpt_send_request() to detect when the passed in callback
	  is called because of an error so callers can know to not cleanup.
	  * Made send_request_cb() able to handle repeated challenges (Up
	  to 10). * Fix periodic endpoint qualify OPTIONS sched deletion
	  race by avoiding it. The sched entry will no longer self stop and
	  must be externally stopped. * Added REF_DEBUG description tags to
	  struct sched_data in pjsip_options.c. * Fix some off-nominal ref
	  leaks in schedule_qualify(), qualify_and_schedule(). * Reordered
	  pjsip_options.c module start/stop code to cleanup better on
	  error. ASTERISK-24295 #close Reported by: Rogger Padilla Review:
	  https://reviewboard.asterisk.org/r/3954/ ........ Merged
	  revisions 423866 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-24 08:53 +0000 [r423803]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: chan_sip: Unref outbound proxy structure
	  on dialog/pvt destruction. Make sure outbound proxy refs are
	  always unreffed on dialog destruction. Review:
	  https://reviewboard.asterisk.org/r/4016/ ........ Merged
	  revisions 423800 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 423801 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423802 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-23 14:29 +0000 [r423783]  Mark Michelson <mmichelson@digium.com>

	* tests/test_cel.c, tests/test_cdr.c: Make CDR and CEL unit tests
	  less FRACKy. Prior to this commit, CDR and CEL tests were
	  expected to trigger FRACKs (i.e. assertions) due to the fact that
	  the channels they create have no formats on them. Some code was
	  independently added recently that attempts to prevent FRACKs from
	  occurring by failing early when attempting to set up translation
	  paths if one or both channels support no formats. Unfortunately,
	  this attempt to be helpful made the CDR and CEL tests go from
	  simply FRACKing to outright failing and in some cases, failing so
	  badly as to crash Asterisk. This commit seeks to correct past
	  mistakes by adding the ulaw format to channels created by the CDR
	  and CEL unit tests. This makes setting up translation paths
	  succeed, eliminates previously-seen FRACKs, and ultimately causes
	  the unit tests to succeed again. Review:
	  https://reviewboard.asterisk.org/r/4014

2014-09-22 19:48 +0000 [r423660-423723]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: chan_sip: On INVITE retransmission, don't
	  add an extra 503 response. INVITE arrives to asterisk, asterisk
	  responds Busy(). If the INVITE is retransmitted, asterisk would
	  generate a 503 in addition to the 486. Thanks Torrey Searle for
	  providing a working regression test. ASTERISK-24335 #close
	  Review: https://reviewboard.asterisk.org/r/4003/ Patches:
	  retrans_486_invite.patch uploaded by Torrey Searle (License
	  #5334) ........ Merged revisions 423720 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 423721 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423722 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/editline/readline.c: cli.c: Fix tab completion "module
	  load" when MALLOC_DEBUG is enabled. r421600 conflicted with
	  r155763. ASTERISK-24348 #close ........ Merged revisions 423657
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 423658 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423659 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-21 01:15 +0000 [r423618-423641]  Matthew Jordan <mjordan@digium.com>

	* main/channel.c: main/channel: Unlock channel in off-nominal path
	  In r423414 (13) / r423415 (trunk), an API call that determines if
	  a format capability structure is empty was added. This returns
	  true if the format capability structure is completely empty or
	  "none". A check for this was added in channel.c's set_format
	  call. Unfortunately, when this check was true, it returned from
	  the function while still holding the channel lock. This caused
	  the CDR unit tests - which have a tendency to create channels
	  with no formats - to deadlock. Whoops. This patch unlocks the
	  channel on the off-nominal path.

	* rest-api/api-docs/events.json, /: rest-api/api-docs/events.json:
	  Remove non-compliant 'extends' attribute Prior to the release of
	  Swagger 1.2, the attribute 'extends' was being promoted as a
	  possible way to show that a particular object extends an existing
	  object. Instead, the Swagger specification went with the
	  'subTypes' attribute in the base object. This patch removes the
	  unsupported attribute; the object that the offending objects
	  proposed to extend already lists them in its 'subTypes'
	  attribute. ASTERISK-24300 #close Reported by: Bradley Watkins
	  ........ Merged revisions 423620 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
	  rest-api/api-docs/bridges.json,
	  rest-api/api-docs/recordings.json,
	  rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/endpoints.json,
	  rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
	  /, rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json,
	  rest-api/api-docs/playbacks.json: rest-api/api-docs: Correct
	  basePath in resources to match top resources file The
	  resources.json file that defines the resource JSON files used
	  with ARI references a basePath of 'http://localhost:8088/ari'.
	  This does not match what is defined in the resource files
	  themselves, 'http://localhost:8088/stasis'. The correct base path
	  is the one that includes 'ari' in the URL; this patch updates the
	  various resource JSON files to have the correct basePath.
	  ASTERISK-24339 #close Reported by: Bradley Watkins ........
	  Merged revisions 423617 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-19 19:51 +0000 [r423580]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip_notify.c: res_pjsip_notify: Fix crash on
	  unload/load and don't say the module doesn't exist on reload.
	  When unloading the module did not unregister the CLI commands
	  causing a crash upon load when they were registered again. When
	  reloading the module the return value from the config options
	  framework was not checked to determine if an error occurred or
	  not. This caused a message to be output saying the module did not
	  exist when reloading if no changes were present. AST-1433 #close
	  AST-1434 #close ........ Merged revisions 423579 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-19 17:08 +0000 [r423561]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_pjsip.c, res/res_pjsip_sdp_rtp.c:
	  res_pjsip_sdp_rtp.c: Fix native formats containing formats that
	  were not negotiated. Outgoing PJSIP calls can result in
	  non-negotiated formats listed in the channel's native formats if
	  video formats are listed in the endpoint's configuration. The
	  resulting call could then use a non-negotiated format resulting
	  in one way audio. * Simplified the update of session->req_caps in
	  set_caps(). Why do something in five steps when only one is
	  needed? AFS-162 #close Review:
	  https://reviewboard.asterisk.org/r/4000/

2014-09-19 15:18 +0000 [r423524-423530]  Jonathan Rose <jrose@digium.com>

	* /, main/stasis_channels.c: Stasis_channels: Resolve unfinished
	  Dials when doing masquerades Masquerades into channels that are
	  in the dialing state don't end their dial and this goes against
	  the model for things like CDRs and generating Dial end manager
	  actions and such. ASTERISK-24237 #close Reported by: Richard
	  Mudgett Review: https://reviewboard.asterisk.org/r/3990/ ........
	  Merged revisions 423525 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_iax2.c: chan_iax2: Fix a crash when using chan_iax2
	  jitterbuffer settings Caused by format changes in Asterisk 13
	  ASTERISK-24265 #close Reported by: Dafi Ni Review:
	  https://reviewboard.asterisk.org/r/3999/

2014-09-19 12:45 +0000 [r423504]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/framehook.h, /, main/framehook.c,
	  res/res_pjsip_t38.c: PJSIP: Prevent T38 framehook being put on
	  wrong channel This change gives framehooks a reverse-direction
	  masquerade callback in addition to chan_fixup_cb similar to the
	  callback added to datastores to handle the same situation. The
	  new callback provides the same parameters as the fixup callback,
	  but is called on the new channel's framehooks before moving
	  framehooks from the old channel to the new channel. This gives
	  the framehooks an oppurtunity to decide whether they should
	  remain on the new channel or be removed. This new callback is
	  used to prevent the PJSIP T.38 framehook from remaining on a
	  masqueraded channel if the new channel is not also a PJSIP
	  channel. This was causing a crash when a local channel was
	  masqueraded into a PJSIP channel and the framehook was executed
	  on the local channel since the channel's tech private data was
	  not structured as expected. Review:
	  https://reviewboard.asterisk.org/r/4001/ ........ Merged
	  revisions 423503 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-18 19:30 +0000 [r423482]  Sean Bright <sean@malleable.com>

	* res/res_pjsip/config_auth.c, /: res_pjsip: Don't require a
	  password when doing userpass authentication. An empty password is
	  valid for username/password authentication so we should allow
	  password to be empty/not supplied. Review:
	  https://reviewboard.asterisk.org/r/3988 ........ Merged revisions
	  423481 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-18 19:22 +0000 [r423478]  George Joseph <george.joseph@fairview5.com>

	* tests/test_strings.c, /, main/utils.c,
	  include/asterisk/strings.h: utils: Create ast_strsep function
	  that ignores separators inside quotes This function acts like
	  strsep with three exceptions... * The separator is a single
	  character instead of a string. * Separators inside quotes are
	  treated literally instead of like separators. * You can elect to
	  have leading and trailing whitespace and quotes stripped from the
	  result and have '\' sequences unescaped. Like strsep, ast_strsep
	  maintains no internal state and you can call it recursively using
	  different separators on the same storage. Also like strsep, for
	  consistent results, consecutive separators are not collapsed so
	  you may get an empty string as a valid result. Tested by: George
	  Joseph Review: https://reviewboard.asterisk.org/r/3989/ ........
	  Merged revisions 423476 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-18 18:31 +0000 [r423462]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pubsub.c: Add subscription state test events. These
	  are needed for a set of batched notification RLS tests that are
	  about to be committed to the testsuite. Review:
	  https://reviewboard.asterisk.org/r/3967

2014-09-18 17:11 +0000 [r423425]  Jonathan Rose <jrose@digium.com>

	* res/res_pjsip_endpoint_identifier_ip.c, /:
	  res_pjsip_endpoint_identifier_ip: Fix parsing of match value with
	  CIDR Also fixes comma separates match lists ASTERISK-24290 #close
	  Reported by: Ray Crumrine Review:
	  https://reviewboard.asterisk.org/r/3995/ ........ Merged
	  revisions 423417 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-18 17:09 +0000 [r423418-423423]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_softmix.c: bridge_softmix.c: Made use
	  ao2_replace() instead of the inline equivalent. * Clarified some
	  read/write format comments. * Fixed a doxygen tag typo.

	* main/astobj2.c, contrib/scripts/refcounter.py, /:
	  astobj2.c/refcounter.py: Fix to deal with invalid object refs. *
	  Make astob2 REF_DEBUG output an invalid object line when an
	  invalid ao2 object ref/unref is attempted. This is similar to the
	  constructor/destructor lines. * Fixed refcounter.py to handle
	  skewed objects that have constructor/destructor states. * Made
	  refcounter.py highlight the invalid ao2 object refs by putting
	  them in their own section of the processed output file. * Made
	  refcounter.py highlight unreffing an object by more than one that
	  results in a negative ref count and the object being destroyed.
	  The abnormally destroyed object is reported in the invalid and
	  finalized object sections of the output. Review:
	  https://reviewboard.asterisk.org/r/3971/ ........ Merged
	  revisions 423349 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 423400 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423416 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-18 16:37 +0000 [r423348-423414]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/format_cap.h, main/channel.c, main/format_cap.c,
	  main/translate.c: Add API call to determine if format capability
	  structure is "empty". Empty here means that there are no formats
	  in the format_cap structure or the only format in it is the
	  "none" format. I've added calls to check the emptiness of a
	  format_cap in a few places in order to short-circuit operations
	  that would otherwise be pointless as well as to prevent some
	  assertions from being triggered in cases where channels with no
	  formats are used.

	* /, res/res_fax_spandsp.c: res_fax_spandsp: Properly handle
	  cleanup before starting FAXes. If faxing fails at a very early
	  stage, then it is possible for us to pass a NULL t30 state
	  pointer to spandsp, which spandsp is none too pleased with. This
	  patch ensures that we pass the correct pointer to spandsp in the
	  situation where we have not yet set our local t30 state pointer.
	  ASTERISK-24301 #close Reported by Matt Jordan Patches:
	  ASTERISK-24301-fax.diff Uploaded by Mark Michelson (License
	  #5049) ........ Merged revisions 423360 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423365 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_mwi.c,
	  res/res_pjsip_dialog_info_body_generator.c,
	  res/res_pjsip_xpidf_body_generator.c,
	  res/res_pjsip_mwi_body_generator.c, res/res_pjsip_pubsub.c,
	  res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_pidf_body_generator.c: res_pjsip_pubsub: Add some
	  type safety when generating NOTIFY bodies. res_pjsip_pubsub has
	  two separate checks that it makes when a SUBSCRIBE arrives. * It
	  checks that there is a subscription handler for the Event * It
	  checks that there are body generators for the types in the Accept
	  header The problem is, there's nothing that ensures that these
	  two things will actually mesh with each other. For instance,
	  Asterisk will accept a subscription to MWI that accepts pidf+xml
	  bodies. That doesn't make sense. With this commit, we add some
	  type information to the mix. Subscription handlers state they
	  generate data of type X, and body generators state that they
	  consume data of type X. This way, Asterisk doesn't end up in some
	  hilariously mismatched situation like the one in the previous
	  paragraph. ASTERISK-24136 #close Reported by Mark Michelson
	  Review: https://reviewboard.asterisk.org/r/3877 Review:
	  https://reviewboard.asterisk.org/r/3878 ........ Merged revisions
	  423344 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-18 15:13 +0000 [r423284]  George Joseph <george.joseph@fairview5.com>

	* /, res/res_pjsip/location.c,
	  res/res_pjsip_endpoint_identifier_ip.c,
	  res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip/config_auth.c:
	  res_pjsip: ami: Fix error in AMI output when an endpoint has no
	  transport When no transport is associated to an endpoint, the AMI
	  output for PJSIPShowEndpoint indicates an error instead of
	  silently ignoring the missing transport. This patch causes the
	  error to appear only if a transport was specified on the endpoint
	  and the transport doesn't exist. It also fixes an issue with
	  counting the objects that were actually found. ASTERISK-24161
	  #close ASTERISK-24331 #close Tested by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3998/ ........ Merged
	  revisions 423282 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-18 15:00 +0000 [r423281]  David M. Lee <dlee@digium.com>

	* makeopts.in, Makefile: Only install dahdi_span_config_hook if
	  DAHDI is enabled This patch changes the install to only install
	  the hook script if DAHDI is enabled. It also adds the script to
	  the uninstall task, and moves the DAHDI_UDEV_HOOK_DIR variable so
	  that it's not between the _MAKEOPTS variables and their comment.
	  This allows installs which specify a --prefix to work normally,
	  as long as they don't enable DAHDI. Review:
	  https://reviewboard.asterisk.org/r/3972/

2014-09-18 14:45 +0000 [r423279]  George Joseph <george.joseph@fairview5.com>

	* main/manager.c, /, include/asterisk/config.h, main/config.c:
	  config: bug: Fix SEGV in ast_category_insert when matching
	  category isn't found If you call ast_category_insert with a match
	  category that doesn't exist, the list traverse runs out of 'next'
	  categories and you get a SEGV. This patch adds check for the
	  end-of-list condition and changes the signature to return an int
	  for success/failure indication instead of a void. The only
	  consumer of this function is manager and it was also changed to
	  use the return value. Tested by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3993/ ........ Merged
	  revisions 423276 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 423277 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423278 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-17 18:05 +0000 [r423209-423255]  Joshua Colp <jcolp@digium.com>

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Ensure that the
	  thread terminating pj stuff is registered. ........ Merged
	  revisions 423253 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423254 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix 100% CPU usage
	  due to timer heap thread spinning. Side note: I need a vacation.
	  ........ Merged revisions 423210 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423211 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix building when
	  pjproject is not used. ........ Merged revisions 423207 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423208 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-16 16:32 +0000 [r423192]  Scott Griepentrog <sgriepentrog@digium.com>

	* apps/app_voicemail.c, include/asterisk/file.h, main/file.c:
	  Voicemail: get correct duration when copying file to vm Changes
	  made during format improvements resulted in the recording to
	  voicemail option 'm' of the MixMonitor app writing a zero length
	  duration in the msgXXXX.txt file. This change introduces a new
	  function ast_ratestream(), which provides the sample rate of the
	  format associated with the stream, and updates the app_voicemail
	  function for ast_app_copy_recording_to_vm to calculate the right
	  duration. Review: https://reviewboard.asterisk.org/r/3996/
	  ASTERISK-24328 #close

2014-09-16 12:12 +0000 [r423152-423173]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, /: res_pjsip_session: Fix usage of wrong
	  memory pool when creating local SDP. ........ Merged revisions
	  423172 from http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, /:
	  res_rtp_asterisk: Fix a myriad of TURN client issues. 1. The
	  number of file descriptors an ioqueue instance can handle is
	  fixed, so we now spawn the required number to handle the load. 2.
	  Our transport identifiers were exceeding the range supported by
	  pjnath. 3. The TURN client did not set up client binding causing
	  needless bandwidth usage. 4. The code no longer updates address
	  information on each packet. 5. STUN traffic was getting looped
	  back to Asterisk instead of going through the TURN server. 6.
	  Synchronization now ensures things are completely setup or
	  destroyed. 7. Logging now reflects the target the TURN server is
	  sending to/receiving from on our behalf. ASTERISK-23577 #close
	  Reported by: Jay Jideliov ASTERISK-23634 #close Reported by:
	  Roman Skvirsky Review: https://reviewboard.asterisk.org/r/3982/
	  ........ Merged revisions 423150 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423151 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-15 10:49 +0000 [r423069-423129]  Walter Doekes <walter+asterisk@wjd.nu>

	* /,
	  contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py
	  (added): contrib: Fix verifyi typo in alembic DB script
	  ps_transport table. Reported by: Zogot (on IRC) Patches: tmp.diff
	  uploaded by Zogot, cleaned up by me. ........ Merged revisions
	  423128 from http://svn.asterisk.org/svn/asterisk/branches/12

	* configs/samples/sip.conf.sample, /: chan_sip: Clarify that
	  sipdebug=yes cannot be undone by the CLI. Document it in
	  sip.conf. ASTERISK-24249 #close Reported by: Avinash Mohod
	  Review: https://reviewboard.asterisk.org/r/3926/ ........ Merged
	  revisions 423066 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 423067 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 423068 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-12 16:09 +0000 [r422985]  Jonathan Rose <jrose@digium.com>

	* main/config.c, /: Realtime: Fix a bug that caused realtime
	  destroy command to crash Also has could affect with anything that
	  goes through ast_destroy_realtime. If a CLI user used the command
	  'realtime destroy <family>' with only a single column/value pair,
	  Asterisk would crash when trying to create a variable list from a
	  NULL value. ASTERISK-24231 #close Reported by: Niklas Larsson
	  Review: https://reviewboard.asterisk.org/r/3985/ ........ Merged
	  revisions 422984 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-11 22:16 +0000 [r422965]  Mark Michelson <mmichelson@digium.com>

	* /, main/app.c: Remove undocumented default behavior of
	  ast_play_and_record_full acceptdtmf. ast_play_and_record_full()
	  has a parameter called "acceptdtmf" that is a string of
	  acceptable DTMF digits that may be pressed by a caller to end and
	  accept the recording. ARI uses this function in order to perform
	  recording, and it provides options for what is passed as
	  acceptdtmf to ast_play_and_record_full(). By default, ARI passes
	  an empty string, with the intention that no DTMF can be used to
	  end the recording. The problem is that ast_play_and_record_full()
	  attempts to be "helpful" by setting "#" as the acceptdtmf if an
	  empty string or NULL pointer has been passed in. With ARI, this
	  results in unexpected behavior occurring if you have attempted to
	  intercept "#" yourself in order to perform some other
	  manipulation of the live recording. This change removes the
	  "helpful" behavior by no longer accepting "#" as a default
	  acceptdtmf if none is specified by the caller of
	  ast_play_and_record_full(). This makes the ARI scenario work as
	  expected. The other callers of ast_play_and_record_full() are
	  app_voicemail and app_minivm, and in both cases, they pass an
	  explicit "#" to ast_play_and_record_full() as acceptdtmf, so they
	  are unaffected by this change. ........ Merged revisions 422964
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-10 16:04 +0000 [r422905]  George Joseph <george.joseph@fairview5.com>

	* /, main/config.c: config: bug: fix truncation of included config
	  files on permissions error ast_config_text_file_save() currently
	  truncates include files as they are processed. If a subsequent
	  include file or the main config file has a permissions error that
	  prevents writing, earlier include files are left truncated
	  resulting in a frantic search for backups. This patch causes
	  ast_config_text_file_save to check for write access on all files
	  before it truncates any of them. Will be applied 1.8 > trunk.
	  Tested by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3986/ ........ Merged
	  revisions 422900 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 422903 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422904 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-10 15:59 +0000 [r422901]  Sean Bright <sean@malleable.com>

	* res/res_pjsip/config_auth.c, /: pjsip/config_auth.c: Add missing
	  whitespace to log messages. The errors generated when validating
	  'auth' settings are missing a space which makes the messages a
	  little confusing. ........ Merged revisions 422899 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-09 20:01 +0000 [r422883]  Rusty Newton <rnewton@digium.com>

	* /, sounds/sounds.xml, sounds/Makefile: Sounds/BuildSystem:
	  Modifications to include new releases and Japanese language.
	  Modifying Makefile and sounds.xml to include new core 1.4.26 and
	  extra 1.4.15 sound prompt releases, plus the new Japanese core
	  sound prompts contributed by QLOOG. ASTERISK-23324 Reported by:
	  Kevin McCoy Tested by: Rusty Newton ........ Merged revisions
	  422789 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 422790 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422791 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-08 18:03 +0000 [r422851-422855]  Mark Michelson <mmichelson@digium.com>

	* configs/samples/pjsip.conf.sample: Add note about configuring
	  list_items on a single line.

	* configs/samples/pjsip.conf.sample: Add sample configuration for
	  resource lists. On review /r/3977, it was recommended to note in
	  the sample configuration about the size limitation for resource
	  lists. However, since there was no section in the sample
	  configuration at all for resource list subscriptions, I decided
	  to make a separate commit where I have added the necessary sample
	  configuration as well as the size limitation warning.

	* res/res_pjsip_pubsub.c: Pre-allocate transmission data buffer for
	  RLS NOTIFY requests. PJSIP, unless a constant is modified at
	  compilation time, limits SIP requests to 4000 bytes. Full-state
	  RLS notifications can easily exceed this limit with moderately
	  small lists. This changeset allows for Asterisk to work around
	  this size limit by performing its own allocation of the
	  transmission data buffer. This way, Asterisk can allocate a
	  buffer that exceeds the built-in maximum. We still impose our own
	  limit of 64000 bytes, mainly because making allocations larger
	  than that is a bit absurd. ASTERISK-24181 #close Reported by Mark
	  Michelson Review: https://reviewboard.asterisk.org/r/3977

2014-09-08 15:41 +0000 [r422836]  Jonathan Rose <jrose@digium.com>

	* res/res_pjsip_pubsub.c: res_pjsip_pubsub: Check supported headers
	  for eventlist when subscribing to resource list
	  https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan
	  According to the off-nominal plan, if evenlist support is not
	  specified in a SUBSCRIBE's supported header(s), that subscription
	  should be rejected with an error. ASTERISK-23871 Reported by:
	  Mark Michelson Review:
	  https://reviewboard.asterisk.org/r/3960/diff/#index_header

2014-09-06 22:49 +0000 [r422767-422770]  Matthew Jordan <mjordan@digium.com>

	* /, main/cdr.c: main/cdr: Copy over location information during a
	  fork When a CDR is forked, a new CDR is created and appended to
	  the CDR chain for the Party A. The forked CDR starts life off as
	  a clone of the last non-finalized for the particular Party A. In
	  the past, merely copying over the snapshots for Party A/Party B
	  would be sufficient. However, as the CDRs now contain cached
	  information from Party A - specifically application/data,
	  context, and extension - we need to copy that over during a fork
	  as well. Huzzah for unit tests catching this when the
	  context/extension were derived from a cached value on the CDR
	  instead of on Party A. ........ Merged revisions 422769 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/rtp_engine.c, /: main/rtp_engine: Format NTP timestamps as
	  unsigned ints On some systems, a timeval's tv_sec/tv_usec will be
	  unsigned lont ints, as opposed to long ints. When the RTP engine
	  formats these as strings, it was previously formatting them as
	  signed integers, which can result in some odd negative timestamp
	  values (particularly on 32-bit systems). This patch formats the
	  values as unsigned long integers. ........ Merged revisions
	  422766 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-06 19:12 +0000 [r422747]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Fix retrieval of
	  "ice-pwd" attribute if in session and not media stream. ........
	  Merged revisions 422746 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-05 22:03 +0000 [r422716-422719]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c, /, apps/app_macro.c, include/asterisk/channel.h,
	  apps/app_stack.c: main/cdrs: Preserve context/extension when
	  executing a Macro or GoSub The context/extension in a CDR is
	  generally considered the destination of a call. When looking at a
	  2-party call CDR, users will typically be presented with the
	  following: context exten channel dest_channel app data default
	  1000 SIP/8675309 SIP/1000 Dial SIP/1000,,20 However, if the Dial
	  actually takes place in a Macro, the current behaviour in 12 will
	  result in the following CDR: context exten channel dest_channel
	  app data macro-dial s SIP/8675309 SIP/1000 Dial SIP/1000,,20 The
	  same is true of a GoSub: context exten channel dest_channel app
	  data subs dial_stuff SIP/8675309 SIP/1000 Dial SIP/1000,,20 This
	  generally makes the context/exten fields less than useful. It
	  isn't hard to preserve these values in the CDR state machine;
	  however, we need to have something that informs us when a channel
	  is executing a subroutine. Prior to this patch, there isn't
	  anything that does this. This patch solves this problem by adding
	  a new channel flag, AST_FLAG_SUBROUTINE_EXEC. This flag is set on
	  a channel when it executes a Macro or a GoSub. The CDR engine
	  looks for this value when updating a Party A snapshot; if the
	  flag is present, we don't override the context/exten on the main
	  CDR object. In a funny quirk, executing a hangup handler must
	  *not* abide by this logic, as the endbeforehexten logic assumes
	  that the user wants to see data that occurs in hangup logic,
	  which includes those subroutines. Since those execute outside of
	  a typical Dial operation (and will typically have their own
	  dedicated CDR anyway), this is unlikely to cause any heartburn.
	  Review: https://reviewboard.asterisk.org/r/3962/ ASTERISK-24254
	  #close Reported by: tm1000, Tony Lewis Tested by: Tony Lewis
	  ........ Merged revisions 422718 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/cdr.c, /: main/cdr: Fix crash/memory consumption in CDRs in
	  multi-party bridge scenarios This patch fixes an issue where CDRs
	  would get stuck generating an infinite number of CDRs, eventually
	  crashing Asterisk (and consuming a lot of memory along the way).
	  When a channel enters into a multi-party bridge, the CDR engine
	  creates mappings of each participant to each other participant,
	  picking the 'A' party as it goes. So, if we have four channels in
	  a multi-party bridge (Alice, Bob, Charlie, Denise), we would have
	  something like: Alice => Bob Alice => Charlie Alice => Denise Bob
	  => Charlie Bob => Denise Charlie => Denise This works fine when
	  participants enter the bridge a single time. When a participant
	  leaves a bridge, the CDRs for that channel are transitioned to a
	  finalized state. The bug occurs if Bob rejoins. When the CDR
	  engine creates mappings between the channels, it walks through
	  all the participants currently in the bridge, and realizes that
	  no one in the bridge can create a CDR with the channel (Bob). As
	  such it creates a new CDR for the candidate and appends it to
	  that candidate's chain. Unfortunately, on this particular code
	  path, it doesn't stop traversing the candidate's chain. Since we
	  just added ourselves to the chain, this causes the loop to keep
	  going, constantly adding new CDRs. This patch makes it so the
	  engine bails when it creates a CDR match in this case. Review:
	  https://reviewboard.asterisk.org/r/3964/ ASTERISK-24241 #close
	  Reported by: Deepak Singh Rawat Tested by: Deepak Singh Rawat
	  ASTERISK-24208 Reported by: Frankie Chin ........ Merged
	  revisions 422715 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-05 20:35 +0000 [r422700]  Richard Mudgett <rmudgett@digium.com>

	* funcs/func_channel.c: func_channel.c: Add missing locking to some
	  CHANNEL() requests. * The CHANNEL() audionativeformat,
	  videonativeformat, audioreadformat, and audiowriteformat now need
	  locking since the media format rework when accessing the
	  channel's format pointers. * Increased the buffer size for
	  CHANNEL() audionativeformat and videonativeformat output strings
	  since the allow=all can be a lengthy list. * Tweaked the
	  CHANNEL() XML documentation for secure_bridge_signaling,
	  secure_bridge_media, and state. * Ensured the output buffer is
	  initialized for secure_bridge_signaling and secure_bridge_media.
	  * Made use the locked_copy_string() macro instead of inlining it
	  for trace and checkhangup.

2014-09-05 20:11 +0000 [r422665-422684]  Jonathan Rose <jrose@digium.com>

	* main/dial.c, include/asterisk/dial.h: Dial API: Add a dial option
	  to indicate the dialed channel will replace dialer Adds an option
	  to the dial API that marks an outgoing dial as replacing the
	  dialing channel for the purpose of propagating accountcode. When
	  it is used, AST_CHANNEL_REQUESTOR_REPLACEMENT is used instead of
	  AST_CHANNEL_REQUESTOR_BRIDGE_PEER when setting accountcodes on
	  the involved channels with ast_channel_req_accountcodes. Review:
	  https://reviewboard.asterisk.org/r/3968/

	* main/cli.c, /: Call IDs: Fix appearance of call ID in core show
	  channels when NULL NULL call IDs were meant to appear as '(none)'
	  but instead were showing the contents of an uninitialized
	  character buffer. ASTERISK-24223 Review:
	  https://reviewboard.asterisk.org/r/3979/ ........ Merged
	  revisions 422664 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-05 17:36 +0000 [r422661]  Richard Mudgett <rmudgett@digium.com>

	* main/devicestate.c, channels/chan_iax2.c: devicestate.c: Minor
	  tweaks * In ast_state_chan2dev() use ARRAY_LEN() instead of a
	  sentinel value in chan2dev[]. * Fix some comments in chan_iax2.c.

2014-09-05 13:28 +0000 [r422646]  Kinsey Moore <kmoore@digium.com>

	* menuselect/menuselect.c: Menuselect: Fix incorrect enabling on
	  failed deps This corrects a situation where menuselect can
	  incorrectly enable a module by default that has defaultenabled
	  set to "no" and has failed/non-selected dependencies. The bug is
	  due to an inverted test when checking for whether the given
	  module should be set to enabled by default on load. Review:
	  https://reviewboard.asterisk.org/r/3975/ Reported by: John
	  Bigelow

2014-09-04 21:23 +0000 [r422631]  Jonathan Rose <jrose@digium.com>

	* main/manager.c, /: Manager: Require read permission for SYSTEM in
	  order to send FullyBooted Review:
	  https://reviewboard.asterisk.org/r/3969/ ........ Merged
	  revisions 422584 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 422625 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422626 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-03 14:05 +0000 [r422558]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_transport_websocket.c, /:
	  res_pjsip_transport_websocket: Fix crash when the Contact header
	  is not a URI. The code for changing the Contact header wrongly
	  assumed that the Contact would always contain a URI. This is
	  incorrect. ASTERISK-24271 Reported by: Dafi Ni ........ Merged
	  revisions 422557 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-02 20:29 +0000 [r422542]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_pjsip.c, res/res_pjsip_diversion.c,
	  res/res_pjsip_session.c, include/asterisk/res_pjsip_session.h:
	  Resolve race condition where channels enter dialplan application
	  before media has been negotiated. Testsuite tests will
	  occasionally fail because on reception of a 200 OK SIP response,
	  an AST_CONTROL_ANSWER frame is queued prior to when media has
	  finished being negotiated. This is because session supplements
	  are called into before PJSIP's inv_session code has told us that
	  media has been updated. Sometimes the queued answer frame is
	  handled by the PBX thread before the ensuing media negotiations
	  occur, causing a test failure. As it turns out, there is another
	  place that session supplements could be called into, which is
	  after media has finished getting negotiated. What this commit
	  introduces is a means for session supplements to indicate when
	  they wish to be called into when handling an incoming SIP
	  response. By default, all session supplements will be run at the
	  same point that they were prior to this commit. However, session
	  supplements may indicate that they wish to be handled earlier
	  than normal on redirects, or they may indicate they wish to be
	  handled after media has been negotiated. In this changeset, two
	  session supplements have been updated to indicate a preference
	  for when they should be run: res_pjsip_diversion executes before
	  handling redirection in order to get information from the
	  Diversion header, and chan_pjsip now handles responses to INVITEs
	  after media negotiation to fix the race condition mentioned
	  previously. ASTERISK-24212 #close Reported by Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3930 ........ Merged revisions
	  422536 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-09-01 14:16 +0000 [r422504-422507]  Matthew Jordan <mjordan@digium.com>

	* main/cli.c, /: main/cli: Do not attempt to show CDR data for
	  internal channels Internal channels don't have CDRs. Querying the
	  CDR engine for their variables will make it cranky. ........
	  Merged revisions 422506 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis.c, /, res/stasis/stasis_bridge.c: res_stasis:
	  Don't play MoH to channels by default when added to holding
	  bridges When ARI manipulates a bridge, it generally doesn't care
	  what the mixing technology is. Operations on a bridge initiated
	  through ARI should perform their action in generally the same
	  way, regardless of the bridge's mixing technology. While the
	  mixing technology may determine how media flows to channels, the
	  actual operations on a bridge themselves should be the same.
	  Currently, this isn't the case with holding bridges. When a
	  channel joins without a role, MoH is started on that channel
	  automatically. Subsequent bridge operations that would stop MoH
	  would fail (as there is no Announcer channel playing MoH to the
	  bridge). Starting MoH on the bridge will also create two MoH
	  streams: one from the MoH being played on the participant
	  channel, and one from the announcer channel. From the perspective
	  of ARI users, this is counter-intuitive - I would not expect MoH
	  to be started for me. The mixing technology determines how media
	  is shared between participants, not the application experience.
	  This patch does the following: * The Stasis bridge class now
	  inspects channels as they are going into a bridge. If the bridge
	  has a holding capability, and the channel has no roles, we give
	  it a participant role and mark the default behaviour to have no
	  entertainment. This allows addChannel operations to continue to
	  set a participant role with an entertainment option if it felt
	  like it (or could do it). * The music on hold channel is now
	  Stasis approved (tm) Review:
	  https://reviewboard.asterisk.org/r/3929/ ASTERISK-24264 #close
	  Reported by: Samuel Galarneau Tested by: Samuel Galarneau
	  ........ Merged revisions 422503 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-30 17:32 +0000 [r422442-422445]  George Joseph <george.joseph@fairview5.com>

	* apps/app_confbridge.c, /: confbridge: Add Duration to
	  ConfbridgeList event The ConfbridgeList event doesn't include how
	  long the user has been a member of the conference. This patch
	  adds Duration (seconds) which is based on user->chan->answertime.
	  Tested by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3955/ ........ Merged
	  revisions 422444 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/manager.c, /: manager: Make WaitEvent action respect
	  eventfilters A WaitEvent issued via an http session isn't
	  respecting eventfilters defined for the user. I just added a
	  match_filter to the predicate that controls astman_append. Tested
	  by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3958/ ........ Merged
	  revisions 422439 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 422440 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422441 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-29 19:40 +0000 [r422374-422379]  Matthew Jordan <mjordan@digium.com>

	* doc/smsq.8 (added), /: doc: Add a manpage for the smsq utility
	  This patch adds a manpage for the smsq utility. Note that this is
	  one of the patches the Debian distro applies for the Asterisk
	  project, as per ASTERISK-24191. Review:
	  https://reviewboard.asterisk.org/r/3895/ ASTERISK-24171 #close
	  Reported by: Jeremy Laine patches: smsq.8 uploaded by Jeremy
	  Laine (License 6561) ........ Merged revisions 422376 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 422377 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422378 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* doc/aelparse.8 (added), /: doc: Add a manpage for the aelparse
	  utility This patch adds a manpage for the aelparse utility. Note
	  that this is one of the patches the Debian distro applies for the
	  Asterisk project, as per ASTERISK-24191. Review:
	  https://reviewboard.asterisk.org/r/3896/ ASTERISK-24171 #close
	  Reported by: Jeremy Laine patches: aelparse.8 uploaded by Jeremy
	  Laine (License 6561) ........ Merged revisions 422371 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 422372 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422373 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-29 19:05 +0000 [r422359]  Scott Griepentrog <sgriepentrog@digium.com>

	* channels/chan_sip.c: The assertion that peer was not found on
	  final event message was being triggered on configuration reload.
	  This patch changes that case to just return instead. Review:
	  https://reviewboard.asterisk.org/r/3953/ Commited in trunk
	  revision 422358

2014-08-28 21:54 +0000 [r422296]  Matthew Jordan <mjordan@digium.com>

	* LICENSE, /: LICENSE: Clarify language in Asterisk's LICENSE to
	  allow for linking to UniMRCP The UniMRCP project distributes
	  Asterisk modules that integrate Asterisk with UniMRCP, and other
	  Asterisk users use the UniMRCP library as well. Unfortunately,
	  the UniMRCP license is Apache 2.0, which per the Free Software
	  Foundation, is not a compatible license with the GPLv2. "Please
	  note that this license is not compatible with GPL version 2,
	  because it has some requirements that are not in that GPL
	  version. These include certain patent termination and
	  indemnification provisions. The patent termination provision is a
	  good thing, which is why we recommend the Apache 2.0 license for
	  substantial programs over other lax permissive licenses." On the
	  other hand, UniMRCP is a great project and we'd like to let
	  people use it with Asterisk. This patch updates the LICENSE text
	  to allow users to link Asterisk with UniMRCP and distribute the
	  resulting binaries. ........ Merged revisions 422293 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 422294 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422295 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-28 20:30 +0000 [r422276]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_iax2.c: chan_iax2: Fix Dynamic IAX2
	  Registrations After Temporary DNS Failure The reporter on the
	  issue found some issues when upgrading from version 10 to 11 on
	  55 hosts. Two situations that can occur with dynamic
	  registrations. 1. With dnsmgr disabled, if the host is not
	  resolvable we are not trying to resolve the host again when it is
	  time to attempt to register again. This results in never
	  registering to the host. 2. With dnsmgr enabled, when the host is
	  temporarily not resolvable the address is set to 0.0.0.0:0 and
	  then when the host is resolvable the port is not being restored
	  and stays set to 0. This patch resolves these two issues by: *
	  Storing the hostname so that it can be used for resolving with
	  DNS. * Resolve the hostname on the next scheduled attempt to
	  register. * Storing the port used to reach the host so that when
	  the hostname is resolvable again, we can set the port again if
	  the port is still unset after looking up the host. ASTERISK-23767
	  #close Reported by: David Herselman Tested by: David Herselman,
	  Michael L. Young Patches:
	  asterisk-23767-dns_reg_retry_and_set_port_11_v3.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/3856/ ........ Merged
	  revisions 422274 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422275 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-28 17:25 +0000 [r422256]  Richard Mudgett <rmudgett@digium.com>

	* /, UPGRADE.txt: Added ConfBridge AMI event note to UPGRADE.txt.
	  ........ Merged revisions 422255 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-28 15:49 +0000 [r422239]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pubsub.c: Fix bug that did not allow for multiple
	  batched RLS notifications to be sent. A misunderstanding of how
	  the scheduler worked caused further batched notifications beyond
	  the first not to get scheduled. Now we reset our scheduler ID to
	  -1 after the batched notification is sent. This way, further
	  notifications can be scheduled when they arise.

2014-08-28 00:36 +0000 [r422200-422215]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip/pjsip_options.c, /: res/res_pjsip/pjsip_options.c:
	  Eliminate excessive RAII_VAR usage. * Fix off nominal ref leak in
	  find_or_create_contact_status(). * Add missing NULL check of
	  status in update_contact_status() and init_start_time(). ........
	  Merged revisions 422214 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/sched.c, include/asterisk/sched.h: sched: Fix typo and
	  whitespace change.

2014-08-27 17:29 +0000 [r422177]  George Joseph <george.joseph@fairview5.com>

	* /, apps/confbridge/confbridge_manager.c, apps/app_confbridge.c:
	  confbridge: Add 'Admin' param to join, leave, mute, unmute and
	  talking events Currently there's no way to tell if a user is an
	  admin or not when receiving the join, leave, mute, unmute and
	  talking events. This patch adds that capability. Tested by:
	  George Joseph Review: https://reviewboard.asterisk.org/r/3950/
	  ........ Merged revisions 422176 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-27 15:31 +0000 [r422154]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/utils.h, /, channels/chan_sip.c,
	  tests/test_callerid.c (added), tests/test_utils.c,
	  main/callerid.c, main/utils.c, res/res_pjsip_caller_id.c:
	  CallerID: Fix parsing of malformed callerid This allows the
	  callerid parsing function to handle malformed input strings and
	  strings containing escaped and unescaped double quotes. This also
	  adds a unittest to cover many of the cases where the parsing
	  algorithm previously failed. Review:
	  https://reviewboard.asterisk.org/r/3923/ Review:
	  https://reviewboard.asterisk.org/r/3933/ ........ Merged
	  revisions 422112 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 422113 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 422114 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-26 23:28 +0000 [r422091]  George Joseph <george.joseph@fairview5.com>

	* apps/app_confbridge.c, /: confbridge: Make kick, mute and unmute
	  handle channel targets consistently. Kick, mute and unmute were a
	  little inconsistent in their handling of channel targets. This
	  patch cleans that up by insuring they all handle the 'all' target
	  consistently and adds the 'participants' target which acts on
	  non-admins. Documentation for kick was also cleaned up as it
	  never supported partial channel names. Tested by: George Joseph
	  Review: https://reviewboard.asterisk.org/r/3944/ ........ Merged
	  revisions 422090 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-26 22:13 +0000 [r422071]  Mark Michelson <mmichelson@digium.com>

	* main/sched.c, /: Fix race condition in the scheduler when
	  deleting a running entry. When scheduled tasks run, they are
	  removed from the heap (or hashtab). When a scheduled task is
	  deleted, if the task can't be found in the heap (or hashtab), an
	  assertion is triggered. If DO_CRASH is enabled, this assertion
	  causes a crash. The problem is, sometimes it just so happens that
	  someone attempts to delete a scheduled task at the time that it
	  is running, leading to a crash. This change corrects the issue by
	  tracking which task is currently running. If that task is
	  attempted to be deleted, then we mark the task, and then wait for
	  the task to complete. This way, we can be sure to coordinate task
	  deletion and memory freeing. ASTERISK-24212 Reported by Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/3927 ........
	  Merged revisions 422070 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-25 16:44 +0000 [r421979-422037]  Richard Mudgett <rmudgett@digium.com>

	* res/res_musiconhold.c: res_musiconhold.c: Release any format refs
	  before memset(). * Clear the channel music_state pointer before
	  destroying the music_state object for safety.

	* res/res_musiconhold.c, /: res_musiconhold: Fix MOH restarting
	  where it left off from the last hold. Restore code removed by
	  https://reviewboard.asterisk.org/r/3536/ that introduced a
	  regression that prevents MOH from restarting were it left off the
	  last time. ASTERISK-24019 #close Reported by: Jason Richards
	  Patches: jira_asterisk_24019_v1.8.patch (license #5621) patch
	  uploaded by rmudgett Review:
	  https://reviewboard.asterisk.org/r/3928/ ........ Merged
	  revisions 421976 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421977 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421978 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-24 19:36 +0000 [r421911-421956]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_transport_websocket.c, /:
	  res_pjsip_transport_websocket: Attach the Websocket module on
	  outgoing INVITEs. In order to alter the Contact header on
	  in-dialog requests and responses the Websocket module must be
	  attached on outgoing INVITEs. The Contact header is modified so
	  that the PJSIP transport layer can find and use the existing
	  Websocket connection based on the source IP address, port, and
	  transport. ASTERISK-24143 #close Reported by: Aleksei Kulakov
	  ........ Merged revisions 421955 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_transport_websocket.c:
	  res_pjsip_transport_websocket: Fix a progressive memory growth.
	  The packet structure used to receive messages was using the
	  transport pool. This meant that for each parsing the pool would
	  grow accordingly. Since memory can not be reclaimed without
	  resetting it this would cause the memory pool to grow and grow.
	  This change uses a specific memory pool for the packet structure
	  and resets it to a fresh state after the message has been
	  received and handled. ........ Merged revisions 421939 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_transport_websocket.c:
	  res_pjsip_transport_websocket: Ensure secure Websocket clients
	  can be called. This change enforces the transport in the Contact
	  header for Websocket clients. Previously a client may provide a
	  transport of 'ws' when it is actually using a transport of 'wss'.
	  This would cause outgoing calls to fail as the existing
	  connection could not be found. ........ Merged revisions 421931
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: chan_sip: Use the server reflexive ICE
	  candidate RTCP port as provided. This code originally worked
	  around an issue within res_rtp_asterisk itself. The wrong socket
	  was being used for the STUN check for RTCP, causing the port to
	  be the same as RTP. This was subsequently fixed and the RTCP port
	  provided for the ICE candidate is correct and does not need to be
	  incremented. ASTERISK-23997 #close Reported by: Badalian
	  Vyacheslav Patches: plus1.diff submitted by Badalian Vyacheslav
	  (license 5249) ........ Merged revisions 421909 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421910 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-22 16:56 +0000 [r421882]  Mark Michelson <mmichelson@digium.com>

	* apps/app_mixmonitor.c: Fix a locking inversion in MixMonitor. We
	  need to unlock the audiohook before trying to lock the channel,
	  since the correct locking order is channel then audiohook.

2014-08-22 16:44 +0000 [r421880]  Jonathan Rose <jrose@digium.com>

	* res/res_stasis_answer.c, res/res_stasis.c, res/stasis/command.c,
	  res/res_stasis_playback.c, /, res/stasis/control.c,
	  res/stasis/stasis_bridge.c, res/stasis/command.h,
	  include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c:
	  ARI: Fix a crash caused by hanging during playback to a channel
	  in a bridge ASTERISK-24147 #close Reported by: Edvin Vidmar
	  Review: https://reviewboard.asterisk.org/r/3908/ ........ Merged
	  revisions 421879 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-22 14:08 +0000 [r421860]  Matthew Jordan <mjordan@digium.com>

	* main/message.c, /: main/message: Add a new-line to a DEBUG
	  message ........ Merged revisions 421859 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-21 22:07 +0000 [r421802]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_musiconhold.c: res_musiconhold.c: Remove obsolete
	  REF_DEBUG code. Remove unneeded code that writes to the wrong
	  file location in an obsolete format. ........ Merged revisions
	  421799 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 421800 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421801 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-21 21:42 +0000 [r421790-421797]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_session.c, /: Switch from hostname to an IP address
	  in the SDP origin line. Using the hostname in the SDP origin line
	  may not satisfy the requirement of RFC 4566 that we use a FQDN or
	  IP address. This change has us use the same information from the
	  SDP connection line if possible. If not possible, we'll use the
	  configured media address. And if that's not possible, we use the
	  result of a PJLIB call to get the IP address of ourself.
	  ASTERISK-23994 #close Reported by Private Name Review:
	  https://reviewboard.asterisk.org/r/3925 ........ Merged revisions
	  421796 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/stasis/control.c: Ensure after-bridge behavior is correct
	  when moving from Stasis to a non-Stasis bridge. Because of the
	  departable state of channels that enter Stasis bridges, Stasis
	  has to take responsibility for directing the channel to its
	  intended after-bridge destination if the channel moves from a
	  Stasis bridge to a non-Stasis bridge. This change ensures that
	  when such a move occurs, when the channel leaves the bridging
	  system, any after bridge gotos are honored. Review:
	  https://reviewboard.asterisk.org/r/3920 ........ Merged revisions
	  421792 from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_caller_id.c, /: Let's try checking the name and
	  number, instead of the name twice. ........ Merged revisions
	  421789 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-21 21:25 +0000 [r421788]  Jonathan Rose <jrose@digium.com>

	* /, res/res_musiconhold.c: res_musiconhold: Fix reference leaks
	  caused when reloading with REF_DEBUG set Due to a faulty function
	  for debugging reference decrementing, it was possible to reduce
	  the refcount on the wrong object if two moh classes of the same
	  name were in the moh class container. (closes issue
	  ASTERISK-22252) Reported by: Walter Doekes Patches:
	  18_moh_debug_ref_patch.diff Uploaded by Jonathan Rose (license
	  6182) ........ Merged revisions 398937 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421777 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421779 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-21 21:18 +0000 [r421783]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip_caller_id.c: Improve consistency of party ID
	  privacy usage. Prior to this change, the Remote-Party-ID header
	  took the position of "If caller name and number are not
	  explicitly allowed, then they are private" and
	  P-Asserted-Identity took the position of "Caller name and number
	  are only private if marked explicitly so" Now both mechanisms of
	  conveying party identification use the former approach. ........
	  Merged revisions 421778 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-21 17:34 +0000 [r421675-421720]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: chan_sip: Don't use port derived from
	  fromdomain if it isn't set If a user does not provide a port in
	  the fromdomain setting, chan_sip will set the fromdomainport to
	  STANDARD_SIP_PORT (5060). The fromdomainport value will then get
	  used unilaterally in certain places. This causes issues with TLS,
	  where the default port is expected to be 5061. This patch
	  modifies chan_sip such that fromdomainport is only used if it is
	  not the standard SIP port; otherwise, the port from the SIP pvt's
	  recorded self IP address is used. Review:
	  https://reviewboard.asterisk.org/r/3893/ ASTERISK-24178 #close
	  Reported by: Elazar Broad patches: fromdomainport_fix.diff
	  uploaded by Elazar Broad (License 5835) ........ Merged revisions
	  421717 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 421718 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421719 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, UPGRADE.txt, main/app.c: ARI: Fix implicit answer when
	  playback is initiated on unanswered channel When issuing a POST
	  /channels/{channel_id}/play on a channel that is not yet
	  answered, ARI is supposed to: * Queue up an AST_CONTROL_PROGRESS
	  on the channel * Start up the playback of the media Instead, we
	  sneak an answer on the channel right before starting playing
	  media. This is due to ARI's usage of control_streamfile. This
	  function implicitly answers the channel (and doesn't give ARI the
	  option to stop it). The answering of the channel here is probably
	  unnecessary: * app_voicemail, by far the biggest consumer of this
	  function, always answers the channels anyway * control stream
	  file (in res_agi) and ControlPlayback probably shouldn't be
	  implicitly answering the channel. Answering should not be tied
	  directly to playing back media. As it turns out, the answering of
	  the channel here is pretty old: 356042 twilson if
	  (ast_channel_state(chan) != AST_STATE_UP) { 3087 anthm res =
	  ast_answer(chan); 180259 tilghman } (As in, ancient?) Note that
	  others ran into this problem and commented about it on various
	  mailing lists. Review: https://reviewboard.asterisk.org/r/3907/
	  ASTERISK-24229 #close Reported by: Matt Jordan ........ Merged
	  revisions 421695 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/stasis/messaging.h, main/dns.c, /, main/format_cache.c: Clean
	  up files that do not end with newlines Trivial patch to add new
	  lines to several files missing them. This fixes warnings when
	  compiling with gcc 4.1.2 on CentOS 5. ASTERISK-24245 #close
	  Reported by: Shaun Ruffell patches:
	  0002-Trivial-addition-of-newlines-at-end-of-three-files.patch
	  uploaded by Shaun Ruffell (License 5417) ........ Merged
	  revisions 421677 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/uri.h, main/uri.c: uri: Quiet warning about type
	  qualifiers ignored on function return type This patch fixes gcc
	  warnings that occur due to the type qualifier 'const' being
	  ignored on a return type of int. ASTERISK-24246 #close Reported
	  by: Shaun Ruffell patches:
	  0001-main-uri-Quiet-warning-about-ignored-attribute-on-re.patch
	  uploaded by Shaun Ruffell (License 5417)

2014-08-20 22:49 +0000 [r421616-421645]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge.c, res/res_pjsip_sdp_rtp.c, main/file.c,
	  main/bridge_channel.c, channels/chan_pjsip.c, main/channel.c:
	  chan_pjsip: Update media translation paths when new SDP
	  negotiated. On a SIP reinvite that changes media strams, the
	  PJSIP channel driver was flooding the log with "Asked to transmit
	  frame type %s, while native formats is %s" warnings. * Fixes
	  PJSIP not setting up translation paths when the formats change on
	  a reinvite. AFS-63 was effectively reintroduced because of the
	  media formats work. res_pjsip_sdp_rtp.c:set_caps() * Improved the
	  unexpected frame format WARNING message to include more
	  information. * Added protective locking while altering formats on
	  a channel. Reworked set_format() to simplify and protect the
	  formats under manipulation. * Restored some code that got lost in
	  the media_formats work. (channel.c:set_format() and
	  res_pjsip_sdp_rtp.c:set_caps()) AFS-137 #close Reported by: Mark
	  Michelson Review: https://reviewboard.asterisk.org/r/3906/

	* /, main/cli.c: cli.c: Fix tab completion of "module load" when
	  MALLOC_DEBUG is enabled. filename_completion_function() returns
	  memory that was not allocated by the MALLOC_DEBUG allocation
	  tracker so the memory must be freed by ast_std_free(). ........
	  Merged revisions 421600 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421602 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421608 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-20 20:40 +0000 [r421566-421585]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pubsub.c: Set the role for inbound subscriptions
	  correctly. This was causing the AMI show_subscriptions test in
	  the testsuite to fail since all subscriptions were being seen as
	  subscribers instead of notifiers.

	* /, channels/chan_pjsip.c: Move evaluation of set_var options in
	  pjsip to the end of channel initialization. This allows for
	  set_var to override certain defaults such as caller ID and codec
	  values. This also fixes a test suite regression. The "set_var"
	  test suite test attempted to use set_var to override caller ID,
	  but a recent change caused that to no longer work. ........
	  Merged revisions 421565 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-20 13:04 +0000 [r421538]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/stasis_bridges.h, tests/test_cel.c,
	  res/ari/ari_model_validators.c, main/stasis_bridges.c,
	  res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
	  res/stasis/app.c, main/bridge.c: Stasis: Add information to blind
	  transfer event When a blind transfer occurs that is forced to
	  create a local channel pair to satisfy the transfer request,
	  information about the local channel pair is not published. This
	  adds a field to describe that channel to the blind transfer
	  message struct so that this information is conveyed properly to
	  consumers of the blind transfer message. This also fixes a bug in
	  which Stasis() was unable to properly identify the channel that
	  was replacing an existing Stasis-controlled channel due to a
	  blind transfer. Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3921/ ........ Merged
	  revisions 421537 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-19 20:28 +0000 [r421448-421488]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip.c: Alter documentation for callerid_privacy to
	  use correct values. ........ Merged revisions 421485 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis.c, /: Fix compilation error on certain versions of
	  GCC. ........ Merged revisions 421447 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-19 19:42 +0000 [r421445]  Kinsey Moore <kmoore@digium.com>

	* main/manager.c, /: AMI Docs: Fix Status channel parameter
	  optionality ........ Merged revisions 421442 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421443 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421444 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-19 16:28 +0000 [r421423]  Jonathan Rose <jrose@digium.com>

	* res/res_stasis.c, /: ARI: Fix a bug where
	  /channels/{channelID}/continue doesn't execute PBX If
	  /channels/{channelID}/continue is called on a channel that was
	  originated without a PBX (such as the ARI command POST channel
	  with a stasis application argument), the channel will not start
	  dialplan execution. This patch will now run the PBX out of the
	  stasis execution if the channel doesn't currently have an active
	  PBX upon continuing. ASTERISK-24043 #close Reported by: Krandon
	  Bruse Review: https://reviewboard.asterisk.org/r/3917/ Patches:
	  stasis-continue.diff submitted by Krandon Bruse (license 6631)
	  ........ Merged revisions 421416 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-19 16:11 +0000 [r421403]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_pjsip_caller_id.c, channels/chan_pjsip.c,
	  res/res_pjsip_session.c: chan_pjsip: Fix attended transfer
	  connected line name update. A calls B B answers B SIP attended
	  transfers to C C answers, B and C can see each other's connected
	  line information B completes the transfer A has number but no
	  name connected line information about C while C has the full
	  information about A I examined the incoming and outgoing party id
	  information handling of chan_pjsip and found several issues: *
	  Fixed ast_sip_session_create_outgoing() not setting up the
	  configured endpoint id as the new channel's caller id. This is
	  why party A got default connected line information. * Made
	  update_initial_connected_line() use the channel's CALLERID(id)
	  information. The core, app_dial, or predial routine may have
	  filled in or changed the endpoint caller id information. * Fixed
	  chan_pjsip_new() not setting the full party id information
	  available on the caller id and ANI party id. This includes the
	  configured callerid_tag string and other party id fields. * Fixed
	  accessing channel party id information without the channel lock
	  held. * Fixed using the effective connected line id without doing
	  a deep copy outside of holding the channel lock. Shallow copy
	  string pointers can become stale if the channel lock is not held.
	  * Made queue_connected_line_update() also update the channel's
	  CALLERID(id) information. Moving the channel to another bridge
	  would need the information there for the new bridge peer. * Fixed
	  off nominal memory leak in update_incoming_connected_line(). *
	  Added pjsip.conf callerid_tag string to party id information from
	  enabled trust_inbound endpoint in caller_id_incoming_request().
	  AFS-98 #close Reported by: Mark Michelson Review:
	  https://reviewboard.asterisk.org/r/3913/ ........ Merged
	  revisions 421400 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-18 21:10 +0000 [r421376]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Skinny: Fixup compile warning for non
	  dev-mode.

2014-08-18 20:19 +0000 [r421337]  George Joseph <george.joseph@fairview5.com>

	* funcs/func_config.c, /: func_config: Change 'Not Found' message
	  from ERROR to DEBUG When you call the CONFIG dialplan function
	  with the name of a variable that doesn't exist in the target
	  context you get an ERROR. This does nothing but clutter up the
	  logs with messages that may be perfectly acceptable. Just because
	  a variable wasn't in the context doesn't mean it's an error.
	  Maybei t's optional or just needs to be defaulted or ignored.
	  This patch changes the log level from ERROR to DEBUG. If a
	  dialplan developer wants to debug their dialplan they still canby
	  setting the console debug level as needed. Tested by: George
	  Joseph Review: https://reviewboard.asterisk.org/r/3919/ ........
	  Merged revisions 421327 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421328 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421329 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-18 01:13 +0000 [r421230-421312]  Matthew Jordan <mjordan@digium.com>

	* res/ari/resource_channels.c: res/ari/resource_channels: Fix
	  compilation issue Forgot a parameter. Whoops.

	* res/ari/resource_channels.c: res/ari/resource_channels: Don't
	  return allocation failure on failed function If a function fails
	  to execute, it is most likely due to one of two reasons: (1) The
	  function doesn't exist or can't be read from (2) The function is
	  dangerous and is restricted based on the user's permissions
	  Currently we return allocation failure, which is incorrect. This
	  updates the reason code to more accurately reflect why the
	  request failed. ASTERISK-24215

	* /, apps/app_meetme.c: apps/app_meetme: Fix crash when publishing
	  MeetMe messages with no channel The same function,
	  meetme_stasis_generate_msg, handles creating and publishing
	  Stasis message both when there are channels in the MeetMe
	  conference and when there are no channels in the conference. When
	  the performance improvement was made to use cached snapshots,
	  this created a situation where Asterisk would crash: obtaining a
	  cached snapshot is not NULL tolerant. This patch restores the
	  previous implementation, which used a NULL safe set of routines
	  to produce a blob containing the channel snapshot (if available)
	  and information about the MeetMe conference. ASTERISK-24234
	  #close Reported by: Shaun Ruffell Tested by: Shaun Ruffell
	  ........ Merged revisions 421270 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_dial.c, /: apps/app_dial: Fix Dial 'z' option The 'z'
	  option is supposed to disable the dial timeout in the case of a
	  call forward. Unfortunately, the wrong timeout timer was passed
	  to the do_forward function, resulting in the option not working.
	  ASTERISK-24225 #close Reported by: dimitripietro Tested by:
	  dimitripietro patches: jira_asterisk_24225_v1.8.patch uploaded by
	  rmudgett (License 5621) jira_asterisk_24225_v11.patch uploaded by
	  rmudgett (License 5621) ........ Merged revisions 421232 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421233 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421234 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, configure, configure.ac: configure: Undefine FORTIFY_SOURCE
	  prior to defining it for patched gcc Some distributions of Linux
	  patch gcc to define FORTIFY_SOURCE when gcc is executed with
	  optimization. This "help" unfortunately results in re-definition
	  warnings when FORTIFY_SOURCE is later defined in Asterisk's build
	  system. This patch undefines FORTIFY_SOURCE prior to defining it
	  to prevent this warning. Review:
	  https://reviewboard.asterisk.org/r/3912/ ASTERISK-24032 #close
	  Reported by: Kilburn Tested by: Kilburn, wdoekes patches:
	  1.8.diff uploaded by cloos (License 5956) 10.diff uploaded by
	  cloos (License 5956) 11.diff uploaded by cloos (License 5956)
	  12.diff uploaded by cloos (License 5956) 13.diff uploaded by
	  cloos (License 5956) ........ Merged revisions 421227 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421228 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421229 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-17 16:10 +0000 [r421210]  Joshua Colp <jcolp@digium.com>

	* res/res_http_websocket.c: res_http_websocket: Include query
	  parameters in client connection requests. Review:
	  https://reviewboard.asterisk.org/r/3914/

2014-08-15 17:08 +0000 [r421187]  Jonathan Rose <jrose@digium.com>

	* main/channel.c, /: Bridging: Fix a behavioral change when
	  checking if a channel is leaving a bridge r420934 introduced some
	  failures in the test suite. Upon investigating, it was discovered
	  that differences in the way we were evaluating whether a channel
	  was in the process of leaving a bridge were causing some
	  reinvites not to occur (mostly reinvites back to Asterisk when
	  ending a call). This patch fixes that behavioral change.
	  ASTERISK-24027 #close Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3910/ ........ Merged
	  revisions 421186 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-15 15:45 +0000 [r421042-421166]  Matthew Jordan <mjordan@digium.com>

	* apps/app_voicemail.c, /, main/app.c: app_voicemail/app: Remove
	  test events that were duplicated by r421059 Moving the test event
	  raised when a file is played back (which occurred in r421059)
	  broke the ever loving snot out of the voicemail tests. This
	  caused duplicate test events to get raised, as app_voicemail and
	  main/app were raising events prior to call ast_streamfile. The
	  voicemail tests did not enjoy getting multiple events. Since
	  raising the playback event in ast_streamfile is far more useful
	  to the vast majority of tests, this patch keeps the call there
	  and simply removes the extraneous calls that duplicated the
	  event. ........ Merged revisions 421125 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421164 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421165 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_hep_rtcp.c, /: res/res_hep_rtcp: Remove dependency on
	  PJSIP The res_hep_rtcp module was incorrectly including
	  <pjsip.h>. This didn't need to be included, as the module does
	  not using PJPROJECT any fashion. Unfortunately, because
	  res_hep_rtcp did not include pjsip in its MODULEINFO as a
	  dependency, this also meant that res_hep_rtcp will fail to
	  compile on a system without PJPROJECT. This patch removes the
	  include. Thanks to Damien Wedhorn for pointing this out in
	  #asterisk-dev. ASTERISK-24236 #close Reported by: Damien Wedhorn,
	  Matt Jordan Tested by: Damien Wedhorn ........ Merged revisions
	  421064 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/file.c, main/app.c: main/file: Move test event to emit
	  PLAYBACK event more consistently This is being done in advance of
	  the test for ASTERISK-23953 ........ Merged revisions 421059 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 421060 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 421061 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* tests/test_cel.c, main/cel.c, /: cel: Make sure channels in extra
	  fields include their unique IDs as well CEL typically tracks a
	  lot of information using the unique ID of the channel. This is
	  typically needed due to tying events together using the linked ID
	  of the various channels involved in a "call", which is derived
	  from the channel ID of the oldest channel involved in a bridge
	  (or in the case of a Dial, the parent channel). Previously, we
	  had updated the extra fields to include the involved channel
	  names, but forgot to put in the unique ID. This patch corrects
	  that error. ........ Merged revisions 421037 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-14 16:32 +0000 [r420957-421010]  Richard Mudgett <rmudgett@digium.com>

	* /, res/ari/resource_channels.c: ARI: Originate to app local
	  channel subscription code optimization. Reduce the scope of
	  local_peer and only get it if the ARI originate is subscribing to
	  the channels. Review: https://reviewboard.asterisk.org/r/3905/
	  ........ Merged revisions 421009 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/channel_internal_api.c, main/channel.c:
	  channel_internal_api.c: Replace some code with ao2_replace(). Use
	  ao2_replace() instead of ao2_cleanup(); ao2_bump(). ao2_replace()
	  has the advantange of not altering the ref count if the replaced
	  pointer is the same. Review:
	  https://reviewboard.asterisk.org/r/3904/

	* /, res/res_pjsip_send_to_voicemail.c:
	  res_pjsip_send_to_voicemail.c: Fix svn file properties. ........
	  Merged revisions 420956 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-13 16:53 +0000 [r420950]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip.c, /: PJSIP: Prevent crash no-URI contacts This
	  prevents a crash from occurring when a contact with no URI is
	  used for the creation of an outbound out-of-dialog request with
	  no associated endpoint. ........ Merged revisions 420949 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-13 16:07 +0000 [r420940]  Jonathan Rose <jrose@digium.com>

	* main/bridge_after.c, main/channel_internal_api.c,
	  include/asterisk/channel.h, apps/app_chanspy.c,
	  apps/app_mixmonitor.c, apps/app_stack.c, main/bridge_channel.c,
	  main/channel.c, main/pbx.c, /, main/framehook.c: Bridges: Fix
	  feature interruption/unintended kick caused by external actions
	  If a manager or CLI user attached a mixmonitor to a call running
	  a dynamic bridge feature while in a bridge, the feature would be
	  interrupted and the channel would be forcibly kicked out of the
	  bridge (usually ending the call during a simple 1 to 1 call).
	  This would also occur during any similar action that could set
	  the unbridge soft hangup flag, so the fix for this was to remove
	  unbridge from the soft hangup flags and make it a separate thing
	  all together. ASTERISK-24027 #close Reported by: mjordan Review:
	  https://reviewboard.asterisk.org/r/3900/ ........ Merged
	  revisions 420934 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-13 14:24 +0000 [r420919]  Kinsey Moore <kmoore@digium.com>

	* main/manager.c: AMI: Improve documentation for Status action

2014-08-13 07:52 +0000 [r420899]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, main/logger.c: logger: Don't store verbose-magic in the log
	  files. In r399267, the verbose2magic stuff was edited. This time
	  it results in magic characters in the log files for multiline
	  messages. In trunk (and 13) this was fixed by the "stripping" of
	  those characters from multiline messages (in r414798). This fix
	  is altered to actually strip the characters and not replace them
	  with blanks. Review: https://reviewboard.asterisk.org/r/3901/
	  Review: https://reviewboard.asterisk.org/r/3902/ ........ Merged
	  revisions 420897 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 420898 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-12 23:43 +0000 [r420879-420881]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_sip.c: chan_sip: Fix type mismatch when the format
	  is changed. Symptom is most likely an invalid ao2 object bad
	  magic number message or a less likely crash.

	* res/res_stasis_snoop.c: res_stasis_snoop.c: Fix off nominial exit
	  path leaving Snoop channel locked and not hungup. * Made use
	  ast_copy_string() instead of strcpy() for snoop uniqueid for
	  safety. There is no guarantee that the max channel uniqueid
	  length will remain the same as the snoop uniqueid space.

2014-08-12 11:17 +0000 [r420856]  Joshua Colp <jcolp@digium.com>

	* apps/app_voicemail.c: app_voicemail: Fix the
	  "test_voicemail_vm_info" unit test.

2014-08-11 20:53 +0000 [r420837]  Richard Mudgett <rmudgett@digium.com>

	* res/stasis/command.c, /: res/stasis/command.c: Fix recent commit
	  using spaces instead of tabs. ........ Merged revisions 420836
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-11 18:50 +0000 [r420808]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/playbacks.json,
	  rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
	  rest-api/resources.json, include/asterisk/manager.h,
	  rest-api/api-docs/bridges.json,
	  rest-api/api-docs/recordings.json,
	  rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/endpoints.json,
	  rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
	  /, rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json: AMI/ARI: Update version to
	  2.5.0/1.5.0 respectively This is to support the backwards
	  compatible changes made in the next version of Asterisk. ........
	  Merged revisions 420805 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-11 18:46 +0000 [r420796-420803]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_stasis.c: Stasis: Use the correct return value Return
	  the correct value instead of always returning 0 when setting
	  internal status on unreal channels. Reported by: Richard Mudgett
	  ........ Merged revisions 420802 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis.c, res/ari/resource_bridges.c, /,
	  res/stasis/stasis_bridge.c, include/asterisk/stasis_app.h:
	  Stasis: Allow internal channels directly into bridges The patch
	  to catch channels being shoehorned into Stasis() via external
	  mechanisms also happens to catch Announcer and Recorder channels
	  because they aren't known to be stasis-controlled channels in the
	  usual sense. This marks those channels as Stasis()-internal
	  channels and allows them directly into bridges. Review:
	  https://reviewboard.asterisk.org/r/3903/ ........ Merged
	  revisions 420795 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-11 18:32 +0000 [r420758-420794]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/stasis_app.h, main/stasis_channels.c,
	  res/ari/resource_channels.c, CHANGES, res/res_pjsip_pubsub.c,
	  main/manager_channels.c, apps/app_dial.c, res/stasis/app.c,
	  res/stasis/control.c: Improve call forwarding reporting,
	  especially with regards to ARI. This patch addresses a few
	  issues: 1) The order of Dial events have been changed when
	  performing a call forward. The order has now been altered to 1)
	  Dial begins dialing channel A. 2) When A forwards the call to B,
	  we issue the dial end event to channel A, indicating the dial is
	  being canceled due to a forward to B. 3) When the call to channel
	  B occurs, we then issue a new dial begin to channel B. 2) Call
	  forwards are now reported on the calling channel, not the peer
	  channel. 3) AMI DialEnd events have been altered to display the
	  extension the call is being forwarded to when relevant. 4) You
	  can now get the values of channel variables for channels that are
	  not currently in the Stasis application. This brings the
	  retrieval of channel variables more in line with the rest of
	  channel read operations since they may be performed on channels
	  not in Stasis. ASTERISK-24134 #close Reported by Matt Jordan
	  ASTERISK-24138 #close Reported by Matt Jordan Patches:
	  forward-shenanigans.diff uploaded by Matt Jordan (License #6283)
	  Review: https://reviewboard.asterisk.org/r/3899

	* res/res_pjsip_pubsub.c: Fix crashing unit tests with regards to
	  RLS. The unit tests require a sorcery.conf file that has been set
	  up to store resource lists in memory rather than retrieving from
	  configuration. With a setup that is not conducive to running the
	  tests, a fault in sorcery currently causes Asterisk to crash when
	  attempting to run any of the tests. To get around the crash, this
	  adds a function that verifies the current environment and marks
	  the tests as "not run" if the setup is not correct.

	* res/res_pjsip_pubsub.c: Fix crash encountered by the testsuite.
	  Running testsuite tests locally produced no errors, but when run
	  using the continuous integration framework, crashes occurred. The
	  crashes occurred due to a refcounting error that had been fixed
	  for a similar situation.

2014-08-11 13:57 +0000 [r420742]  Matthew Jordan <mjordan@digium.com>

	* res/res_hep.c, res/res_hep_pjsip.c, res/res_hep_rtcp.c: res_hep:
	  Remove disabling of modules These modules were originally
	  specified as being disabled, as they were introduced midstream in
	  Asterisk 12. That makes it nicer for folks who are upgrading to a
	  new release in the middle of Asterisk 12. That's not the case for
	  Asterisk 13: it's a brand new release. There's no reason to have
	  the modules disabled by default in that case.

2014-08-11 10:40 +0000 [r420657-420717]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, main/utils.c: general: Fix memory Corruption in
	  __ast_string_field_ptr_build_va. If the space left in a
	  stringfield is between 0 and
	  (alignof(ast_string_field_allocation)-1) adding new data would
	  cause memory corruption, because we would assume enough space
	  (unsigned underrun). Thanks Arnd Schmitter for reporting and
	  finding out the cause! ASTERISK-23508 #close Reported by: Arnd
	  Schmitter Tested by: Arnd Schmitter, JoshE Review:
	  https://reviewboard.asterisk.org/r/3898/ ........ Merged
	  revisions 420680 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 420715 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 420716 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/tcptls.c, /: tcptls: Avoid compiler warning on non-dev-mode.
	  ........ Merged revisions 420654 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 420655 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 420656 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-11 01:31 +0000 [r420607-420639]  Matthew Jordan <mjordan@digium.com>

	* funcs/func_jitterbuffer.c: funcs/func_jitterbuffer: Tweak
	  documentation This patch merely reformats and cleans up a bit of
	  the jitterbuffer documentation for the wiki.

	* UPGRADE.txt, configs/samples/extconfig.conf.sample, CHANGES,
	  apps/app_queue.c,
	  contrib/ast-db-manage/config/versions/d39508cb8d8_create_queue_rules.py
	  (added), configs/samples/queuerules.conf.sample: app_queue: Add
	  RealTime support for queue rules This patch gives the optional
	  ability to keep queue rules in RealTime. It is important to note
	  that with this patch: (a) Queue rules in RealTime are only
	  examined on module load/reload (b) Queue rules are loaded both
	  from the queuerules.conf file as well as the RealTime backend To
	  inform app_queue to examine RealTime for queue rules, a new
	  setting has been added to queuerules.conf's general section
	  "realtime_rules". RealTime queue rules will only be used when
	  this setting is set to "yes". The schema for the database table
	  supports a rule_name, time, min_penalty, and max_penalty columns.
	  min_penalty and max_penalty can be relative, if a '-' or '+'
	  literal is provided. Otherwise, the penalties are treated as
	  constants. For example: rule_name, time, min_penalty, max_penalty
	  'default', '10', '20', '30' 'test2', '20', '30', '55' 'test2',
	  '25', '-11', '+1111' 'test2', '400', '112', '333' 'test3', '0',
	  '4564', '46546' 'test_rule', '40', '15', '50' which would result
	  in : Rule: default - After 10 seconds, adjust QUEUE_MAX_PENALTY
	  to 30 and adjust QUEUE_MIN_PENALTY to 20 Rule: test2 - After 20
	  seconds, adjust QUEUE_MAX_PENALTY to 55 and adjust
	  QUEUE_MIN_PENALTY to 30 - After 25 seconds, adjust
	  QUEUE_MAX_PENALTY by 1111 and adjust QUEUE_MIN_PENALTY by -11 -
	  After 400 seconds, adjust QUEUE_MAX_PENALTY to 333 and adjust
	  QUEUE_MIN_PENALTY to 112 Rule: test3 - After 0 seconds, adjust
	  QUEUE_MAX_PENALTY to 46546 and adjust QUEUE_MIN_PENALTY to 4564
	  Rule: test_rule - After 40 seconds, adjust QUEUE_MAX_PENALTY to
	  50 and adjust QUEUE_MIN_PENALTY to 15 If you use RealTime, the
	  queue rules will be always reloaded on a module reload, even if
	  the underlying file did not change. With the option disabled, the
	  rules will only be reloaded if the file was modified. Review:
	  https://reviewboard.asterisk.org/r/3607/ ASTERISK-23823 #close
	  Reported by: Michael K patches: app_queue.c_realtime_trunk.patch
	  uploaded by Michael K (License 6621)

	* CHANGES: Update CHANGES file

	* UPGRADE.txt: Update UPGRADE.txt file

2014-08-08 20:08 +0000 [r420577-420592]  Jason Parker <jparker@digium.com>

	* apps/app_voicemail.c: Fix build in devmode.

	* CHANGES, configs/samples/voicemail.conf.sample,
	  apps/app_voicemail.c: app_voicemail: Add the ability to specify
	  multiple email addresses. ASTERISK-24045 Reported by: Jacob
	  Barber Review: https://reviewboard.asterisk.org/r/3833/

2014-08-08 17:53 +0000 [r420534-420562]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_sip.c, channels/sip/security_events.c,
	  channels/sip/dialplan_functions.c, channels/sip/reqresp_parser.c,
	  channels/sip/route.c, channels/sip/utils.c,
	  channels/sip/config_parser.c: chan_sip: Mark chan_sip and its
	  files as extended support

	* rest-api-templates/make_ari_stubs.py: make_ari_stubs: Update wiki
	  prefix to '13'

	* rest-api-templates/res_ari_resource.c.mustache:
	  res_ari_resource.c.mustache: Update template to emit module
	  support level

	* main/message.c, /: main/message: remove debug message ........
	  Merged revisions 420533 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-08 03:03 +0000 [r420514]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c, /: CEL: Update unit tests for additional
	  information This updates the CEL unit tests for the new
	  information contained in the attended transfer CEL extra field.
	  ........ Merged revisions 420513 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-08 01:31 +0000 [r420494-420496]  Matthew Jordan <mjordan@digium.com>

	* UPGRADE.txt: Update UPGRADE file for 13 branch

	* /: Remove old properties

	* / (added): ___ _ _ _ __ _____ / _ \ | | (_) | | / ||____ | / /_\
	  \___| |_ ___ _ __ _ ___| | __ `| | / / | _ / __| __/ _ | '__| /
	  __| |/ / | | \ \ | | | \__ | || __| | | \__ | < _| |.___/ / \_|
	  |_|___/\__\___|_| |_|___|_|\_\ \___\____/

2014-08-07 21:58 +0000 [r420437]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_sip.c: chan_sip: Replace sip_tls_read() and
	  resolve the large SDP poll issue. Replace sip_tls_read() and
	  sip_tcp_read() with a single function and resolve the poll/wait
	  issue with large SDP payloads. ASTERISK-18345 #close Reported by:
	  Stephane Chazelas Patches: tcptls_pollv4.diff (license #5835)
	  patch uploaded by Elazar Broad Review:
	  https://reviewboard.asterisk.org/r/3882/ ........ Merged
	  revisions 420434 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 420435 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 420436 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-07 21:17 +0000 [r420389-420415]  Kinsey Moore <kmoore@digium.com>

	* main/stasis_bridges.c, /: Stasis: Correct blind transfer message
	  generation This fixes the json object creation format string and
	  key name for the BridgeBlindTransfer Stasis event allowing it to
	  be published properly. ........ Merged revisions 420414 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis_bridges.c, /: Stasis: Ensure transfer messages follow
	  validation rules This makes Stasis() event generation for
	  transfer messages follow validation rules. Currently,
	  ast_json_null() is being used in place of omitting a key entirely
	  which falls afoul of these validation rules.
	  https://reviewboard.asterisk.org/r/3892/ ........ Merged
	  revisions 420408 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_pubsub.c: Fix build in dev mode

2014-08-07 19:44 +0000 [r420384-420388]  Mark Michelson <mmichelson@digium.com>

	* /, main/bridge.c: Ensure bridges exist when trying to determine
	  bridged parties when publishing transfer information. ........
	  Merged revisions 420387 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/strings.c, include/asterisk/res_pjsip_presence_xml.h,
	  res/res_pjsip_mwi.c, res/res_pjsip_dialog_info_body_generator.c,
	  res/res_pjsip_xpidf_body_generator.c, include/asterisk/strings.h,
	  res/res_pjsip_pubsub.c, res/res_pjsip_exten_state.c,
	  include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_pidf_body_generator.c: Add support for RFC 4662
	  resource list subscriptions. This commit adds the ability for a
	  user to configure a resource list in pjsip.conf. Subscribing to
	  this list simultaneously subscribes the subscriber to all
	  resources listed. This has the potential to reduce the amount of
	  SIP traffic when loads of subscribers on a system attempt to
	  subscribe to each others' states.

2014-08-07 18:51 +0000 [r420364]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/format_compatibility.h,
	  channels/iax2/format_compatibility.c,
	  channels/iax2/include/codec_pref.h, main/format_compatibility.c,
	  channels/chan_iax2.c, channels/iax2/codec_pref.c,
	  channels/iax2/include/format_compatibility.h: chan_iax2: Several
	  media format fixes. * Fixed the iax.conf bandwidth option. This
	  is the root cause of ASTERISK-24150. * Added checks in
	  iax2_request() to ensure that there are actual formats requested
	  for the new channel to prevent any more fracks from issues like
	  ASTERISK-24150. This is a consequence of the iax.conf bandwidth
	  option not working. * Fixed struct iax2_codec_pref.order member
	  size mismatch issue when converting to and from the codec
	  preference order list passed over the wire. In addition the
	  values sent over the wire are now compatible with previous
	  Asterisk versions. * Fixed several issues dealing with the struct
	  iax2_codec_pref members. Off-by-one, array limit errors, and the
	  order/framing members always need to be updated together. * Made
	  iax2_request() setup the channel's native format preference order
	  according to the user's wishes. The new media format strategy
	  needs the order specified earler. * Fixed usage of
	  ast_format_compatibility_bitfield2format(). The function can
	  return NULL if the bitfield was not associated with a function. *
	  Deleted dead code iax2_codec_pref_getsize() and
	  iax2_codec_pref_setsize(). * Made iax2_parse_allow_disallow() and
	  iax2_codec_pref_string() call iax2_codec_pref_to_cap() instead of
	  inlining it. * Made IAX_CAPABILITY_MEDBANDWIDTH,
	  IAX_CAPABILITY_LOWBANDWIDTH, and IAX_CAPABILITY_LOWFREE constants
	  again as they were in Asterisk v1.8. * Renamed prefs to
	  prefs_global so it won't get confused with the local pref
	  versions. * Fixed too small buffer in
	  handle_cli_iax2_show_peer(). * Fixed ast_cli() calls in
	  handle_cli_iax2_show_peer() to output complete lines. * Changed
	  struct create_addr_info.prefs to be struct iax2_codec_pref as an
	  optimization so iax2_request() and iax2_call() do less work. *
	  Fixed a potential deadlock in ast_iax2_new() on an off-nominal
	  path when the pbx could not get started. * Made set_config()
	  setup a local prefs list along side the local capability format
	  bitfield. Once the config is loaded, then the local copies are
	  put into the global versions. * Fix unininialized codec_buf in
	  function_iaxpeer(). ASTERISK-24150 #close Reported by: Scott
	  Griepentrog Review: https://reviewboard.asterisk.org/r/3890/

2014-08-07 15:30 +0000 [r420338]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/bridge_features.h, res/res_stasis.c,
	  res/stasis/command.c, rest-api/api-docs/events.json, /,
	  res/stasis/app.c, res/stasis/control.c, main/bridge.c,
	  main/bridge_basic.c, res/stasis/stasis_bridge.c,
	  include/asterisk/stasis_bridges.h, res/stasis/command.h,
	  include/asterisk/stasis_app.h, res/stasis/app.h,
	  res/stasis/control.h, apps/app_queue.c,
	  res/ari/ari_model_validators.c, main/cel.c,
	  main/stasis_bridges.c, res/ari/ari_model_validators.h,
	  main/channel.c, include/asterisk/datastore.h, tests/test_cel.c:
	  Stasis: Convey transfer information to applications This fixes a
	  class of issues where Stasis applications were not made aware
	  that their channels were being manipulated or replaced by
	  external entitiessuch as transfers, AMI commands, or dialplan
	  applications such as Bridge(). Inconsistent information such as
	  StasisEnd events with unknown channels as a result of masquerades
	  has also been corrected. To accomplish these fixes, several new
	  fields were added to blind and attended transfer messages as well
	  as StasisStart and BridgeAttendedTransfer Stasis events.
	  ASTERISK-23941 #close Review:
	  https://reviewboard.asterisk.org/r/3865/ Review:
	  https://reviewboard.asterisk.org/r/3857/ Review:
	  https://reviewboard.asterisk.org/r/3852/ Review:
	  https://reviewboard.asterisk.org/r/3816/ Review:
	  https://reviewboard.asterisk.org/r/3731/ Review:
	  https://reviewboard.asterisk.org/r/3729/ Review:
	  https://reviewboard.asterisk.org/r/3728/ ........ Merged
	  revisions 420325 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-07 14:37 +0000 [r420314-420315]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_pubsub.exports.in, res/res_pjsip_publish_asterisk.c
	  (added), res/res_pjsip_pubsub.c: res_pjsip_publish_asterisk: Add
	  support for exchanging device and mailbox state using SIP. This
	  module uses the inbound and outbound PUBLISH support to exchange
	  device and mailbox state between Asterisk instances. Each
	  instance is configured to publish to the other and requires no
	  intermediary server. The functionality provided is similar to the
	  XMPP and Corosync support. Review:
	  https://reviewboard.asterisk.org/r/3780/

	* include/asterisk/res_pjsip_outbound_publish.h (added),
	  res/res_pjsip_outbound_publish.exports.in (added),
	  res/res_pjsip_outbound_publish.c (added):
	  res_pjsip_outbound_publish: Add module which provides outbound
	  PUBLISH support. This module implements the core parts required
	  for doing outbound PUBLISH. It takes care of configuration,
	  lifetime management, and authentication. Additional modules
	  implement the specific events that are published. Review:
	  https://reviewboard.asterisk.org/r/3780/

2014-08-07 14:17 +0000 [r420289-420309]  Matthew Jordan <mjordan@digium.com>

	* main/pbx.c: pbx: Filter out pattern matching hints in responses
	  sent to ExtensionStateList Hints that are a pattern match are
	  technically stored in the hint container in the same fashion as
	  concrete implementations of hints. The pattern matching hints,
	  however, are not "real" in the sense that things can subscribe to
	  them: rather, they are stored in the hints container so that when
	  a subscription is made a "real" hint can be generated for the
	  subscription if one does not yet exist. The extension state core
	  takes care of this correctly by matching against non-pattern
	  matching extensions prior to pattern matching extensions. Because
	  of this, however, the ExtensionStateList AMI action was returning
	  pattern matching hints when executed. These hints are meaningless
	  from the perspective of AMI clients: their state will never
	  change, they cannot be subscribed to, and events would never
	  normally be generated from them. As such, we now filter these out
	  of the response.

	* build_tools/post_process_documentation.py: build_tools: Skip
	  managerEvent combining for AMI action responses AMI action
	  responses can (and will) reference AMI events that they return.
	  These event references and definitions should not be combined
	  with AMI events raised elsewhere in the code, as they are
	  specifically tied to the AMI action that raised them.
	  ASTERISK-24156 #close Reported by: Rusty Newton

2014-08-06 18:12 +0000 [r420212-420237]  Richard Mudgett <rmudgett@digium.com>

	* contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
	  /: Fix alembic script to work properly in offline mode. When run
	  in offline mode, this would attempt to check the database for the
	  presence of a type it was going to try to create. I now check the
	  context to see if we're running in offline mode and change a
	  parameter accordingly. ........ Merged revisions 407567 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* contrib/ast-db-manage/config/versions/3855ee4e5f85_add_missing_pjsip_options.py
	  (added), /: Add alembic script that adds contact user_agent and
	  endpoint message_context. ........ Merged revisions 411514 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* contrib/ast-db-manage/voicemail/versions/39428242f7f5_increase_recording_column_size.py
	  (added), /,
	  contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
	  contrib/ast-db-manage/config.ini.sample,
	  contrib/ast-db-manage/config/versions/1758e8bbf6b_increase_useragent_column_size.py
	  (added),
	  contrib/ast-db-manage/config/versions/5139253c0423_make_q_member_uniqueid_autoinc.py
	  (added), contrib/ast-db-manage/cdr.ini.sample,
	  contrib/ast-db-manage/voicemail.ini.sample: alembic: Adjust
	  sippeers, queue_members, and voicemail_messages tables. *
	  Increased the sippeers useragent max string size to 255. *
	  Changed the queue_members uniqueid to an auto incremented integer
	  instead of a string. * Increased the voicemail_messages BLOB size
	  to LONGBLOB on mysql. * Fixed the add_tables_for_pjsip config
	  change version downgrade actions to drop a table it created. *
	  Adjusted the sample alembic.ini files cdr.ini.sample,
	  config.ini.sample, and voicemail.ini.sample to give a mysql and
	  postgres sqlalchemy.url lines. ASTERISK-23847 #close Reported by:
	  Stephen More ASTERISK-23825 #close Reported by: Stephen More
	  ASTERISK-23909 #close Reported by: Stephen More Review:
	  https://reviewboard.asterisk.org/r/3870/ ........ Merged
	  revisions 420211 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-06 16:12 +0000 [r420149]  George Joseph <george.joseph@fairview5.com>

	* /, pbx/pbx_lua.c, main/pbx.c: pbx_lua: fix regression with global
	  sym export and context clash by pbx_config. ASTERISK-23818 (lua
	  contexts being overwritten by contexts of the same name in
	  pbx_config) surfaced because pbx_lua, having the
	  AST_MODFLAG_GLOBAL_SYMBOLS set, was always force loaded before
	  pbx_config. Since I couldn't find any reason for pbx_lua to
	  export it's symbols to the rest of Asterisk, I simply changed the
	  flag to AST_MODFLAG_DEFAULT. Problem solved. What I didn't
	  realize was that the symbols need to be exported not because
	  Asterisk needs them but because any external Lua modules like
	  luasql.mysql need the base Lua language APIs exported
	  (ASTERISK-17279). Back to ASTERISK-23818... It looks like there's
	  an issue in pbx.c where context_merge was only merging includes,
	  switches and ignore patterns if the context was already existing
	  AND has extensions, or if the context was brand new. If pbx_lua
	  is loaded before pbx_config, the context will exist BUT pbx_lua,
	  being implemented as a switch, will never place extensions in it,
	  just the switch statement. The result is that when pbx_config
	  loads, it never merges the switch statement created by pbx_lua
	  into the final context. This patch sets pbx_lua's modflag back to
	  AST_MODFLAG_GLOBAL_SYMBOLS and adds an "else if" in context_merge
	  that catches the case where an existing context has includes,
	  switchs or ingore patterns but no actual extensions.
	  ASTERISK-23818 #close Reported by: Dennis Guse Reported by: Timo
	  Teräs Tested by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3891/ ........ Merged
	  revisions 420146 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 420147 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 420148 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-06 15:32 +0000 [r420144]  Walter Doekes <walter+asterisk@wjd.nu>

	* funcs/func_channel.c: Add documentation to the ability to
	  retrieve the source port of a SIP call. (belongs with r419970)
	  ASTERISK-24040 #close Patches: func_channel.c.diff uploaded by
	  dtryba Review: https://reviewboard.asterisk.org/r/3781/

2014-08-06 12:55 +0000 [r420124]  Kinsey Moore <kmoore@digium.com>

	* configs/samples/stasis.conf.sample (added), main/named_acl.c,
	  apps/app_queue.c, main/stasis_bridges.c, main/loader.c,
	  main/stasis.c, apps/app_forkcdr.c, main/stasis_message.c,
	  funcs/func_cdr.c, res/res_corosync.c, res/res_stun_monitor.c,
	  res/res_stasis_test.c, res/res_stasis.c, apps/app_chanspy.c,
	  main/stasis_cache.c, main/pickup.c, main/security_events.c,
	  include/asterisk/stasis.h, main/devicestate.c, main/core_local.c,
	  res/res_stasis_snoop.c, main/endpoints.c, main/presencestate.c,
	  main/cdr.c, main/channel.c, main/stasis_system.c, main/manager.c,
	  main/test.c, main/file.c, main/app.c, pbx/pbx_realtime.c,
	  main/stasis_channels.c, tests/test_stasis.c,
	  res/parking/parking_manager.c, main/stasis_endpoints.c,
	  main/rtp_engine.c, main/ccss.c, main/bridge.c,
	  tests/test_stasis_channels.c: Stasis: Allow message types to be
	  blocked This introduces stasis.conf and a mechanism to prevent
	  certain message types from being published. Internally, this
	  works by preventing the chosen message types from being created
	  which ensures that those message types can never be published.
	  This patch also adjusts message publishers such that message
	  payloads are not created if the related message type is not
	  available. ASTERISK-23943 #close Review:
	  https://reviewboard.asterisk.org/r/3823/

2014-08-05 21:48 +0000 [r420098-420100]  Matthew Jordan <mjordan@digium.com>

	* res/stasis/messaging.c, /: stasis: Fix compilation issue with ao2
	  tagged objects ........ Merged revisions 420099 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/ari/resource_endpoints.c, rest-api/api-docs/events.json, /,
	  channels/chan_sip.c, res/stasis/app.c, res/stasis/messaging.h
	  (added), res/ari/resource_endpoints.h, res/res_pjsip_messaging.c,
	  tests/test_message.c (added), res/res_xmpp.c,
	  include/asterisk/json.h, CHANGES, include/asterisk/manager.h,
	  res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
	  main/json.c, res/res_ari_endpoints.c, include/asterisk/message.h,
	  res/ari/resource_channels.c, main/message.c, res/res_stasis.c,
	  res/stasis/messaging.c (added), rest-api/api-docs/endpoints.json:
	  Multiple revisions 420089-420090,420097 ........ r420089 |
	  mjordan | 2014-08-05 15:10:52 -0500 (Tue, 05 Aug 2014) | 72 lines
	  ARI: Add channel technology agnostic out of call text messaging
	  This patch adds the ability to send and receive text messages
	  from various technology stacks in Asterisk through ARI. This
	  includes chan_sip (sip), res_pjsip_messaging (pjsip), and
	  res_xmpp (xmpp). Messages are sent using the endpoints resource,
	  and can be sent directly through that resource, or to a
	  particular endpoint. For example, the following would send the
	  message "Hello there" to PJSIP endpoint alice with a display URI
	  of sip:asterisk@mycooldomain.org:
	  ari/endpoints/sendMessage?to=pjsip:alice&from=sip:asterisk@mycooldomain.org&body=Hello+There
	  This is equivalent to the following as well:
	  ari/endpoints/PJSIP/alice/sendMessage?from=sip:asterisk@mycooldomain.org&body=Hello+There
	  Both forms are available for message technologies that allow for
	  arbitrary destinations, such as chan_sip. Inbound messages can
	  now be received over ARI as well. An ARI application that
	  subscribes to endpoints will receive messages from those
	  endpoints: { "type": "TextMessageReceived", "timestamp":
	  "2014-07-12T22:53:13.494-0500", "endpoint": { "technology":
	  "PJSIP", "resource": "alice", "state": "online", "channel_ids":
	  [] }, "message": { "from": "\"alice\" <sip:alice@127.0.0.1>",
	  "to": "pjsip:asterisk@127.0.0.1", "body": "Watson, come here.",
	  "variables": [] }, "application": "testsuite" } The above was
	  made possible due to some rather major changes in the message
	  core. This includes (but is not limited to): - Users of the
	  message API can now register message handlers. A handler has two
	  callbacks: one to determine if the handler has a destination for
	  the message, and another to handle it. - All dialplan
	  functionality of handling a message was moved into a message
	  handler provided by the message API. - Messages can now have the
	  technology/endpoint associated with them. Various other
	  properties are also now more easily accessible. - A number of ao2
	  containers that weren't really needed were replaced with vectors.
	  Iteration over ao2_containers is expensive and pointless when the
	  lifetime of things is well defined and the number of things is
	  very small. res_stasis now has a new file that makes up its
	  structure, messaging. The messaging functionality implements a
	  message handler, and passes received messages that match an
	  interested endpoint over to the app for processing. Note that
	  inadvertently while testing this, I reproduced ASTERISK-23969.
	  res_pjsip_messaging was incorrectly parsing out the 'to' field,
	  such that arbitrary SIP URIs mangled the endpoint lookup. This
	  patch includes the fix for that as well. Review:
	  https://reviewboard.asterisk.org/r/3726 ASTERISK-23692 #close
	  Reported by: Matt Jordan ASTERISK-23969 #close Reported by:
	  Andrew Nagy ........ r420090 | mjordan | 2014-08-05 15:16:37
	  -0500 (Tue, 05 Aug 2014) | 2 lines Remove automerge properties
	  :-( ........ r420097 | mjordan | 2014-08-05 16:36:25 -0500 (Tue,
	  05 Aug 2014) | 2 lines test_message: Fix strict-aliasing
	  compilation issue ........ Merged revisions 420089-420090,420097
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-05 13:59 +0000 [r420028]  Jonathan Rose <jrose@digium.com>

	* main/format.c: chan_iax2: Fix a crash that occurs when using
	  allow=all for an IAX2 peer Or any combination of codecs that
	  includes Opus. ASTERISK-24107 #close Review:
	  https://reviewboard.asterisk.org/r/3885/

2014-08-04 21:00 +0000 [r420007]  Richard Mudgett <rmudgett@digium.com>

	* main/format_cache.c, include/asterisk/format_cache.h: Remove
	  duplicate definitions of ast_format_vp8.

2014-08-04 20:25 +0000 [r419970]  Mark Michelson <mmichelson@digium.com>

	* channels/sip/dialplan_functions.c: Add the ability to retrieve
	  the source port of a SIP call. This adds the ability to call
	  CHANNEL(recvport) on chan_sip channels to see the port on which
	  an INVITE was received. ASTERISK-24040 #close Reported by dtryba
	  Patches: dialplan_functions.patch uploaded by dtryba (License
	  #6628) Review: https://reviewboard.asterisk.org/r/3781

2014-08-04 19:47 +0000 [r419945]  Rusty Newton <rnewton@digium.com>

	* main/manager.c, /: Manager - Improve documentation for manager
	  commands Getvar and Setvar. The documentation for these commands
	  did not make it clear that they could accept expressions and
	  functions. Modified to make this clear, but tried not to be
	  overly explicit. ASTERISK-21178 #close Reported by: Rusty Newton
	  Tested by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/3854 ........ Merged revisions
	  419942 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 419943 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 419944 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-08-02 03:37 +0000 [r419914]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip.c: Manager: Add PJSIPShowEndpoint[s] documentation
	  This adds a large swath of response documentation for
	  PJSIPShowEndpoint and PJSIPShowEndpoints AMI commands. It relies
	  heavily on the existing text in the configInfo documentation via
	  xi:include tags to avoid documentation duplication. Review:
	  https://reviewboard.asterisk.org/r/3888/

2014-08-01 14:48 +0000 [r419888]  Mark Michelson <mmichelson@digium.com>

	* CHANGES, res/res_pjsip/pjsip_options.c: Add ContactStatusDetail
	  to PJSIPShowEndpoint AMI output. Now when running
	  PJSIPShowEndpoint, you will receive a ContactStatusDetail for
	  each bound contact that Asterisk is qualifying. This information
	  includes the URI of the contact, current reachability, and
	  roundtrip time. AFS-91 #close Reported by Mark Michelson Review:
	  https://reviewboard.asterisk.org/r/3797

2014-07-31 16:19 +0000 [r419851]  Jonathan Rose <jrose@digium.com>

	* CHANGES, res/res_pjsip_notify.c: PJSIP: Send Notify AMI and CLI
	  commands can now send to URI instead of endpoint Review:
	  https://reviewboard.asterisk.org/r/3817/

2014-07-31 11:57 +0000 [r419822-419825]  Matthew Jordan <mjordan@digium.com>

	* main/rtp_engine.c, /, res/res_hep_rtcp.c (added), CHANGES,
	  channels/chan_pjsip.c, res/res_rtp_asterisk.c: res_hep_rtcp: Add
	  module that sends RTCP information to a Homer Server This patch
	  adds a new module to Asterisk, res_hep_rtcp. The module
	  subscribes to the RTCP topics in Stasis and receives RTCP
	  information back from the message bus. It encodes into HEPv3
	  packets and sends the information to the res_hep module for
	  transmission. Using this, someone with a Homer server can get
	  live call quality monitoring for all RTP-based channels in their
	  Asterisk 12+ systems. In addition, there were a few bugs in the
	  RTP engine, res_rtp_asterisk, and chan_pjsip that were uncovered
	  by the tests written for the Asterisk Test Suite. This patch
	  fixes the following: 1) chan_pjsip failed to set its channel
	  unique ids on its RTP instance on outbound calls. It now does
	  this in the appropriate location, in the serialized call
	  callback. 2) The rtp_engine was overflowing some values when
	  packed into JSON. Specifically, some longs and unsigned ints
	  can't be be packed into integer values, for obvious reasons.
	  Since libjansson only supports integers, floats, strings,
	  booleans, and objects, we print these values into strings. 3)
	  res_rtp_asterisk had a few problems: (a) it would emit a source
	  IP address of 0.0.0.0 if bound to that IP address. We now use
	  ast_find_ourip to get a better IP address, and properly marshal
	  the result into an ast_strdupa'd string. (b) Reports can be
	  generated with no report bodies. In particular, this occurs when
	  a sender is transmitting information to a receiver (who will send
	  no RTP back to the sender). As such, the sender has no report
	  body for what it received. We now properly handle this case, and
	  the sender will emit SR reports with no body. Likewise, if we
	  receive an RTCP packet with no report body, we will still
	  generate the appropriate events. ASTERISK-24119 #close ........
	  Merged revisions 419823 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* funcs/func_jitterbuffer.c, doc/appdocsxml.dtd, main/xmldoc.c:
	  xmldocs: Add support for an <example> tag in the Asterisk XML
	  Documentation This patch adds support for an <example /> tag in
	  the XML documentation schema. For CLI help, this doesn't change
	  the formatting too much: - Preceeding white space is removed -
	  Unlike with para elements, new lines are preserved However,
	  having an <example /> tag in the XML schema allows for the wiki
	  documentation generation script to surround the documentation
	  with {code} or {noformat} tags, generating much better content
	  for the wiki - and allowing us to put dialplan examples (and
	  other code snippets, if desired) into the documentation for an
	  application/function/AMI command/etc. Review:
	  https://reviewboard.asterisk.org/r/3807/

2014-07-30 18:32 +0000 [r419806]  Kinsey Moore <kmoore@digium.com>

	* main/manager.c, res/res_manager_presencestate.c,
	  res/res_manager_devicestate.c, main/pbx.c: manager: Add state
	  list commands This patch adds three new AMI commands: *
	  ExtensionStateList (pbx.c) - list all known extension state hints
	  and their current statuses. Events emitted by the list action are
	  equivalent to the ExtensionStatus events. * PresenceStateList
	  (res_manager_presencestate) - list all known presence state
	  values. Events emitted are generated by the stasis message type,
	  and hence are PresenceStateChange events. * DeviceStateList
	  (res_manager_devicestate) - list all known device state values.
	  Events emitted are generated by the stasis message type, and
	  hence are DeviceStateChange events. Patch-by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3799/

2014-07-29 19:41 +0000 [r419789]  Mark Michelson <mmichelson@digium.com>

	* main/manager.c: Do not omit the first header of a UserEvent AMI
	  action from the corresponding emitted UserEvent. ASTERISK-24124
	  #close Reported by Matt Jordan AFS-131 #close Reported by Matt
	  Jordan Patches: userevent.patch uploaded by Matt Jordan (License
	  #6283)

2014-07-29 10:56 +0000 [r419751-419766]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, /: res_pjsip_session: Fix race condition
	  where redirecting information may not be set. Since the PJSIP
	  INVITE session module is invoked before any session supplements
	  it was possible for it to handle a redirect before the
	  res_pjsip_diversion module interpreted and set redirecting
	  information on the channel. This would cause the redirecting
	  information to get lost. This patch ensures that session
	  supplements are *always* invoked before a redirect occurs by
	  explicitly calling them in the redirect handler. Review:
	  https://reviewboard.asterisk.org/r/3850/ ........ Merged
	  revisions 419764 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_xpidf_body_generator.c,
	  res/res_pjsip_pidf_body_generator.c:
	  res_pjsip_pidf_body_generator / res_pjsip_xpidf_body_generator:
	  Ensure local entity is unquoted. The local entity as provided by
	  PJSIP is quoted within '<' and '>'. As a result placing this
	  value into XML will result in malformed XML being produced. This
	  patch now unquotes the local entity so it can go safely into the
	  XML. Review: https://reviewboard.asterisk.org/r/3851/ ........
	  Merged revisions 419750 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-28 18:58 +0000 [r419688]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_speech_utils.c, main/channel.c, /,
	  funcs/func_frame_trace.c, main/abstract_jb.c: datastores: Audit
	  ast_channel_datastore_remove usage. Audit of v1.8 usage of
	  ast_channel_datastore_remove() for datastore memory leaks. *
	  Fixed leaks in app_speech_utils and func_frame_trace. * Fixed
	  app_speech_utils not locking the channel when accessing the
	  channel datastore list. Review:
	  https://reviewboard.asterisk.org/r/3859/ Audit of v11 usage of
	  ast_channel_datastore_remove() for datastore memory leaks. *
	  Fixed leak in func_jitterbuffer. (Was not in v12) Review:
	  https://reviewboard.asterisk.org/r/3860/ Audit of v12 usage of
	  ast_channel_datastore_remove() for datastore memory leaks. *
	  Fixed leaks in abstract_jb. * Fixed leak in
	  ast_channel_unsuppress(). Used by ARI mute control and
	  res_mutestream. * Fixed ref leak in ast_channel_suppress(). Used
	  by ARI mute control and res_mutestream. Review:
	  https://reviewboard.asterisk.org/r/3861/ ........ Merged
	  revisions 419684 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 419685 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 419686 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-25 18:09 +0000 [r419612]  Joshua Colp <jcolp@digium.com>

	* main/loader.c: loader: Fix an infinite loop when printing modules
	  using "module show". When creating the alphabetical sorted list
	  each module is added to a list temporarily. On the second
	  iteration each module already has a pointer to another module,
	  causing stuff to go into a loop. ASTERISK-24123 #close Reported
	  by: Malcolm Davenport

2014-07-25 16:47 +0000 [r419592]  Mark Michelson <mmichelson@digium.com>

	* res/res_ari_sounds.c, res/res_stasis.c, res/res_fax_spandsp.c,
	  res/res_timing_kqueue.c, res/res_odbc.c,
	  res/res_pjsip_transport_websocket.c, apps/app_voicemail.c,
	  res/res_calendar.c, channels/chan_unistim.c, cel/cel_radius.c,
	  channels/chan_multicast_rtp.c, res/res_pjsip_notify.c,
	  res/res_snmp.c, formats/format_sln.c, apps/app_meetme.c,
	  apps/app_dictate.c, codecs/codec_gsm.c, res/res_stasis_snoop.c,
	  res/res_musiconhold.c, res/res_format_attr_h264.c,
	  res/res_http_websocket.c, apps/app_followme.c,
	  res/res_config_sqlite.c, formats/format_siren7.c, cdr/cdr_csv.c,
	  formats/format_ilbc.c, channels/chan_phone.c,
	  apps/app_setcallerid.c, apps/app_osplookup.c, cel/cel_custom.c,
	  apps/app_mp3.c, res/res_agi.c, channels/chan_motif.c,
	  res/res_timing_timerfd.c, apps/app_confbridge.c,
	  res/res_format_attr_silk.c, formats/format_siren14.c,
	  res/res_sorcery_realtime.c, channels/chan_mgcp.c,
	  apps/app_jack.c, codecs/codec_lpc10.c,
	  res/res_pjsip_pidf_body_generator.c, res/res_config_pgsql.c,
	  funcs/func_dialplan.c, apps/app_nbscat.c, cdr/cdr_syslog.c,
	  res/res_pjsip_authenticator_digest.c, apps/app_festival.c,
	  res/res_fax.c, apps/app_waitforsilence.c, res/res_adsi.c,
	  res/res_crypto.c, res/res_ari_applications.c,
	  res/res_hep_pjsip.c, pbx/pbx_lua.c, res/res_pjsip_messaging.c,
	  res/res_pjsip_caller_id.c, channels/chan_console.c,
	  apps/app_getcpeid.c, res/res_stasis_answer.c,
	  channels/chan_oss.c, res/res_pjsip_nat.c,
	  res/res_pjsip_session.c, cdr/cdr_tds.c,
	  res/res_pjsip_header_funcs.c, res/res_parking.c,
	  formats/format_vox.c, res/res_pjsip_rfc3326.c,
	  res/res_ari_endpoints.c, res/res_stun_monitor.c,
	  res/res_pjsip_mwi.c, res/res_stasis_recording.c,
	  res/res_pjsip_xpidf_body_generator.c, apps/app_sms.c,
	  codecs/codec_ulaw.c, channels/chan_nbs.c, apps/app_stack.c,
	  channels/chan_pjsip.c, formats/format_g729.c, cel/cel_pgsql.c,
	  res/res_sorcery_config.c, res/res_ari.c, addons/chan_ooh323.c,
	  cdr/cdr_sqlite3_custom.c, codecs/codec_adpcm.c,
	  res/res_ari_asterisk.c, res/res_calendar_caldav.c,
	  apps/app_image.c, apps/app_ices.c, formats/format_wav_gsm.c,
	  main/cli.c, res/res_format_attr_celt.c, res/res_rtp_multicast.c,
	  channels/chan_dahdi.c, funcs/func_pitchshift.c, res/res_smdi.c,
	  res/res_pjsip_one_touch_record_info.c, pbx/pbx_ael.c,
	  pbx/pbx_realtime.c, apps/app_amd.c, channels/chan_alsa.c,
	  formats/format_h263.c, apps/app_url.c, res/res_pjsip_acl.c,
	  apps/app_externalivr.c, res/res_curl.c, formats/format_gsm.c,
	  res/res_speech.c, cdr/cdr_manager.c, res/res_calendar_exchange.c,
	  codecs/codec_g722.c, res/res_pjsip_multihomed.c,
	  res/res_ari_mailboxes.c, cel/cel_tds.c, res/res_sorcery_memory.c,
	  apps/app_fax.c, codecs/codec_speex.c, res/res_pjsip_sdp_rtp.c,
	  codecs/codec_g726.c, formats/format_ogg_vorbis.c,
	  apps/app_talkdetect.c, res/res_ari_channels.c,
	  res/res_pjsip_exten_state.c, apps/app_speech_utils.c,
	  apps/app_agent_pool.c, apps/app_waitforring.c, res/res_statsd.c,
	  addons/cdr_mysql.c, formats/format_g726.c, res/res_ari_bridges.c,
	  addons/app_mysql.c, res/res_stasis_playback.c,
	  addons/format_mp3.c, res/res_pjsip_endpoint_identifier_ip.c,
	  res/res_phoneprov.c, res/res_pjsip_t38.c,
	  res/res_pjsip_registrar_expire.c, cdr/cdr_pgsql.c,
	  cdr/cdr_radius.c, res/res_chan_stats.c,
	  res/res_format_attr_opus.c, res/res_config_odbc.c,
	  funcs/func_audiohookinherit.c,
	  res/res_pjsip_outbound_registration.c, cel/cel_manager.c,
	  funcs/func_odbc.c, res/res_pjsip_endpoint_identifier_anonymous.c,
	  funcs/func_frame_trace.c, funcs/func_aes.c, cdr/cdr_sqlite.c,
	  apps/app_minivm.c, res/res_pjsip_log_forwarder.c,
	  formats/format_h264.c, res/res_config_ldap.c, apps/app_ivrdemo.c,
	  addons/chan_mobile.c, apps/app_stasis.c,
	  res/res_pjsip_diversion.c, cdr/cdr_custom.c, apps/app_adsiprog.c,
	  res/res_pjsip_dtmf_info.c, res/res_rtp_asterisk.c,
	  res/res_calendar_icalendar.c, res/res_hep.c, channels/chan_sip.c,
	  channels/chan_bridge_media.c, codecs/codec_alaw.c,
	  apps/app_queue.c, res/res_srtp.c, funcs/func_presencestate.c,
	  res/res_timing_pthread.c, res/res_manager_presencestate.c,
	  res/res_corosync.c, apps/app_celgenuserevent.c,
	  cel/cel_sqlite3_custom.c, res/snmp/agent.c, pbx/pbx_dundi.c,
	  formats/format_g723.c, funcs/func_devstate.c,
	  res/res_pjsip_registrar.c,
	  res/res_pjsip_pidf_eyebeam_body_supplement.c,
	  addons/res_config_mysql.c,
	  res/res_pjsip_pidf_digium_body_supplement.c, apps/app_test.c,
	  res/res_timing_dahdi.c, cdr/cdr_adaptive_odbc.c,
	  apps/app_alarmreceiver.c, apps/app_chanisavail.c,
	  res/res_format_attr_h263.c, res/res_pjsip_mwi_body_generator.c,
	  res/res_xmpp.c, res/res_http_post.c, channels/chan_iax2.c,
	  res/res_pjsip_endpoint_identifier_user.c, res/res_pjsip.c,
	  res/res_pktccops.c, res/res_pjsip_send_to_voicemail.c,
	  main/loader.c, cel/cel_odbc.c, res/res_ari_model.c,
	  channels/chan_skinny.c,
	  res/res_pjsip_outbound_authenticator_digest.c,
	  res/res_mwi_external.c, apps/app_skel.c, formats/format_pcm.c,
	  include/asterisk/module.h, res/res_pjsip_path.c,
	  res/res_ari_playbacks.c, res/res_pjsip_pubsub.c, cdr/cdr_odbc.c,
	  funcs/func_periodic_hook.c, res/res_stasis_test.c,
	  formats/format_jpeg.c, res/res_pjsip_refer.c,
	  formats/format_g719.c, res/res_clialiases.c,
	  res/res_config_sqlite3.c, res/res_ari_device_states.c,
	  formats/format_wav.c, apps/app_saycounted.c, apps/app_dahdiras.c,
	  apps/app_morsecode.c, res/res_stasis_mailbox.c,
	  res/res_ael_share.c, res/res_mwi_external_ami.c,
	  res/res_pjsip_logger.c, res/res_stasis_device_state.c,
	  res/res_calendar_ews.c, res/res_monitor.c, apps/app_playback.c,
	  res/res_ari_recordings.c, res/res_manager_devicestate.c,
	  res/res_config_curl.c, channels/chan_misdn.c, funcs/func_curl.c,
	  res/res_ari_events.c, res/res_pjsip_dialog_info_body_generator.c,
	  res/res_sorcery_astdb.c, codecs/codec_dahdi.c,
	  apps/app_zapateller.c, pbx/pbx_config.c: Add module support level
	  to ast_module_info structure. Print it in CLI "module show" .
	  ASTERISK-23919 #close Reported by Malcolm Davenport Review:
	  https://reviewboard.asterisk.org/r/3802

2014-07-25 14:47 +0000 [r419563-419567]  Matthew Jordan <mjordan@digium.com>

	* CHANGES, res/ari/ari_model_validators.c,
	  rest-api/api-docs/recordings.json,
	  res/ari/ari_model_validators.h, /, res/res_stasis_recording.c:
	  Multiple revisions 419565-419566 ........ r419565 | mjordan |
	  2014-07-25 09:41:23 -0500 (Fri, 25 Jul 2014) | 21 lines ARI:
	  report duration values in LiveRecording objects This patch adds
	  three new fields to the LiveRecording model: - total_duration:
	  the total length of the live recording - talking_duration:
	  optional. The duration of talking energy that was detected while
	  the recording was made. - silence_duration: optional. The
	  duration of silence that was detected while the recording was
	  made. These values are reported in the RecordingFinished ARI
	  event. When a DSP is enabled on the channel during the recording
	  - which occurs when the recording is created with
	  max_silence_seconds (indicating that the user actually cares
	  about how much silence is in the file), we will report the
	  talking_duration and silence_duration in addition to the
	  total_duration. Review: https://reviewboard.asterisk.org/r/3770/
	  ASTERISK-24037 #close Reported by: Samuel Galarneau ........
	  r419566 | mjordan | 2014-07-25 09:46:15 -0500 (Fri, 25 Jul 2014)
	  | 1 line Update CHANGES for r419565 ........ Merged revisions
	  419565-419566 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/loader.c, res/res_calendar.c: module loader: Unload modules
	  in reverse order of their start order When Asterisk starts a
	  module (calling its load_module function), it re-orders the
	  module list, sorting it alphabetically. Ostensibly, this was done
	  so that the output of 'module show' listed modules in alphabetic
	  order. This had the unfortunate side effect of making modules
	  with complex usage patterns unloadable. A module that has a large
	  number of modules that depend on it is typically abandoned during
	  the unloading process. This results in its memory not being
	  reclaimed during exit. Generally, this isn't harmful - when the
	  process is destroyed, the operating system will reclaim all
	  memory allocated by the process. Prior to Asterisk 12, we also
	  didn't have many modules with complex dependencies. However, with
	  the advent of ARI and PJSIP, this can make make unloading those
	  modules successfully nearly impossible, and thus tracking memory
	  leaks or ref debug leaks a real pain. While this patch is not a
	  complete overhaul of the module loader - such an effort would be
	  beyond the scope of what could be done for Asterisk 13 - this
	  does make some marginal improvements to the loader such that
	  modules like res_pjsip or res_stasis *may* be made properly
	  un-loadable in the future. 1. The linked list of modules has been
	  replaced with a doubly linked list. This allows traversal of the
	  module list to occur backwards. The module shutdown routine now
	  walks the global list backwards when it attempts to unload
	  modules. 2. The alphabetic reorganization of the module list on
	  startup has been removed. Instead, a started module is placed at
	  the end of the module list. 3. The ast_update_module_list
	  function - which is used by the CLI to display the modules - now
	  does the sorting alphabetically itself. It creates its own linked
	  list and inserts the modules into it in alphabetic order. This
	  allows for the intent of the previous code to be maintained. This
	  patch also contains a fix for res_calendar. Without
	  calendar.conf, the calendar modules were improperly bumping the
	  use count of res_calendar, then failing to load themselves. This
	  patch makes it so that we detect whether or not calendaring is
	  enabled before altering the use count. Review:
	  https://reviewboard.asterisk.org/r/3777/

2014-07-25 10:54 +0000 [r419537-419539]  Joshua Colp <jcolp@digium.com>

	* apps/app_bridgewait.c, /: app_bridgewait: Remove possibility of
	  race condition between channels leaving/joining. Bridges created
	  by app_bridgewait previously had the "dissolve when empty" flag
	  set. This caused the bridge core to destroy them when the last
	  channel had left. This introduced a race condition where we may
	  have a reference to the bridge but it is not actually joinable
	  when we try to join it. This flag has now been removed and the
	  bridge is guaranteed to be joinable at all times. ASTERISK-23987
	  #close Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3836/ ........ Merged
	  revisions 419538 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/bridge.c: bridge: Make "bridge destroy" only available in
	  developer mode and add "all" to "bridge kick". The "bridge
	  destroy" CLI command is invasive to bridges and can leave them in
	  an unexpected state for the users of them. Since this command may
	  be useful for developers it is now only available when developer
	  mode is available. To take its place "all" has been added as a
	  valid option to the "bridge kick" CLI command. It will kick all
	  of the channels in the bridge out. ASTERISK-23987 Reported by:
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/3840/
	  ........ Merged revisions 419536 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-24 22:48 +0000 [r419520]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge.c, main/bridge_basic.c, main/core_unreal.c,
	  UPGRADE.txt, include/asterisk/channel.h, CHANGES,
	  apps/app_followme.c, apps/app_queue.c, main/cel.c,
	  res/parking/parking_bridge_features.c, apps/app_dial.c,
	  main/channel.c, main/dial.c, main/pbx.c: accountcode: Slightly
	  change accountcode propagation. The previous behavior was to
	  simply set the accountcode of an outgoing channel to the
	  accountcode of the channel initiating the call. It was done this
	  way a long time ago to allow the accountcode set on the SIP/100
	  channel to be propagated to a local channel so the dialplan
	  execution on the Local;2 channel would have the SIP/100
	  accountcode available. SIP/100 -> Local;1/Local;2 -> SIP/200
	  Propagating the SIP/100 accountcode to the local channels is very
	  useful. Without any dialplan manipulation, all channels in this
	  call would have the same accountcode. Using dialplan, you can set
	  a different accountcode on the SIP/200 channel either by setting
	  the accountcode on the Local;2 channel or by the Dial
	  application's b(pre-dial), M(macro) or U(gosub) options, or by
	  the FollowMe application's b(pre-dial) option, or by the Queue
	  application's macro or gosub options. Before Asterisk v12, the
	  altered accountcode on SIP/200 will remain until the local
	  channels optimize out and the accountcode would change to the
	  SIP/100 accountcode. Asterisk v1.8 attempted to add peeraccount
	  support but ultimately had to punt on the support. The
	  peeraccount support was rendered useless because of how the CDR
	  code needed to unconditionally force the caller's accountcode
	  onto the peer channel's accountcode. The CEL events were thus
	  intentionally made to always use the channel's accountcode as the
	  peeraccount value. With the arrival of Asterisk v12, the
	  situation has improved somewhat so peeraccount support can be
	  made to work. Using the indicated example, the the accountcode
	  values become as follows when the peeraccount is set on SIP/100
	  before calling SIP/200: SIP/100 ---> Local;1 ---- Local;2 --->
	  SIP/200 acct: 100 \/ acct: 200 \/ acct: 100 \/ acct: 200 peer:
	  200 /\ peer: 100 /\ peer: 200 /\ peer: 100 If a channel already
	  has an accountcode it can only change by the following explicit
	  user actions: 1) A channel originate method that can specify an
	  accountcode to use. 2) The calling channel propagating its
	  non-empty peeraccount or its non-empty accountcode if the
	  peeraccount was empty to the outgoing channel's accountcode
	  before initiating the dial. e.g., Dial and FollowMe. The
	  exception to this propagation method is Queue. Queue will only
	  propagate peeraccounts this way only if the outgoing channel does
	  not have an accountcode. 3) Dialplan using CHANNEL(accountcode).
	  4) Dialplan using CHANNEL(peeraccount) on the other end of a
	  local channel pair. If a channel does not have an accountcode it
	  can get one from the following places: 1) The channel driver's
	  configuration at channel creation. 2) Explicit user action as
	  already indicated. 3) Entering a basic or stasis-mixing bridge
	  from a peer channel's peeraccount value. You can specify the
	  accountcode for an outgoing channel by setting the
	  CHANNEL(peeraccount) before using the Dial, FollowMe, and Queue
	  applications. Queue adds the wrinkle that it will not overwrite
	  an existing accountcode on the outgoing channel with the calling
	  channels values. Accountcode and peeraccount values propagate to
	  an outgoing channel before dialing. Accountcodes also propagate
	  when channels enter or leave a basic or stasis-mixing bridge. The
	  peeraccount value only makes sense for mixing bridges with two
	  channels; it is meaningless otherwise. * Made peeraccount
	  functional by changing accountcode propagation as described
	  above. * Fixed CEL extracting the wrong ie value for the
	  peeraccount. This was done intentionally in Asterisk v1.8 when
	  that version had to punt on peeraccount. * Fixed a few places
	  dealing with accountcodes that were reading from channels without
	  the lock held. AFS-65 #close Review:
	  https://reviewboard.asterisk.org/r/3601/

2014-07-24 21:01 +0000 [r419504]  Michael L. Young <elgueromexicano@gmail.com>

	* main/db.c, include/asterisk/astdb.h: core/db: Revert Patch Added
	  In Attempt To Improve I/O Performance Reverting the patch since
	  it was causing a regression and after fixing the regression,
	  there were no performance gains. At least based on my method for
	  measurement. ASTERISK-24050 Review:
	  https://reviewboard.asterisk.org/r/3841/

2014-07-24 17:50 +0000 [r419438-419439]  Corey Farrell <git@cfware.com>

	* include/asterisk/astobj.h: Deprecate astobj.h This flags astobj.h
	  as deprecated, warns people to use astobj2.h instead. Only
	  netsock.c (also deprecated) still uses astobj.h. ASTERISK-24069
	  #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3818/

	* channels/sip/include/sip.h, channels/chan_sip.c: chan_sip:
	  complete upgrade to ao2 This change upgrades sip_registry and
	  sip_subscription_mwi to astobj2. ASTERISK-24067 #close Reported
	  by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3759/

2014-07-24 16:52 +0000 [r419377]  Jason Parker <jparker@digium.com>

	* addons/chan_ooh323.c, /: Don't cause Asterisk to exit if
	  ooh323.conf not found. (closes issue ASTERISK-23814) ........
	  Merged revisions 419374 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 419375 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 419376 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-24 15:20 +0000 [r419358]  Matthew Jordan <mjordan@digium.com>

	* main/devicestate.c, channels/chan_pjsip.c: device state: Update
	  the core to report ONHOLD if a channel is on hold In Asterisk, it
	  is possible for a device to have a status of ONHOLD. This is not
	  typically an easy thing to determine, as a channel being on hold
	  is not a direct channel state. Typically, this has to be
	  calculated outside of the core independently in channel drivers,
	  notably, chan_sip and chan_pjsip. Both of these channel drivers
	  already have to calculate device state in a fashion more complex
	  than the core can handle, as they aggregate all state of all
	  channels associated with a peer/endpoint; they also independently
	  track whether or not one of those channels is currently on hold
	  and mark the device state appropriately. In 12+, we now have the
	  ability to report an AST_DEVICE_ONHOLD state for all channels
	  that defer their device state to the core. This is due to channel
	  hold state actually now being tracked on the channel itself. If a
	  channel driver defers its device state to the core (which many,
	  such as DAHDI, IAX2, and others do in most situations), the
	  device state core already goes out to get a channel associated
	  with the device. As such, it can now also factor the channel hold
	  state in its calculation. This patch adds this logic to the
	  device state core. It also uses an existing mapping between
	  device state and channel state to handle more channel states.
	  chan_pjsip has been updated slightly as well to make use of this
	  (as it was, for some reason, reporting a channel state of BUSY as
	  a device state of INUSE, which feels slightly wrong). Review:
	  https://reviewboard.asterisk.org/r/3771/ ASTERISK-24038 #close

2014-07-24 13:00 +0000 [r419342]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/manager.h, doc/appdocsxml.dtd, main/xmldoc.c,
	  main/manager_bridges.c, main/manager.c,
	  include/asterisk/xmldoc.h, main/config_options.c: AMI: Allow for
	  command response documentation Allow for responses to AMI
	  actions/commands to be documented properly in XML and displayed
	  via the CLI. Response events are documented exactly as standard
	  AMI events are documented. Review:
	  https://reviewboard.asterisk.org/r/3812/

2014-07-23 16:46 +0000 [r419319]  Matthew Jordan <mjordan@digium.com>

	* main/endpoints.c, tests/test_stasis_endpoints.c, /: endpoints:
	  Fix failing unit tests from r419196 This patch does two things:
	  (1) It updates the unit tests to expect additional stasis
	  messages. More messages are now sent to the endpoint topic, due
	  to forwarding all channel messages and the forwarding
	  relationship set up between endpoints themselves. (2) Remove the
	  technology forwarding subscription during ast_endpoint_shutdown.
	  This prevents an improper double shutdown of an endpoint from
	  occurring. ........ Merged revisions 419318 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-23 14:00 +0000 [r419286]  Scott Griepentrog <sgriepentrog@digium.com>

	* apps/app_voicemail.c, /: app_voicemail: use a consistent
	  generator string When updating voicemail.conf when a user changes
	  their pin, change the generator string to be the same as the
	  module name when reading so that the same config_hook will be
	  called. Review: https://reviewboard.asterisk.org/r/3837/ ........
	  Merged revisions 419284 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 419285 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-23 01:28 +0000 [r419268]  Corey Farrell <git@cfware.com>

	* main/manager.c, res/res_fax.c: res_fax: unregister manager
	  actions on unload * Unregister manager actions FAXSessions,
	  FAXSession and FAXStats at unload. * Update ast_manager_register2
	  use ao2_t_alloc tagged with the action name. ASTERISK-24058
	  #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3831/

2014-07-22 20:22 +0000 [r419222-419252]  Michael L. Young <elgueromexicano@gmail.com>

	* CHANGES, main/bridge_channel.c: core/bridge_channel: Substitute
	  Variables In Features Application Map Say you wanted to include
	  variables in an application map and have those variables
	  substituted and passed along to the application being executed;
	  currently this does not happen. This patch adds this ability to
	  pass channel variable values to an application before being
	  executed. ASTERISK-22608 #close Reported by: Michael L. Young
	  patches: features_substitute_arguments_v2.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/3819/

	* CHANGES, apps/app_mixmonitor.c: apps/app_mixmonitor: Add Options
	  To Play Beep At Start Or Stop We have a new periodic beep feature
	  but sometimes a user needs some sort of feedback, without the
	  need to have a periodic beep during the recording, to let them
	  know that MixMonitor started recording or ended the recording.
	  The use case where this patch is being used is when using Dynamic
	  Features to start and end MixMonitor. This patch adds an option
	  to play a beep when MixMonitor starts and an option to play a
	  beep when MixMonitor ends. ASTERISK-24051 #close Reported by:
	  Michael L. Young patches: mixmonitor-play-beep-start-stop.diff
	  uploaded by Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/3820/

	* main/db.c, include/asterisk/astdb.h: core/db: Improve I/O When
	  Updating Rows When updating a row, we are currently doing an
	  INSERT OR REPLACE INTO. The downside to this is that the row is
	  deleted if it exists and then a new row is inserted. So, we are
	  hitting the disk twice. One for the deletion and one for the
	  insertion. This patch changes this statement to an INSERT INTO
	  and if the insert fails because a row with that key exists, we
	  will IGNORE the failure. Then we will attempt to perform an
	  UPDATE on the existing row if that row wasn't just INSERTed.
	  ASTERISK-24050 #close Reported by: Michael L. Young patches:
	  astdb-insert-update-io-help_trunk_v2.diff uploaded by Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/3815/

2014-07-22 17:10 +0000 [r419206]  Richard Mudgett <rmudgett@digium.com>

	* codecs/codec_speex.c: codec_speex: Fix trashing normal static
	  frame for AST_FRAME_CNG. Made use a local static frame to
	  generate the AST_FRAME_CNG frame when silence starts. I don't
	  think the handling of the AST_FRAME_CNG has ever really worked
	  because there doesn't seem to be any consumers of it. Review:
	  https://reviewboard.asterisk.org/r/3813/

2014-07-22 16:20 +0000 [r419203]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/endpoints.h,
	  rest-api/api-docs/applications.json, include/asterisk/xmpp.h,
	  main/channel_internal_api.c, channels/chan_motif.c,
	  include/asterisk/channel.h, res/ari/resource_applications.h,
	  res/res_xmpp.c, channels/chan_iax2.c, main/endpoints.c,
	  channels/chan_pjsip.c, main/channel.c,
	  res/ari/resource_endpoints.c, /, channels/chan_sip.c: ARI: Fix
	  endpoint/channel subscription issues; allow for subscriptions to
	  tech This patch serves two purposes: (1) It fixes some bugs with
	  endpoint subscriptions not reporting all of the channel events
	  (2) It serves as the preliminary work needed for ASTERISK-23692,
	  which allows for sending/receiving arbitrary out of call text
	  messages through ARI in a technology agnostic fashion. The
	  messaging functionality described on ASTERISK-23692 requires two
	  things: (1) The ability to send/receive messages associated with
	  an endpoint. This is relatively straight forwards with the
	  endpoint core in Asterisk now. (2) The ability to send/receive
	  messages associated with a technology and an arbitrary technology
	  defined URI. This is less straight forward, as endpoints are
	  formed from a tech + resource pair. We don't have a mechanism to
	  note that a technology that *may* have endpoints exists. This
	  patch provides such a mechanism, and fixes a few bugs along the
	  way. The first major bug this patch fixes is the forwarding of
	  channel messages to their respective endpoints. Prior to this
	  patch, there were two problems: (1) Channel caching messages
	  weren't forwarded. Thus, the endpoints missed most of the
	  interesting bits (such as channel creation, destruction, state
	  changes, etc.) (2) Channels weren't associated with their
	  endpoint until after creation. This resulted in endpoints missing
	  the channel creation message, which limited the usefulness of the
	  subscription in the first place (a major use case being 'tell me
	  when this endpoint has a channel'). Unfortunately, this meant
	  another parameter to ast_channel_alloc. Since not all channel
	  technologies support an ast_endpoint, this patch makes such a
	  call optional and opts for a new function,
	  ast_channel_alloc_with_endpoint. When endpoints are created, they
	  will implicitly create a technology endpoint for their technology
	  (if one does not already exist). A technology endpoint is special
	  in that it has no state, cannot have channels created for it,
	  cannot be created explicitly, and cannot be destroyed except on
	  shutdown. It does, however, have all messages from other
	  endpoints in its technology forwarded to it. Combined with the
	  bug fixes, we now have Stasis messages being properly forwarded.
	  Consider the following scenario: two PJSIP endpoints (foo and
	  bar), where bar has a single channel associated with it and foo
	  has two channels associated with it. The messages would be
	  forwarded as follows: channel PJSIP/foo-1 -- \ --> endpoint
	  PJSIP/foo -- / \ channel PJSIP/foo-2 -- \ ---- > endpoint PJSIP /
	  channel PJSIP/bar-1 -----> endpoint PJSIP/bar -- ARI, through the
	  applications resource, can: - subscribe to endpoint:PJSIP/foo and
	  get notifications for channels PJSIP/foo-1,PJSIP/foo-2 and
	  endpoint PJSIP/foo - subscribe to endpoint:PJSIP/bar and get
	  notifications for channels PJSIP/bar-1 and endpoint PJSIP/bar -
	  subscribe to endpoint:PJSIP and get notifications for channels
	  PJSIP/foo-1,PJSIP/foo-2,PJSIP/bar-1 and endpoints
	  PJSIP/foo,PJSIP/bar Note that since endpoint PJSIP never changes,
	  it never has events itself. It merely provides an aggregation
	  point for all other endpoints in its technology (which in turn
	  aggregate all channel messages associated with that endpoint).
	  This patch also adds endpoints to res_xmpp and chan_motif,
	  because the actual messaging work will need it (messaging without
	  XMPP is just sad). Review:
	  https://reviewboard.asterisk.org/r/3760/ ASTERISK-23692 ........
	  Merged revisions 419196 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-22 14:36 +0000 [r419180]  Joshua Colp <jcolp@digium.com>

	* channels/chan_iax2.c: chan_iax2: Restore previous behavior of
	  iax2_best_codec. The iax2_best_codec function was changed to
	  convert the formats into a format compatibilities structure and
	  grab the first format from it. The resulting order differs from
	  the previous order of iax2_best_codec which causes unexpected
	  formats to get chosen (such as g723). This commit brings back the
	  old behavior of iax2_best_codec by having a specified preference
	  list. Review: https://reviewboard.asterisk.org/r/3835/

2014-07-22 14:22 +0000 [r419110-419175]  Kinsey Moore <kmoore@digium.com>

	* addons/ooh323c/src/printHandler.c, tests/test_sorcery_realtime.c,
	  tests/test_json.c, addons/ooh323c/src/ooq931.c,
	  tests/test_astobj2_thrash.c, addons/chan_ooh323.c, /,
	  tests/test_optional_api.c, tests/test_abstract_jb.c,
	  apps/app_meetme.c, tests/test_logger.c, tests/test_event.c,
	  tests/test_hashtab_thrash.c, res/res_mwi_external_ami.c,
	  tests/test_sorcery.c, res/res_corosync.c,
	  tests/test_voicemail_api.c, tests/test_aoc.c,
	  tests/test_astobj2.c, tests/test_config.c: Fix more dev-mode
	  build issues ........ Merged revisions 419129 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 419162 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 419163 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/dial.c: Dial API: Prevent crash on NULL cap This prevents a
	  crash in the Dial API triggered by use of the Page() application
	  where a format capability struct was used before checking whether
	  it was NULL. ASTERISK-24074 #close

	* channels/chan_skinny.c, tests/test_core_format.c: Fix build in
	  dev-mode

2014-07-21 16:26 +0000 [r419109]  Jonathan Rose <jrose@digium.com>

	* channels/chan_iax2.c: chan_iax2: Restore codec choice behavior
	  from media formats branch After merging the media formats branch,
	  chan_iax2 was discarding codec preferences for the purpose of
	  choosing which codec a channel would use once a call started.
	  This patch restores the Asterisk 1.8-12 codec choice behaviors.
	  ASTERISK-23958 #close Review:
	  https://reviewboard.asterisk.org/r/3800/

2014-07-21 16:09 +0000 [r419093]  Joshua Colp <jcolp@digium.com>

	* channels/chan_iax2.c: chan_iax2: Only send mini frames if the
	  underlying format has not changed, not if it has. ASTERISK-24072
	  #close Reported by: Matt Jordan

2014-07-21 14:49 +0000 [r419077]  Sean Bright <sean@malleable.com>

	* configure, configure.ac: Fix build when pjproject is installed in
	  a non-standard location. When configuring Asterisk to build
	  against a version of pjproject installed in a non-standard
	  location, the checks for "PJSIP Transaction Group Lock Support"
	  and "PJSIP Media Stream Replacement Support" fail. This is
	  because these secondary checks are not taking the CFLAGS and LIBS
	  returned by the pkg-config check into account. Review:
	  https://reviewboard.asterisk.org/r/3830

2014-07-21 08:41 +0000 [r419060]  Corey Farrell <git@cfware.com>

	* channels/sig_analog.c, res/res_smdi.c, channels/chan_motif.c,
	  include/asterisk/smdi.h, apps/app_voicemail.c,
	  channels/chan_dahdi.c: res_smdi: convert to astobj2 Remove
	  functions: ast_smdi_interface_unref ast_smdi_md_message_putback
	  ast_smdi_mwi_message_putback ast_smdi_md_message destructor
	  ast_smdi_mwi_message destructor Includes for astobj.h are removed
	  everywhere it's possible. ASTERISK-24066 #close Review:
	  https://reviewboard.asterisk.org/r/3758/

2014-07-20 22:06 +0000 [r419044]  Matthew Jordan <mjordan@digium.com>

	* apps/app_confbridge.c, res/ari/resource_channels.c,
	  include/asterisk/rtp_engine.h, include/asterisk/slinfactory.h,
	  res/res_calendar.c, codecs/codec_g722.c,
	  include/asterisk/res_pjsip_session.h, main/frame.c,
	  codecs/ex_lpc10.h, apps/app_dictate.c, res/res_fax.c,
	  apps/app_echo.c, include/asterisk/slin.h, codecs/codec_g726.c,
	  formats/format_ogg_vorbis.c, codecs/codec_gsm.c,
	  codecs/ex_alaw.h, formats/format_wav_gsm.c,
	  channels/iax2/provision.c, channels/chan_iax2.c,
	  res/res_format_attr_h264.c, main/data.c, main/manager.c,
	  include/asterisk/audiohook.h, formats/format_pcm.c,
	  main/config_options.c, res/res_format_attr_silk.c,
	  main/bridge_channel.c, res/res_speech.c, channels/chan_pjsip.c,
	  res/res_clioriginate.c, formats/format_g729.c,
	  channels/chan_unistim.c, res/res_rtp_asterisk.c,
	  include/asterisk/smoother.h (added), main/rtp_engine.c,
	  addons/format_mp3.c, formats/format_wav.c,
	  apps/confbridge/conf_chan_record.c, include/asterisk/speech.h,
	  codecs/ex_adpcm.h, channels/iax2/codec_pref.c (added),
	  include/asterisk/codec.h (added), formats/format_siren7.c,
	  include/asterisk/file.h, channels/chan_dahdi.c,
	  include/asterisk/image.h, funcs/func_channel.c,
	  main/abstract_jb.c, formats/format_h263.c, codecs/codec_dahdi.c,
	  main/dsp.c, apps/app_voicemail.c, apps/app_jack.c,
	  funcs/func_talkdetect.c, channels/chan_vpb.cc,
	  channels/chan_sip.c, formats/format_sln.c,
	  tests/test_abstract_jb.c, codecs/codec_alaw.c, UPGRADE.txt,
	  main/smoother.c (added), codecs/ex_speex.h,
	  channels/chan_console.c, apps/app_talkdetect.c,
	  main/format_pref.c (removed), main/indications.c,
	  include/asterisk/format_cap.h, main/media_index.c,
	  apps/app_agent_pool.c, res/res_pjsip_session.c, main/cli.c,
	  res/res_format_attr_celt.c, channels/chan_skinny.c,
	  tests/test_core_format.c (added), funcs/func_frame_trace.c,
	  res/res_pjsip/pjsip_configuration.c, main/file.c,
	  include/asterisk/frame.h, formats/format_g726.c,
	  apps/app_mixmonitor.c, channels/chan_mgcp.c, main/sorcery.c,
	  codecs/ex_ilbc.h, codecs/codec_lpc10.c, tests/test_format_cache.c
	  (added), apps/app_meetme.c, main/translate.c,
	  apps/app_originate.c, res/parking/parking_applications.c,
	  apps/app_ices.c, channels/iax2/parser.c, res/res_rtp_multicast.c,
	  pbx/pbx_spool.c, funcs/func_pitchshift.c, formats/format_vox.c,
	  main/format_cap.c, tests/test_cel.c, include/asterisk/format.h,
	  formats/format_h264.c, apps/app_chanspy.c, apps/app_nbscat.c,
	  addons/chan_ooh323.c, bridges/bridge_holding.c,
	  channels/iax2/include/codec_pref.h (added), codecs/codec_adpcm.c,
	  apps/app_waitforsilence.c, res/res_pjsip_sdp_rtp.c,
	  addons/chan_ooh323.h, bridges/bridge_simple.c,
	  apps/app_alarmreceiver.c, bridges/bridge_softmix.c,
	  res/res_stasis_snoop.c, main/sounds_index.c, main/core_local.c,
	  main/codec_builtin.c (added), include/asterisk/format_cache.h
	  (added), apps/app_speech_utils.c, res/res_format_attr_opus.c,
	  include/asterisk/abstract_jb.h, main/channel.c,
	  include/asterisk/format_compatibility.h (added), apps/app_mp3.c,
	  tests/test_voicemail_api.c, channels/chan_alsa.c, main/app.c,
	  formats/format_g723.c, codecs/codec_ilbc.c, tests/test_config.c,
	  formats/format_gsm.c, apps/app_milliwatt.c, codecs/ex_ulaw.h,
	  main/asterisk.c, include/asterisk/res_pjsip.h, main/format.c,
	  main/ccss.c, main/bridge.c, codecs/codec_speex.c,
	  include/asterisk/format_pref.h (removed), apps/app_record.c,
	  main/slinfactory.c, res/res_adsi.c, main/core_unreal.c,
	  res/ari/resource_bridges.c, include/asterisk/callerid.h,
	  channels/pjsip/dialplan_functions.c, main/dial.c,
	  channels/dahdi/bridge_native_dahdi.c, main/format_cache.c
	  (added), include/asterisk/mod_format.h, apps/app_sms.c,
	  codecs/codec_resample.c, main/format_compatibility.c (added),
	  main/audiohook.c, formats/format_jpeg.c, res/res_stasis.c,
	  formats/format_g719.c, include/asterisk/translate.h,
	  funcs/func_speex.c, codecs/codec_a_mu.c,
	  channels/iax2/format_compatibility.c (added),
	  apps/app_festival.c, main/channel_internal_api.c,
	  tests/test_format_api.c (removed), codecs/ex_g722.h,
	  main/utils.c, res/ari/resource_sounds.c,
	  res/res_format_attr_h263.c, codecs/ex_g726.h,
	  include/asterisk/_private.h, channels/chan_oss.c,
	  channels/chan_misdn.c, main/codec.c (added), main/callerid.c,
	  addons/ooh323cDriver.c, apps/app_amd.c, codecs/codec_ulaw.c,
	  main/image.c, channels/chan_nbs.c, bridges/bridge_native_rtp.c,
	  channels/iax2/include/format_compatibility.h (added),
	  formats/format_siren14.c, res/res_fax_spandsp.c,
	  addons/chan_mobile.c, addons/ooh323cDriver.h,
	  channels/sip/include/sip.h, tests/test_format_cap.c (added),
	  channels/chan_multicast_rtp.c, include/asterisk/vector.h,
	  channels/chan_bridge_media.c, apps/app_fax.c,
	  main/bridge_basic.c, apps/app_test.c, include/asterisk/channel.h,
	  include/asterisk/data.h, tests/test_core_codec.c (added),
	  res/res_musiconhold.c, codecs/ex_gsm.h, formats/format_ilbc.c,
	  include/asterisk/config_options.h, channels/chan_phone.c,
	  include/asterisk/bridge_channel.h, apps/app_dumpchan.c,
	  channels/chan_motif.c, res/res_agi.c: media formats: re-architect
	  handling of media for performance improvements In the old times
	  media formats were represented using a bit field. This was fast
	  but had a few limitations. 1. Asterisk was limited in how many
	  formats it could handle. 2. Formats, being a bit field, could not
	  include any attribute information. A format was strictly its
	  type, e.g., "this is ulaw". This was changed in Asterisk 10 (see
	  https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal
	  for notes on that work) which led to the creation of the
	  ast_format structure. This structure allowed Asterisk to handle
	  attributes and bundle information with a format. Additionally,
	  ast_format_cap was created to act as a container for multiple
	  formats that, together, formed the capability of some entity.
	  Another mechanism was added to allow logic to be registered which
	  performed format attribute negotiation. Everywhere throughout the
	  codebase Asterisk was changed to use this strategy.
	  Unfortunately, in software, there is no free lunch. These new
	  capabilities came at a cost. Performance analysis and profiling
	  showed that we spend an inordinate amount of time comparing,
	  copying, and generally manipulating formats and their related
	  structures. Basic prototyping has shown that a reasonably large
	  performance improvement could be made in this area. This patch is
	  the result of that project, which overhauled the media format
	  architecture and its usage in Asterisk to improve performance.
	  Generally, the new philosophy for handling formats is as follows:
	  * The ast_format structure is reference counted. This removed a
	  large amount of the memory allocations and copying that was done
	  in prior versions. * In order to prevent race conditions while
	  keeping things performant, the ast_format structure is immutable
	  by convention and lock-free. Violate this tenet at your peril! *
	  Because formats are reference counted, codecs are also reference
	  counted. The Asterisk core generally provides built-in codecs and
	  caches the ast_format structures created to represent them.
	  Generally, to prevent inordinate amounts of module reference
	  bumping, codecs and formats can be added at run-time but cannot
	  be removed. * All compatibility with the bit field representation
	  of codecs/formats has been moved to a compatibility API. The
	  primary user of this representation is chan_iax2, which must
	  continue to maintain its bit-field usage of formats for
	  interoperability concerns. * When a format is negotiated with
	  attributes, or when a format cannot be represented by one of the
	  cached formats, a new format object is created or cloned from an
	  existing format. That format may have the same codec underlying
	  it, but is a different format than a version of the format with
	  different attributes or without attributes. * While formats are
	  reference counted objects, the reference count maintained on the
	  format should be manipulated with care. Formats are generally
	  cached and will persist for the lifetime of Asterisk and do not
	  explicitly need to have their lifetime modified. An exception to
	  this is when the user of a format does not know where the format
	  came from *and* the user may outlive the provider of the format.
	  This occurs, for example, when a format is read from a channel:
	  the channel may have a format with attributes (hence, non-cached)
	  and the user of the format may last longer than the channel (if
	  the reference to the channel is released prior to the format's
	  reference). For more information on this work, see the API design
	  notes:
	  https://wiki.asterisk.org/wiki/display/AST/Media+Format+Rewrite
	  Finally, this work was the culmination of a large number of
	  developer's efforts. Extra thanks goes to Corey Farrell, who took
	  on a large amount of the work in the Asterisk core, chan_sip, and
	  was an invaluable resource in peer reviews throughout this
	  project. There were a substantial number of patches contributed
	  during this work; the following issues/patch names simply reflect
	  some of the work (and will cause the release scripts to give
	  attribution to the individuals who work on them). Reviews:
	  https://reviewboard.asterisk.org/r/3814
	  https://reviewboard.asterisk.org/r/3808
	  https://reviewboard.asterisk.org/r/3805
	  https://reviewboard.asterisk.org/r/3803
	  https://reviewboard.asterisk.org/r/3801
	  https://reviewboard.asterisk.org/r/3798
	  https://reviewboard.asterisk.org/r/3800
	  https://reviewboard.asterisk.org/r/3794
	  https://reviewboard.asterisk.org/r/3793
	  https://reviewboard.asterisk.org/r/3792
	  https://reviewboard.asterisk.org/r/3791
	  https://reviewboard.asterisk.org/r/3790
	  https://reviewboard.asterisk.org/r/3789
	  https://reviewboard.asterisk.org/r/3788
	  https://reviewboard.asterisk.org/r/3787
	  https://reviewboard.asterisk.org/r/3786
	  https://reviewboard.asterisk.org/r/3784
	  https://reviewboard.asterisk.org/r/3783
	  https://reviewboard.asterisk.org/r/3778
	  https://reviewboard.asterisk.org/r/3774
	  https://reviewboard.asterisk.org/r/3775
	  https://reviewboard.asterisk.org/r/3772
	  https://reviewboard.asterisk.org/r/3761
	  https://reviewboard.asterisk.org/r/3754
	  https://reviewboard.asterisk.org/r/3753
	  https://reviewboard.asterisk.org/r/3751
	  https://reviewboard.asterisk.org/r/3750
	  https://reviewboard.asterisk.org/r/3748
	  https://reviewboard.asterisk.org/r/3747
	  https://reviewboard.asterisk.org/r/3746
	  https://reviewboard.asterisk.org/r/3742
	  https://reviewboard.asterisk.org/r/3740
	  https://reviewboard.asterisk.org/r/3739
	  https://reviewboard.asterisk.org/r/3738
	  https://reviewboard.asterisk.org/r/3737
	  https://reviewboard.asterisk.org/r/3736
	  https://reviewboard.asterisk.org/r/3734
	  https://reviewboard.asterisk.org/r/3722
	  https://reviewboard.asterisk.org/r/3713
	  https://reviewboard.asterisk.org/r/3703
	  https://reviewboard.asterisk.org/r/3689
	  https://reviewboard.asterisk.org/r/3687
	  https://reviewboard.asterisk.org/r/3674
	  https://reviewboard.asterisk.org/r/3671
	  https://reviewboard.asterisk.org/r/3667
	  https://reviewboard.asterisk.org/r/3665
	  https://reviewboard.asterisk.org/r/3625
	  https://reviewboard.asterisk.org/r/3602
	  https://reviewboard.asterisk.org/r/3519
	  https://reviewboard.asterisk.org/r/3518
	  https://reviewboard.asterisk.org/r/3516
	  https://reviewboard.asterisk.org/r/3515
	  https://reviewboard.asterisk.org/r/3512
	  https://reviewboard.asterisk.org/r/3506
	  https://reviewboard.asterisk.org/r/3413
	  https://reviewboard.asterisk.org/r/3410
	  https://reviewboard.asterisk.org/r/3387
	  https://reviewboard.asterisk.org/r/3388
	  https://reviewboard.asterisk.org/r/3389
	  https://reviewboard.asterisk.org/r/3390
	  https://reviewboard.asterisk.org/r/3321
	  https://reviewboard.asterisk.org/r/3320
	  https://reviewboard.asterisk.org/r/3319
	  https://reviewboard.asterisk.org/r/3318
	  https://reviewboard.asterisk.org/r/3266
	  https://reviewboard.asterisk.org/r/3265
	  https://reviewboard.asterisk.org/r/3234
	  https://reviewboard.asterisk.org/r/3178 ASTERISK-23114 #close
	  Reported by: mjordan media_formats_translation_core.diff uploaded
	  by kharwell (License 6464) rb3506.diff uploaded by mjordan
	  (License 6283) media_format_app_file.diff uploaded by kharwell
	  (License 6464) misc-2.diff uploaded by file (License 5000)
	  chan_mild-3.diff uploaded by file (License 5000)
	  chan_obscure.diff uploaded by file (License 5000) jingle.diff
	  uploaded by file (License 5000) funcs.diff uploaded by file
	  (License 5000) formats.diff uploaded by file (License 5000)
	  core.diff uploaded by file (License 5000) bridges.diff uploaded
	  by file (License 5000) mf-codecs-2.diff uploaded by file (License
	  5000) mf-app_fax.diff uploaded by file (License 5000)
	  mf-apps-3.diff uploaded by file (License 5000)
	  media-formats-3.diff uploaded by file (License 5000)
	  ASTERISK-23715 rb3713.patch uploaded by coreyfarrell (License
	  5909) rb3689.patch uploaded by mjordan (License 6283)
	  ASTERISK-23957 rb3722.patch uploaded by mjordan (License 6283)
	  mf-attributes-3.diff uploaded by file (License 5000)
	  ASTERISK-23958 Tested by: jrose rb3822.patch uploaded by
	  coreyfarrell (License 5909) rb3800.patch uploaded by jrose
	  (License 6182) chan_sip.diff uploaded by mjordan (License 6283)
	  rb3747.patch uploaded by jrose (License 6182) ASTERISK-23959
	  #close Tested by: sgriepentrog, mjordan, coreyfarrell
	  sip_cleanup.diff uploaded by opticron (License 6273)
	  chan_sip_caps.diff uploaded by mjordan (License 6283)
	  rb3751.patch uploaded by coreyfarrell (License 5909)
	  chan_sip-3.diff uploaded by file (License 5000) ASTERISK-23960
	  #close Tested by: opticron direct_media.diff uploaded by opticron
	  (License 6273) pjsip-direct-media.diff uploaded by file (License
	  5000) format_cap_remove.diff uploaded by opticron (License 6273)
	  media_format_fixes.diff uploaded by opticron (License 6273)
	  chan_pjsip-2.diff uploaded by file (License 5000) ASTERISK-23966
	  #close Tested by: rmudgett rb3803.patch uploaded by rmudgetti
	  (License 5621) chan_dahdi.diff uploaded by file (License 5000)
	  ASTERISK-24064 #close Tested by: coreyfarrell, mjordan, opticron,
	  file, rmudgett, sgriepentrog, jrose rb3814.patch uploaded by
	  rmudgett (License 5621) moh_cleanup.diff uploaded by opticron
	  (License 6273) bridge_leak.diff uploaded by opticron (License
	  6273) translate.diff uploaded by file (License 5000) rb3795.patch
	  uploaded by rmudgett (License 5621) tls_fix.diff uploaded by
	  mjordan (License 6283) fax-mf-fix-2.diff uploaded by file
	  (License 5000) rtp_transfer_stuff uploaded by mjordan (License
	  6283) rb3787.patch uploaded by rmudgett (License 5621)
	  media-formats-explicit-translate-format-3.diff uploaded by file
	  (License 5000) format_cache_case_fix.diff uploaded by opticron
	  (License 6273) rb3774.patch uploaded by rmudgett (License 5621)
	  rb3775.patch uploaded by rmudgett (License 5621)
	  rtp_engine_fix.diff uploaded by opticron (License 6273)
	  rtp_crash_fix.diff uploaded by opticron (License 6273)
	  rb3753.patch uploaded by mjordan (License 6283) rb3750.patch
	  uploaded by mjordan (License 6283) rb3748.patch uploaded by
	  rmudgett (License 5621) media_format_fixes.diff uploaded by
	  opticron (License 6273) rb3740.patch uploaded by mjordan (License
	  6283) rb3739.patch uploaded by mjordan (License 6283)
	  rb3734.patch uploaded by mjordan (License 6283) rb3689.patch
	  uploaded by mjordan (License 6283) rb3674.patch uploaded by
	  coreyfarrell (License 5909) rb3671.patch uploaded by coreyfarrell
	  (License 5909) rb3667.patch uploaded by coreyfarrell (License
	  5909) rb3665.patch uploaded by mjordan (License 6283)
	  rb3625.patch uploaded by coreyfarrell (License 5909) rb3602.patch
	  uploaded by coreyfarrell (License 5909)
	  format_compatibility-2.diff uploaded by file (License 5000)
	  core.diff uploaded by file (License 5000)

2014-07-18 21:48 +0000 [r419022]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
	  res/stasis_recording/stored.c, res/res_ari_recordings.c, /,
	  include/asterisk/stasis_app_recording.h,
	  res/ari/resource_recordings.h, CHANGES: ari: Add a copy operation
	  for stored recordings This patch adds a new operation for stored
	  recordings, copy. It takes an existing stored recording and makes
	  a copy of it in the same directory or a relative directory under
	  the stored recording directory.
	  /ari/recordings/stored/{recordingName}/copy?destinationRecordingName={copy_name}
	  This is particularly useful for voicemail-esque applications,
	  which may need to copy or move recordings around a directory
	  structure. Review: https://reviewboard.asterisk.org/r/3768/
	  ASTERISK-24036 #close Reported by: Sam Galarneau Tested by: Sam
	  Galarneau ........ Merged revisions 419021 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-18 21:25 +0000 [r418997-419020]  Corey Farrell <git@cfware.com>

	* main/stasis_message_router.c, /: stasis: fix call to ao2_t_alloc
	  for stasis_message_router_create This fixes a build failure
	  introduced by r3821. struct stasis_topic is opaque, so
	  topic->name is unavailable. Switch to using stasis_topic_name().
	  ........ Merged revisions 419019 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis.c, main/stasis_cache_pattern.c,
	  main/stasis_message.c, main/stasis_message_router.c, /: stasis:
	  use ao2_t_alloc for certain object allocators Add tags to stasis
	  objects using the name. This makes it easier to track the source
	  of certain stasis ref leaks. Review:
	  https://reviewboard.asterisk.org/r/3821/ ........ Merged
	  revisions 418996 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-18 19:07 +0000 [r418980]  Kinsey Moore <kmoore@digium.com>

	* res/res_fax_spandsp.c: Fix build in dev-mode

2014-07-18 17:55 +0000 [r418961-418963]  Scott Griepentrog <sgriepentrog@digium.com>

	* res/res_pjsip_pubsub.c, main/astobj2.c,
	  include/asterisk/astobj2.h, main/logger.c, main/utils.c: astobj2:
	  assert on invalid ref and backtrace cleanup If a reference count
	  goes negative, instead of just logging that fact, be more helpful
	  with a backtrace and an assert that will DO_CRASH. This patch
	  also removes the duplicate ao2_bt() function and cleans up
	  extraneous usage of the ast_log_backtrace() call. Review:
	  https://reviewboard.asterisk.org/r/3765/

	* /, channels/chan_sip.c: media formats: fix ref leak of peer for
	  mwi subscription Holding a reference to the peer during mwi
	  subscriptions resulted in a circular reference because the final
	  event message would not be sent until destruction of the peer.
	  Instead, pass the name of the peer to the event callback so that
	  it can fail gracefully after the peer has gone. ASTERISK-23959
	  Review: https://reviewboard.asterisk.org/r/3754/ ........ Merged
	  revisions 418636 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/features_config.c: feature_config: insure featuregroups
	  and applicationmaps are initialized If the features.conf is
	  missing, the cfg->featurgroups and cfg->applicationmaps is not
	  initialized, resulting in assert on ao2_find of a null container.
	  This patch changes the initialization call and adds asserts for a
	  safeguard. Review: https://reviewboard.asterisk.org/r/3809/
	  ........ Merged revisions 418886 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-18 16:47 +0000 [r418938]  Richard Mudgett <rmudgett@digium.com>

	* funcs/func_audiohookinherit.c, /: func_audiohookinherit.c: Fixup
	  some XML documentation wording. ........ Merged revisions 418937
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-18 16:28 +0000 [r418911-418936]  Jonathan Rose <jrose@digium.com>

	* main/channel.c, funcs/func_audiohookinherit.c, /,
	  include/asterisk/audiohook.h, main/framehook.c, res/res_fax.c,
	  main/bridge_basic.c, include/asterisk/res_fax.h,
	  bridges/bridge_native_rtp.c, main/audiohook.c, CHANGES,
	  include/asterisk/framehook.h, res/res_pjsip_refer.c: Channels:
	  Masquerades to automatically move frame/audio hooks Whenever
	  possible, audiohooks and framehooks will now be copied over to
	  the channel that the masquerading channel gets cloned into. This
	  should occur for all audiohooks and most framehooks. As a result,
	  in Asterisk 12.5 and up, the AUDIOHOOK_INHERIT function is now
	  deprecated and its behavior is essentially the new default for
	  all audiohooks, plus some additional audiohooks/framehooks.
	  Review: https://reviewboard.asterisk.org/r/3721/ ........ Merged
	  revisions 418914 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_fax.c, include/asterisk/res_fax.h, CHANGES,
	  res/res_fax.exports.in, res/res_fax_spandsp.c: res_fax: Provide
	  AMI equivalents for fax CLI commands Specifically the following
	  equivalents were created: fax show session -> FAXSession fax show
	  sessions -> FAXSessions fax show stats -> FAXStats Review:
	  https://reviewboard.asterisk.org/r/3666/

2014-07-18 00:11 +0000 [r418893-418895]  Sean Bright <sean@malleable.com>

	* config.sub, menuselect/config.guess, menuselect/config.sub,
	  config.guess: Update config.guess and config.sub

	* autoconf/ast_ext_tool_check.m4: Add missing file from previous
	  commit.

	* menuselect/aclocal.m4, menuselect/configure,
	  menuselect/acinclude.m4 (removed), menuselect/bootstrap.sh,
	  menuselect/autoconfig.h.in: Import Asterisk's autoconf magic
	  instead of using our own.

2014-07-17 21:17 +0000 [r418832-418870]  Matthew Jordan <mjordan@digium.com>

	* configs/samples/acl.conf.sample (added),
	  configs/samples/extensions.conf.sample (added),
	  configs/res_parking.conf.sample (removed),
	  configs/samples/cel_sqlite3_custom.conf.sample (added),
	  configs/cdr_sqlite3_custom.conf.sample (removed),
	  configs/modules.conf.sample (removed),
	  configs/samples/cli_aliases.conf.sample (added),
	  configs/meetme.conf.sample (removed),
	  configs/cdr_pgsql.conf.sample (removed),
	  configs/samples/extensions.ael.sample (added),
	  configs/samples/cdr_adaptive_odbc.conf.sample (added),
	  configs/samples/motif.conf.sample (added),
	  configs/samples/extensions_minivm.conf.sample (added),
	  configs/samples/res_curl.conf.sample (added),
	  configs/res_config_sqlite3.conf.sample (removed),
	  configs/mgcp.conf.sample (removed), configs/dsp.conf.sample
	  (removed), configs/udptl.conf.sample (removed),
	  configs/sip.conf.sample (removed), configs/dbsep.conf.sample
	  (removed), configs/queuerules.conf.sample (removed),
	  configs/samples/cdr_mysql.conf.sample (added),
	  configs/confbridge.conf.sample (removed),
	  configs/samples/cdr_odbc.conf.sample (added),
	  configs/samples/minivm.conf.sample (added),
	  configs/enum.conf.sample (removed),
	  configs/samples/codecs.conf.sample (added),
	  configs/samples/chan_dahdi.conf.sample (added),
	  configs/samples/cdr_custom.conf.sample (added),
	  configs/samples/res_config_mysql.conf.sample (added),
	  configs/samples/dundi.conf.sample (added),
	  configs/samples/oss.conf.sample (added),
	  configs/samples/app_mysql.conf.sample (added),
	  configs/samples/queues.conf.sample (added),
	  configs/samples/cdr.conf.sample (added),
	  configs/samples/cdr_syslog.conf.sample (added),
	  configs/festival.conf.sample (removed),
	  configs/samples/cel_pgsql.conf.sample (added),
	  configs/http.conf.sample (removed), configs/phoneprov.conf.sample
	  (removed), configs/alarmreceiver.conf.sample (removed),
	  configs/samples/features.conf.sample (added),
	  configs/cdr_tds.conf.sample (removed),
	  configs/func_odbc.conf.sample (removed),
	  configs/samples/logger.conf.sample (added),
	  configs/samples/res_odbc.conf.sample (added),
	  configs/samples/agents.conf.sample (added),
	  configs/res_fax.conf.sample (removed),
	  configs/samples/xmpp.conf.sample (added),
	  configs/iaxprov.conf.sample (removed),
	  configs/res_pgsql.conf.sample (removed),
	  configs/extensions.conf.sample (removed),
	  configs/chan_mobile.conf.sample (removed), configs/asterisk.adsi
	  (removed), configs/cel_sqlite3_custom.conf.sample (removed),
	  configs/users.conf.sample (removed),
	  configs/samples/res_pktccops.conf.sample (added),
	  configs/samples/amd.conf.sample (added), configs/rtp.conf.sample
	  (removed), configs/samples/res_parking.conf.sample (added),
	  configs/hep.conf.sample (removed),
	  configs/samples/modules.conf.sample (added),
	  configs/cel_tds.conf.sample (removed),
	  configs/res_curl.conf.sample (removed),
	  configs/samples/skinny.conf.sample (added),
	  configs/samples/cdr_pgsql.conf.sample (added),
	  configs/samples/sip_notify.conf.sample (added),
	  configs/samples/test_sorcery.conf.sample (added),
	  configs/samples/dsp.conf.sample (added),
	  configs/ss7.timers.sample (removed),
	  configs/samples/udptl.conf.sample (added),
	  configs/cdr_odbc.conf.sample (removed),
	  configs/samples/sip.conf.sample (added),
	  configs/minivm.conf.sample (removed),
	  configs/res_config_sqlite.conf.sample (removed),
	  configs/codecs.conf.sample (removed), configs/osp.conf.sample
	  (removed), configs/samples/cel_custom.conf.sample (added),
	  configs/samples/dbsep.conf.sample (added),
	  configs/samples/app_skel.conf.sample (added),
	  configs/console.conf.sample (removed),
	  configs/cdr_manager.conf.sample (removed),
	  configs/cdr_custom.conf.sample (removed),
	  configs/chan_dahdi.conf.sample (removed),
	  configs/res_config_mysql.conf.sample (removed),
	  configs/samples/statsd.conf.sample (added),
	  configs/cli.conf.sample (removed), configs/queues.conf.sample
	  (removed), configs/cdr_syslog.conf.sample (removed), UPGRADE.txt,
	  configs/manager.conf.sample (removed),
	  configs/samples/res_corosync.conf.sample (added),
	  configs/features.conf.sample (removed), configs/sla.conf.sample
	  (removed), configs/logger.conf.sample (removed),
	  configs/res_odbc.conf.sample (removed),
	  configs/agents.conf.sample (removed),
	  configs/samples/ooh323.conf.sample (added), Makefile,
	  configs/xmpp.conf.sample (removed),
	  configs/samples/phoneprov.conf.sample (added),
	  configs/samples/alarmreceiver.conf.sample (added),
	  configs/samples/cdr_tds.conf.sample (added),
	  configs/extconfig.conf.sample (removed),
	  configs/samples/func_odbc.conf.sample (added),
	  configs/samples/res_fax.conf.sample (added),
	  configs/samples/iaxprov.conf.sample (added),
	  configs/samples/res_ldap.conf.sample (added),
	  configs/samples/dnsmgr.conf.sample (added),
	  configs/res_pktccops.conf.sample (removed),
	  configs/cel.conf.sample (removed),
	  configs/samples/res_pgsql.conf.sample (added),
	  configs/samples/chan_mobile.conf.sample (added),
	  configs/samples/asterisk.adsi (added),
	  configs/samples/users.conf.sample (added),
	  configs/samples/rtp.conf.sample (added),
	  configs/phone.conf.sample (removed), configs/skinny.conf.sample
	  (removed), configs/muted.conf.sample (removed),
	  configs/samples/hep.conf.sample (added), configs/iax.conf.sample
	  (removed), configs/samples/cel_tds.conf.sample (added),
	  configs/sip_notify.conf.sample (removed),
	  configs/samples/telcordia-1.adsi (added),
	  configs/samples/alsa.conf.sample (added),
	  configs/samples/adsi.conf.sample (added),
	  configs/test_sorcery.conf.sample (removed),
	  configs/samples/followme.conf.sample (added),
	  configs/samples/asterisk.conf.sample (added),
	  configs/extensions.lua.sample (removed), configs/say.conf.sample
	  (removed), configs/cel_custom.conf.sample (removed),
	  configs/samples/ss7.timers.sample (added),
	  configs/samples/cel_odbc.conf.sample (added),
	  configs/app_skel.conf.sample (removed),
	  configs/samples/ccss.conf.sample (added),
	  configs/cli_permissions.conf.sample (removed),
	  configs/statsd.conf.sample (removed),
	  configs/samples/res_config_sqlite.conf.sample (added),
	  configs/config_test.conf.sample (removed),
	  configs/indications.conf.sample (removed),
	  configs/samples/osp.conf.sample (added),
	  configs/samples/cdr_manager.conf.sample (added),
	  configs/samples/console.conf.sample (added),
	  configs/voicemail.conf.sample (removed),
	  configs/res_corosync.conf.sample (removed),
	  configs/misdn.conf.sample (removed),
	  configs/samples/cli.conf.sample (added), configs/ari.conf.sample
	  (removed), configs/ooh323.conf.sample (removed),
	  configs/samples/calendar.conf.sample (added),
	  configs/samples/res_stun_monitor.conf.sample (added),
	  configs/samples/manager.conf.sample (added),
	  configs/samples/pjsip_notify.conf.sample (added),
	  configs/samples/sla.conf.sample (added),
	  configs/musiconhold.conf.sample (removed),
	  configs/pjsip.conf.sample (removed), configs/sorcery.conf.sample
	  (removed), configs/vpb.conf.sample (removed),
	  configs/unistim.conf.sample (removed),
	  configs/res_ldap.conf.sample (removed),
	  configs/dnsmgr.conf.sample (removed),
	  configs/samples/extconfig.conf.sample (added),
	  configs/samples/res_snmp.conf.sample (added),
	  configs/acl.conf.sample (removed),
	  configs/samples/smdi.conf.sample (added),
	  configs/samples/cel.conf.sample (added),
	  configs/cli_aliases.conf.sample (removed),
	  configs/samples/cdr_sqlite3_custom.conf.sample (added),
	  configs/extensions.ael.sample (removed),
	  configs/cdr_adaptive_odbc.conf.sample (removed),
	  configs/samples/phone.conf.sample (added),
	  configs/extensions_minivm.conf.sample (removed),
	  configs/motif.conf.sample (removed), configs/telcordia-1.adsi
	  (removed), configs/samples/meetme.conf.sample (added),
	  configs/adsi.conf.sample (removed), configs/alsa.conf.sample
	  (removed), configs/samples/muted.conf.sample (added),
	  configs/followme.conf.sample (removed),
	  configs/asterisk.conf.sample (removed),
	  configs/samples/iax.conf.sample (added),
	  configs/samples/res_config_sqlite3.conf.sample (added),
	  configs/samples/mgcp.conf.sample (added),
	  configs/cel_odbc.conf.sample (removed), configs/ccss.conf.sample
	  (removed), configs/cdr_mysql.conf.sample (removed),
	  configs/samples/extensions.lua.sample (added),
	  configs/samples/say.conf.sample (added),
	  configs/dundi.conf.sample (removed),
	  configs/samples/queuerules.conf.sample (added),
	  configs/oss.conf.sample (removed), configs/app_mysql.conf.sample
	  (removed), configs/samples/confbridge.conf.sample (added),
	  configs/samples/cli_permissions.conf.sample (added),
	  configs/samples/enum.conf.sample (added),
	  configs/samples/config_test.conf.sample (added),
	  configs/cdr.conf.sample (removed),
	  configs/samples/indications.conf.sample (added),
	  configs/cel_pgsql.conf.sample (removed),
	  configs/res_stun_monitor.conf.sample (removed),
	  configs/calendar.conf.sample (removed),
	  configs/samples/voicemail.conf.sample (added),
	  configs/pjsip_notify.conf.sample (removed),
	  configs/samples/misdn.conf.sample (added),
	  configs/samples/ari.conf.sample (added),
	  configs/samples/festival.conf.sample (added),
	  configs/samples/http.conf.sample (added),
	  configs/res_snmp.conf.sample (removed),
	  configs/samples/musiconhold.conf.sample (added),
	  configs/samples/pjsip.conf.sample (added),
	  configs/samples/sorcery.conf.sample (added),
	  configs/samples/vpb.conf.sample (added), configs/smdi.conf.sample
	  (removed), configs/samples/unistim.conf.sample (added),
	  configs/samples (added), configs/amd.conf.sample (removed):
	  configs: Move sample config files into a subdirectory of configs
	  This moves all samples configs from configs/ to configs/samples.
	  This allows for additional sets of sample configuration files to
	  be added in the future. Review:
	  https://reviewboard.asterisk.org/r/3804/

	* channels/chan_sip.c, UPGRADE.txt: chan_sip: Make
	  progressinband=never really mean 'never' progressinband=never in
	  sip.conf is easily defeated if an onward trunk sends a progress
	  indication of its own. This is almost certain to happen if the
	  onward trunk is ISDN or IAX as these technologies send a progress
	  indication even if early media is not required. This progress
	  message is passed to the caller, and causes the "never" option to
	  be rather badly named. This patch changes the behaviour of this
	  setting in the following ways: 1) In sip_write(), do not pass the
	  media unless we have either progressed beyond INV_EARLY_MEDIA, or
	  we are in INV_EARLY_MEDIA state, and early media is both set-up
	  and wanted. This helps resolve double-ringing on some buggy
	  handsets. 2) In sip_indicate(), if we see AST_CONTROL_PROGRESS,
	  but SIP_PROG_INBAND_NEVER is set, send a 180 Ringing instead to
	  avoid implicitly enabling early media. Avoid sending double ring
	  indications. NOTE: the meaning of the SIP_PROGRESS_SENT flag
	  changes slightly in this patch to also encapsulate the fact that
	  a channel has *sent or received* a 183 Progress indication. This
	  makes the updated code in sip_write() much more simple. Review:
	  https://reviewboard.asterisk.org/r/3700 ASTERISK-23972 #close
	  Reported by: Steve Davies patches:
	  inband_never_present_early_media2 uploaded by Steve Davies
	  (License 5012)

	* menuselect: Add svn:ignore property

	* UPGRADE.txt, menuselect/configure, menuselect/configure.ac,
	  configure, configure.ac: configure: Fix libxml2 development
	  library dependency checking The commit that added libxml2 support
	  didn't fully check for the libxml2 development script in the
	  Asterisk configure file. As a result, Asterisk could be
	  configured, then fail on menuselect. This patch fixes it so that
	  Asterisk should detect the libxml2 dependency failure first.

	* menuselect/makeopts.in, menuselect/autoconfig.h.in,
	  menuselect/menuselect.h, menuselect/example_menuselect-tree,
	  configure, include/asterisk/autoconfig.h.in, menuselect/Makefile,
	  menuselect/README, menuselect/aclocal.m4, configure.ac,
	  UPGRADE.txt, menuselect/configure, menuselect/configure.ac,
	  menuselect/menuselect.c, menuselect/acinclude.m4: menuselect: Add
	  libxml2 support (Patch 3) This is the final patch in adding
	  menuselect to Asterisk. - The first patch (r418832) added
	  menuselect along with mxml - The second patch (r418833) removed
	  mxml from menuselect This patch adds support for libxml2 to
	  menuselect, and makes libxml2 a required library for Asterisk.
	  Note that the libxml2 portion of this patch was written by Sean
	  Bright, and was made available on a team branch:
	  http://svn.digium.com/svn/menuselect/team/seanbright/libxml2/
	  Review: https://reviewboard.asterisk.org/r/3773/ ASTERISK-20703
	  #close patches: some_mysterious_team_branch uploaded by
	  seanbright (License 5060)

	* menuselect/mxml (removed): menuselect: Remove mxml from
	  menuselect (Patch 2) This is the second patch that adds
	  menuselect to Asterisk trunk. The previous commit (r418832) added
	  menuselect along with mxml; this patch removes mxml completely
	  from Menuselect. A subsequent patch will switch menuselect over
	  to using libxml2, and make libxml2 a required dependency for
	  Asterisk. ASTERISK-20703

	* menuselect/mxml/configure.in (added), menuselect/acinclude.m4
	  (added), menuselect/mxml/mxml.list.in (added),
	  menuselect/mxml/README (added), menuselect/linkedlists.h (added),
	  menuselect/mxml (added), menuselect/mxml/config.h.in (added),
	  menuselect/aclocal.m4 (added), menuselect/install-sh (added),
	  menuselect/mxml/mxml-string.c (added),
	  menuselect/menuselect_stub.c (added), menuselect/make_version
	  (added), menuselect/mxml/mxml-entity.c (added),
	  menuselect/bootstrap.sh (added), menuselect/makeopts.in (added),
	  menuselect/autoconfig.h.in (added), menuselect/config.guess
	  (added), menuselect/mxml/install-sh (added),
	  menuselect/test/build_tools/menuselect-deps (added), /,
	  menuselect/contrib/menuselect-dummy (added),
	  menuselect/config.sub (added), menuselect/mxml/configure (added),
	  menuselect/mxml/Makefile.in (added), menuselect (added),
	  menuselect/contrib (added), menuselect/mxml/mxml.pc.in (added),
	  menuselect/configure.ac (added), menuselect/mxml/mxml-set.c
	  (added), menuselect/contrib/Makefile-dummy (added),
	  menuselect/mxml/ANNOUNCEMENT (added), menuselect/missing (added),
	  menuselect/menuselect_curses.c (added),
	  menuselect/example_menuselect-tree (added), menuselect/Makefile
	  (added), menuselect/mxml/mxml-search.c (added), menuselect/test
	  (added), menuselect/test/menuselect-tree (added),
	  menuselect/mxml/mxml.h (added), menuselect/mxml/mxml-index.c
	  (added), menuselect/configure (added),
	  menuselect/menuselect_newt.c (added), menuselect/mxml/mxml-attr.c
	  (added), menuselect/mxml/mxml-private.c (added),
	  menuselect/menuselect.c (added), menuselect/mxml/CHANGES (added),
	  menuselect/mxml/COPYING (added), menuselect/mxml/mxml-file.c
	  (added), menuselect/menuselect.h (added),
	  menuselect/menuselect_gtk.c (added), menuselect/README (added),
	  menuselect/strcompat.c (added), menuselect/mxml/mxml-node.c
	  (added), menuselect/test/build_tools (added): menuselect: Add
	  menuselect to Asterisk trunk (Patch 1) This is the first patch
	  that adds menuselect to Asterisk trunk, and removes the
	  svn:externals property. This is being done for two reasons: (1)
	  The removal of external repositories eases a future migration to
	  git (2) Asterisk is now the only thing that uses menuselect; as a
	  result, there's little need to keep it in an external repository
	  Subsequent patches will remove the mxml dependency from
	  menuselect and tidy up the build system. ASTERISK-20703

2014-07-17 14:28 +0000 [r418811]  Kinsey Moore <kmoore@digium.com>

	* /, main/bridge_channel.c: TEST_FRAMEWORK: Fix threewaytransfer
	  reporting Ensure that three-way transfers can be reported even if
	  featuremap is non-NULL. ........ Merged revisions 418810 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-16 23:08 +0000 [r418788]  Corey Farrell <git@cfware.com>

	* /, channels/dahdi/bridge_native_dahdi.c: Remove include of
	  astobj.h from channels/dahdi/bridge_native_dahdi.c. The include
	  was unneeded, this is split off from r3758 as it applies to 12.
	  ........ Merged revisions 418787 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-16 14:03 +0000 [r418717-418757]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip/pjsip_configuration.c, CHANGES, res/res_pjsip.c,
	  channels/chan_pjsip.c, include/asterisk/res_pjsip.h,
	  contrib/ast-db-manage/config/versions/1d50859ed02e_create_accountcode.py
	  (added), /, configs/pjsip.conf.sample: res_pjsip: Support setting
	  a default accountcode on endpoints Most channel drivers let you
	  specify a default accountcode to be set on channels associated
	  with a particular peer/endpoint/object. Prior to this patch,
	  chan_pjsip/res_pjsip did not support such a setting. This patch
	  adds a new setting to the res_pjsip endpoint object,
	  'accountcode'. When a channel is created that is associated with
	  an endpoint with this value set, the channel will automatically
	  have its accountcode property set to the value configured for the
	  endpoint. Review: https://reviewboard.asterisk.org/r/3724/
	  ASTERISK-24000 #close Reported by: Matt Jordan ........ Merged
	  revisions 418756 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* cdr/cdr_pgsql.c, CHANGES, configs/cdr_pgsql.conf.sample,
	  configs/res_pgsql.conf.sample, cel/cel_pgsql.c,
	  res/res_config_pgsql.c, configs/cel_pgsql.conf.sample: cel_pgsql,
	  cdr_pgsql, res_config_pgsql: Add PostgreSQL application_name
	  support This patch adds support for the PostgreSQL
	  application_name connection setting. When the appropriate
	  PostgreSQL module's configuration is set with an application
	  name, the name will be passed to PostgreSQL on connection and
	  displayed in the database's pg_stat_activity view, as well as in
	  CSV logs. This aids in managing which applications/servers are
	  connected to a PostgreSQL database, as well as tracing the
	  activity of those connections. Review:
	  https://reviewboard.asterisk.org/r/3591 ASTERISK-23737 #close
	  Reported by: Gergely Domodi patches: pgsql_application_name.patch
	  uploaded by Gergely Domodi (License 6610)

	* codecs/codec_adpcm.c, main/format.c: codec_adpcm: Change
	  description of codec "ADPCM" to "Dialogic ADPCM" Technically,
	  ADPCM is a method that can be applied to several codecs.
	  Asterisk's ADPCM codec is the Dialogic ADPCM or VOX codec. See
	  http://en.wikipedia.org/wiki/Dialogic_ADPCM for more information
	  about said codec. Review: https://reviewboard.asterisk.org/r/3744
	  patches: rb3744.patch uploaded by dennis.guse (License 6513)

	* UPGRADE.txt, main/manager.c, /: manager: Return ActionID on
	  nominal responses to PresenceState action When the PresenceState
	  action is executed, the nominal path fails to include the
	  ActionID in the successful response. This patch adds a call to
	  astman_start_ack, which guarantees that an ActionID (if provided)
	  will be sent back to the AMI client. Unlike the Asterisk 11 and
	  12 patches, this patch also deprecates the duplicate Message key
	  in the response to the action, replacing it with the key
	  'PresenceMessage'. Review:
	  https://reviewboard.asterisk.org/r/3776/ ASTERISK-23985 #close
	  ........ Merged revisions 418713 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 418714 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-15 23:03 +0000 [r418716]  Kinsey Moore <kmoore@digium.com>

	* /, main/bridge_channel.c: TEST_FRAMEWORK: Fix ref leak in feature
	  activation This fixes two reference leaks that would occur when
	  TEST_FRAMEWORK was enabled and features were successfully
	  executed. ........ Merged revisions 418715 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-15 17:57 +0000 [r418654]  Jonathan Rose <jrose@digium.com>

	* funcs/func_uri.c, /: func_uri: URIENCODE/URIDECODE - allow empty
	  strings as argument Previously these two dialplan functions would
	  issue warnings and return failure when an empty string is used as
	  the argument. Now they will not issue a warning and will
	  successfully return an empty string. ASTERISK-23911 #close
	  Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3745/ ........ Merged
	  revisions 418641 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 418649 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 418650 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-15 12:11 +0000 [r418616]  Sean Bright <sean@malleable.com>

	* main/asterisk.c: Update Asterisk copyright year in
	  main/asterisk.c It's been 2014 for like... 6 months.

2014-07-14 14:55 +0000 [r418566-418587]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/logger.h, /: logger.h: Extract DEBUG_ATLEAST()
	  to complement VERBOSITY_ATLEAST(). ........ Merged revisions
	  418586 from http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/jabber.h (removed), include/asterisk/jingle.h
	  (removed), include/asterisk/frame_defs.h (removed),
	  configs/h323.conf.sample (removed): Actually delete the removed
	  files.

2014-07-13 21:57 +0000 [r418507]  Corey Farrell <git@cfware.com>

	* /, main/astobj2.c, contrib/scripts/refcounter.py: astobj2: work
	  around REF_DEBUG race which causes out of order log entries *
	  Update refcounter.py to use delta's to track the current
	  reference count. * Use result from internal_ao2_ref to write
	  old_refcount to refs_log. Review:
	  https://reviewboard.asterisk.org/r/3756/ ........ Merged
	  revisions 418504 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 418505 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 418506 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-13 20:08 +0000 [r418488]  Scott Griepentrog <sgriepentrog@digium.com>

	* include/asterisk/astobj2.h: astobj2: correct define for
	  ao2_t_cleanup This change maps the ao2_t_cleanup() function to
	  the correct debug function so that it can be used. Review:
	  https://reviewboard.asterisk.org/r/3764/

2014-07-13 16:48 +0000 [r418448-418467]  Corey Farrell <git@cfware.com>

	* main/manager.c, /, apps/app_skel.c: Fix minor reference leaks in
	  app_skel and TEST_FRAMEWORK * Cleanup games object in app_skel. *
	  Cleanup stasis subscription to TEST_FRAMEWORK in manager.c (12+).
	  Review: https://reviewboard.asterisk.org/r/3757/ ........ Merged
	  revisions 418465 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 418466 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/jabber.h, include/asterisk/jingle.h,
	  configs/h323.conf.sample: Remove files left behind on removal of
	  h323, jingle and jabber. This change removes h323.conf.sample,
	  jingle.h, jabber.h left behind by r3698. Review:
	  https://reviewboard.asterisk.org/r/3755/

2014-07-11 23:00 +0000 [r418419]  Matthew Jordan <mjordan@digium.com>

	* main/astobj2.c, include/asterisk/astobj2.h: astobj2: Add tag
	  variants for ao2_bump, ao2_cleanup, and ao2_replace Tags are
	  useful in hunting down ref imbalances; this patch adds tag
	  variants for these commonly used macros/functions. Review:
	  https://reviewboard.asterisk.org/r/3750/

2014-07-11 21:10 +0000 [r418397]  Corey Farrell <git@cfware.com>

	* /, include/asterisk/astobj2.h: astobj2: tweak ao2_replace to do
	  nothing when it would be a NoOp This change causes ao2_replace to
	  do nothing when src == dst. This avoids REF_DEBUG logging when
	  we're not actually doing anything. Review:
	  https://reviewboard.asterisk.org/r/3743/ ........ Merged
	  revisions 418396 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-11 16:42 +0000 [r418370]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, main/config.c: config: inform config hook of change when
	  writing file When updated configuration is written back to the
	  conf file - for example when a user changes their voicemail pin,
	  make sure that any config hook that wants to know of changes is
	  informed. Review: https://reviewboard.asterisk.org/r/3708/
	  ........ Merged revisions 418366 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 418369 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-10 15:36 +0000 [r418325]  Matthew Jordan <mjordan@digium.com>

	* /, include/asterisk/xmpp.h: include/asterisk/xmpp.h: Convert
	  indentation to tabs This is a whitespace only change. ........
	  Merged revisions 418323 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 418324 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-10 01:59 +0000 [r418226-418264]  Richard Mudgett <rmudgett@digium.com>

	* channels/sig_pri.c, /: chan_dahdi/sig_pri: Fix type mismatch in
	  the idledial feature's channel creation. Square pegs in round
	  holes don't work very well. ........ Merged revisions 418261 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 418262 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 418263 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/stasis/stasis_bridge.h (added), main/bridge_channel.c,
	  res/res_stasis.c, /, res/stasis/stasis_bridge.c (added),
	  include/asterisk/bridge_channel.h, main/bridge_basic.c: ARI: Make
	  mixing bridges propagate linkedids and accountcodes. * Create a
	  Stasis bridge sub-class to propagate linkedids and accountcodes.
	  * Fixed the basic bridge sub-class to update peeraccount codes
	  when the number of channels in the bridge drops back down to two
	  parties. * Refactored ast_bridge_channel_update_accountcodes() to
	  handle channels joining/leaving the bridge. * Fixed the basic
	  bridge sub-class to not call the base bridge class pull method
	  twice. AFS-105 #close ASTERISK-23852 #close Reported by: Richard
	  Mudgett Review: https://reviewboard.asterisk.org/r/3720/ ........
	  Merged revisions 418225 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-08 14:48 +0000 [r418174-418183]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/endpoints.json,
	  rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
	  /, rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json,
	  rest-api/api-docs/playbacks.json,
	  rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
	  rest-api/resources.json, include/asterisk/manager.h,
	  rest-api/api-docs/bridges.json,
	  rest-api/api-docs/recordings.json: manager/ARI: Update version to
	  2.4.0/1.4.0; Update UPGRADE.txt ........ Merged revisions 418182
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix undefined
	  function when PJPROJECT is not installed The
	  dtls_perform_handshake function was mistakenly placed under the
	  guards for USE_PJPROJECT. If PJPROJECT was not installed, the
	  function would not be defined, while other functions would
	  attempt to still use it. This prevented res_rtp_asterisk from
	  being loaded. ASTERISK-24001 #close Reported by: Don Fanning
	  ........ Merged revisions 418172 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-07 16:08 +0000 [r418117]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/res_pjsip_body_generator_types.h,
	  res/res_pjsip_dialog_info_body_generator.c (added),
	  res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c, /,
	  include/asterisk/res_pjsip_presence_xml.h:
	  res_pjsip_dialog_info_body_generator: Add dialog-info+xml support
	  for presence. This module implements dialog-info+xml for the
	  purposes of presence. This means that phones such as Grandstreams
	  can now subscribe to receive presence information for an
	  extension. ASTERISK-21443 #close Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3705/ ........ Merged
	  revisions 418116 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-07 02:15 +0000 [r418090]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/stasis_app.h, res/ari/resource_channels.c,
	  res/res_stasis.c, /, res/stasis/app.c: ARI/res_stasis: Subscribe
	  to both Local channel halves when originating to app This patch
	  fixes two bugs: 1. When originating a channel into a Stasis
	  application, we already create a subscription for the channel
	  that is going into our Stasis app. Unfortunately, when you create
	  a Local channel and pass it off to a Stasis app, you really
	  aren't creating just one channel: you're creating two. This patch
	  snags the second half of the Local channel pair (assuming it is a
	  Local channel pair, but luckily core_local is kind about such
	  assumptions) and subscribes to it as well. 2. Subscriptions are a
	  bit sticky right now. If a subscription is made, the 'interest'
	  count gets bumped on the Stasis subscription - but unless
	  something explicitly unsubscribes the channel, said subscription
	  sticks around. This is not much of a problem is a user is
	  creating the subscription - if they made it, they must want it.
	  However, when we are creating implicit subscriptions, we need to
	  make sure something clears them out. This patch takes a
	  pessimistic approach: it watches the cache updates coming from
	  Stasis and, if we notice that the cache just cleared out an
	  object, we delete our subscription object. This keeps our ao2
	  container of Stasis forwards in an application from growing out
	  of hand; it also is a bit more forgiving for end users who may
	  not realize they were supposed to unsubscribe from that channel
	  that just hung up. Review:
	  https://reviewboard.asterisk.org/r/3710/ #ASTERISK-23939 #close
	  ........ Merged revisions 418089 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-07 01:22 +0000 [r418067-418084]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c, main/cel.c, channels/chan_pjsip.c,
	  res/res_pjsip_session.c, /: CEL: Fix incorrect/missing extra
	  field information This corrects two issues with the extra field
	  information in Asterisk 12+ in channel event logs. It is possible
	  to inject custom values into the dialstatus provided by
	  ast_channel_dial_type() Stasis messages that fall outside the
	  enumeration allowed for the DIALSTATUS channel variable. CEL now
	  filters for the allowed values and ignores other values. The
	  "hangupsource" extra field key is always blank if the far end
	  channel is a chan_pjsip channel. This is because the hangupsource
	  is never set for the pjsip channel driver. This change sets the
	  hangupsource whenever a hangup is queued for chan_pjsip channels.
	  This corrects an issue with the pjsip channel driver where the
	  hangupcause information was not being set properly. Review:
	  https://reviewboard.asterisk.org/r/3690/ ........ Merged
	  revisions 418071 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/http.c: HTTP: Fix build for gcc 4.10 ........ Merged
	  revisions 418066 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-04 15:26 +0000 [r418019-418050]  Matthew Jordan <mjordan@digium.com>

	* main/Makefile: main/Makefile: fix compilation error of buildinfo
	  occurring on 'make install' Egads. Another bad deletion of too
	  much when attempting to remove h323 stuff.

	* configure.ac, build_tools/menuselect-deps.in, configure,
	  main/Makefile: configure: Remove last vestiges of h323; DO create
	  menuselect-deps The previous patch (r418034) fixed the 'glitch'
	  that the channels/h323 Makefile no longer existed. Unfortunately,
	  removing the entire line was a bit of a blunder, as it meant that
	  build_tools/menuselect-deps was never generated. Hilarity ensued
	  when actually trying to compile. But hey! At least configure
	  worked. This patch fixes *that* glitch, and removes some more of
	  the vestiges of h323. (It had tendrils in the main Makefile?
	  Crazy.)

	* configure.ac, configure: configure: Update script to pass if
	  channels/h323/Makefile.in does not exist This simply removes that
	  check from the configure script, as r418019 removed chan_h323.

	* apps/app_dahdibarge.c (removed), configs/gtalk.conf.sample
	  (removed), main/pbx.c, apps/app_readfile.c (removed),
	  channels/chan_sip.c, configs/jingle.conf.sample (removed),
	  UPGRADE.txt, res/res_musiconhold.c, channels/chan_gtalk.c
	  (removed), channels/Makefile, CHANGES, res/res_jabber.c
	  (removed), channels/h323 (removed), utils/conf2ael.c,
	  channels/chan_jingle.c (removed), res/ael/pval.c,
	  configs/jabber.conf.sample (removed),
	  configs/asterisk.conf.sample, res/res_agi.c, channels/chan_h323.c
	  (removed), addons/Makefile, pbx/pbx_realtime.c, utils/ael_main.c,
	  include/asterisk/options.h, main/asterisk.c,
	  addons/app_saycountpl.c (removed): Remove many deprecated modules
	  Billing records are fair, To get paid is quite bright, You should
	  really use ODBC; Good-bye cdr_sqlite. Microsoft did once push
	  H.323, Hell, we all remember NetMeeting. But try to compile
	  chan_h323 now And you will take quite a beating. The XMPP and SIP
	  war was fierce, And in the distant fray Was birthed
	  res_jabber/chan_jingle; But neither to stay. For everyone did
	  care and chase what Google professed. "Free Internet Calling" was
	  what devotees cried, But Google did change the specs so often
	  That the developers were happy the day chan_gtalk died. And then
	  there was that odd application Dedicated to the Polish tongue.
	  app_saycountpl was subsumed by Say; One could say its bell was
	  rung. To read and parse a file from the dialplan You could (I
	  guess) use an application. app_readfile did fill that purpose,
	  but I think A function is perhaps better in its creation. Barging
	  is rude, I'm not sure why we do it. Inwardly, the caller will
	  probably sigh. But if you really must do it, Don't use
	  app_dahdibarge, use ChanSpy. We all despise the sound of tinny
	  robots It makes our queues so cold. To control such an
	  abomination It's better to not use Wait/SetMusicOnHold. It's
	  often nice to know properties of a channel It makes our calls
	  right We have a nice function called CHANNEL And so SIPCHANINFO
	  is sent off into the night. And now things get odd; Apparently
	  one could delimit with a colon Properties from the SIPPEER
	  function! Commas are in; all others are done. Finally, a word on
	  pipes and commas. We're sorry. We can't say it enough. But those
	  compatibility options in asterisk.conf; To maintain them forever
	  was just too tough. This patch removes: * cdr_sqlite * chan_gtalk
	  * chan_jingle * chan_h323 * res_jabber * app_saycountpl *
	  app_readfile * app_dahdibarge It removes the following
	  applications/functions: * WaitMusicOnHold * SetMusicOnHold *
	  SIPCHANINFO It removes the colon delimiter from the SIPPEER
	  function. Finally, it also removes all compatibility options that
	  were configurable from asterisk.conf, as these all applied to
	  compatibility with Asterisk 1.4 systems. Review:
	  https://reviewboard.asterisk.org/r/3698/

2014-07-03 22:22 +0000 [r417933-417976]  Richard Mudgett <rmudgett@digium.com>

	* channels/sig_pri.h, channels/chan_dahdi.c,
	  configs/chan_dahdi.conf.sample, /, UPGRADE.txt,
	  channels/sig_pri.c: chan_dahdi: Add inband_on_setup_ack
	  compatibility option. The new inband_on_setup_ack option causes
	  Asterisk to assume inband audio may be present when a
	  SETUP_ACKNOWLEDGE message is received. Q.931 Section 5.1.3 says
	  that in scenarios with overlap dialing, when a dialtone is sent
	  from the network side, progress indicator 8 "Inband info now
	  available" MAY be sent to the CPE if no digits were received with
	  the SETUP. It is thus implied that the ie is mandatory if digits
	  came with the SETUP and dialtone is needed. This option should be
	  enabled, when the network sends dialtone and you want to hear it,
	  but the network doesn't send the progress indicator when needed.
	  NOTE: For Q.SIG setups this option should be enabled when
	  outgoing overlap dialing is also enabled because Q.SIG does not
	  send the progress indicator with the SETUP ACK. The commit
	  -r413714 (AST-1338) which causes this issue was dealing with a
	  SIP-to-ISDN interoperability issue. This commit is a merge of the
	  two patches indicated below. ASTERISK-23897 #close Reported by:
	  Pavel Troller Patches: pri-4.diff (license #6302) patch uploaded
	  by Pavel Troller jira_asterisk_23897_v11.patch (license #5621)
	  patch uploaded by rmudgett Review:
	  https://reviewboard.asterisk.org/r/3633/ ........ Merged
	  revisions 417956 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 417957 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417958 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/ari/resource_channels.c, res/res_ari.c, main/manager.c, /:
	  res_ari: Fix some off-nominal paths just dropping the HTTP
	  connection. * Removed some incorrect newlines on ast_http_error()
	  messages in manager.c. * Removed an incorrect newline in
	  res_ari_channels.c. Addendum to ASTERISK-23552 ........ Merged
	  revisions 417932 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-03 17:34 +0000 [r417910-417916]  Jonathan Rose <jrose@digium.com>

	* CHANGES, channels/chan_dahdi.c: chan_dahdi: Add AMI commands for
	  controlling PRI debugging output Adds the following AMI commands:
	  PRIDebugSet - Set PRI debug levels for a specific span
	  PRIDebugFileSet - Set the file used for PRI debug message output
	  PRIDebugFileUnset - Disables file output for PRI debug messages
	  Review: https://reviewboard.asterisk.org/r/3681/

	* CHANGES, pbx/pbx_config.c, main/pbx.c: pbx_config: Add manager
	  actions to add/remove extensions Adds two new manager commands to
	  pbx_config - DialplanExtensionAdd and DialplanExtensionRemove
	  which allow manager users to create and delete extensions
	  respectively. Review: https://reviewboard.asterisk.org/r/3650/

2014-07-03 17:16 +0000 [r417901]  Richard Mudgett <rmudgett@digium.com>

	* res/res_phoneprov.c, main/http.c, UPGRADE.txt,
	  include/asterisk/tcptls.h, res/res_http_post.c,
	  res/res_http_websocket.c, configs/http.conf.sample,
	  include/asterisk/http.h, main/tcptls.c, res/res_ari.c,
	  main/manager.c, /: HTTP: Add persistent connection support.
	  Persistent HTTP connection support is needed due to the increased
	  usage of the Asterisk core HTTP transport and the frequency at
	  which REST API calls are going to be issued. * Add http.conf
	  session_keep_alive option to enable persistent connections. *
	  Parse and discard optional chunked body extension information and
	  trailing request headers. * Increased the maximum
	  application/json and application/x-www-form-urlencoded body size
	  allowed to 4k. The previous 1k was kind of small. * Removed a
	  couple inlined versions of ast_http_manid_from_vars() by calling
	  the function. manager.c:generic_http_callback() and
	  res_http_post.c:http_post_callback() * Add missing va_end() in
	  ast_ari_response_error(). * Eliminated unnecessary RAII_VAR() use
	  in http.c:auth_create(). ASTERISK-23552 #close Reported by: Scott
	  Griepentrog Review: https://reviewboard.asterisk.org/r/3691/
	  ........ Merged revisions 417880 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-03 16:55 +0000 [r417900]  Matthew Jordan <mjordan@digium.com>

	* main/tcptls.c, configure, include/asterisk/autoconfig.h.in,
	  configure.ac: main/tcptls: Add checks for OpenSSL Elliptic Curve
	  support The patch for ASTERISK-23905 that added PFS support in
	  Asterisk depends on the elliptic curve library support being
	  present in OpenSSL. As it turns out, some versions of OpenSSL
	  don't have this library - notably the version running on our
	  build agents. This patch fixes the build by providing a configure
	  check for the specific library calls that the PFS patch relies
	  on. Review: https://reviewboard.asterisk.org/r/3709/

2014-07-03 16:14 +0000 [r417877-417879]  sgalarneau <sgalarneau@localhost>:

	* res/ari/resource_events.h, rest-api/api-docs/channels.json,
	  res/ari/resource_channels.h, rest-api/api-docs/events.json, /:
	  ARI: Improvements to body parameters documentation The variables
	  body parameter under the originate and originate with id
	  operations of the channel resource showed invalid JSON in its
	  description. The variables body parameter under the userEvent
	  operation of the event resource made no mention that the custom
	  key/value pairs should be wrapped in a variables key in order to
	  be added to the custom user event. ASTERISK-23975 #close Review:
	  https://reviewboard.asterisk.org/r/3692/ ........ Merged
	  revisions 417878 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* rest-api-templates/api.wiki.mustache,
	  rest-api-templates/swagger_model.py, /: api.wiki.mustache: Update
	  wiki template to support body parameters This patch updates the
	  api.wiki.mustache template and the swagger_model python script to
	  understand if an operation has a body parameter. If an operation
	  does have a body parameter, it will now be displayed in the
	  corresponding wiki entry. ........ Merged revisions 407389 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-03 14:08 +0000 [r417863]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* Makefile, contrib/scripts/dahdi_span_config_hook (added):
	  dahdi_span_config_hook: automatically register new dahdi channels
	  Install a hook script for DAHDI to register new spans with
	  Asterisk automatically by running: asterisk -rx 'dahdi create
	  channel FIRST LAST' Review:
	  https://reviewboard.asterisk.org/r/3157/

2014-07-03 12:10 +0000 [r417800-417803]  Matthew Jordan <mjordan@digium.com>

	* main/tcptls.c, CHANGES: main/tcptls: Add support for Perfect
	  Forward Secrecy This patch enables Perfect Forward Secrecy (PFS)
	  in Asterisk's core TLS API. Modules that wish to enable PFS
	  should consider the following: - Ephemeral ECDH (ECDHE) is
	  enabled by default. To disable it, do not specify a ECDHE cipher
	  suite in a module's configuration, for example:
	  tlscipher=AES128-SHA:DES-CBC3-SHA - Ephemeral DH (DHE) is
	  disabled by default. To enable it, add DH parameters into the
	  private key file, i.e., tlsprivatekey. For an example, see the
	  default dh2048.pem at
	  http://www.opensource.apple.com/source/OpenSSL098/OpenSSL098-35.1/src/apps/dh2048.pem?txt
	  - Because clients expect the server to prefer PFS, and because
	  OpenSSL sorts its cipher suites by bit strength, (see "openssl
	  ciphers -v DEFAULT") consider re-ordering your cipher suites in
	  the conf file. For example:
	  tlscipher=AES128+kEECDH:AES128+kEDH:3DES+kEDH:AES128-SHA:DES-CBC3-SHA:-ADH:-AECDH
	  will use PFS when offered by the client. Clients which do not
	  offer PFS fall-back to AES-128 (or even 3DES as recommend by RFC
	  3261). Review: https://reviewboard.asterisk.org/r/3647/
	  ASTERISK-23905 #close Reported by: Alexander Traud patches:
	  tlsPFS_for_HEAD.patch uploaded by Alexander Traud (License 6520)
	  tlsPFS.patch uploaded by Alexander Traud (License 6520)

	* /, main/utils.c: main/untils: Prevent potential infinite loop in
	  ast_careful_fwrite A loop in ast_careful_fwrite exists that will
	  continually attempt to write to a file stream, even in the
	  presence of EAGAIN/EINTR errors. However, if a connection that
	  uses ast_careful_fwrite closes suddenly, ast_careful_fwrite's
	  call to fflush may return EAGAIN/EINTER along with EOF. A
	  subsequent call to fflush will return EOF but not clear errno,
	  resulting in an infinite loop. This patch clears errno after it
	  is detected and handled the loop, such that any subsequent call
	  to fflush will not get erroneously stuck. Review:
	  https://reviewboard.asterisk.org/r/3704 #ASTERISK-23984 #close
	  Reported by: Steve Davies patches: fflush_loop_fix uploaded by
	  one47 (License 5012) ........ Merged revisions 417797 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 417798 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417799 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-02 21:13 +0000 [r417770]  Jonathan Rose <jrose@digium.com>

	* res/ari/resource_events.h, res/ari/resource_asterisk.h,
	  res/ari/resource_applications.h, res/ari/resource_playbacks.h,
	  res/ari/resource_channels.h, res/ari/resource_sounds.h, /,
	  res/ari/resource_bridges.h, res/ari/resource_recordings.h,
	  rest-api-templates/ari_resource.h.mustache,
	  res/ari/resource_device_states.h, res/ari/resource_endpoints.h,
	  res/ari/resource_mailboxes.h: ARI: Remove unnecessary \briefs
	  from automatically generated documentation Review:
	  https://reviewboard.asterisk.org/r/3440/ ........ Merged
	  revisions 412653 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-07-01 14:42 +0000 [r417679-417706]  Joshua Colp <jcolp@digium.com>

	* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Don't leak memory or
	  reset state if DTLS configuration is set multiple times. ........
	  Merged revisions 417705 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_rtp_asterisk.c,
	  contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py
	  (added), include/asterisk/res_pjsip_session.h, main/rtp_engine.c,
	  /, channels/chan_sip.c, main/sdp_srtp.c, res/res_pjsip_sdp_rtp.c,
	  res/res_pjsip/pjsip_configuration.c, configs/sip.conf.sample,
	  include/asterisk/rtp_engine.h, res/res_pjsip.c,
	  channels/sip/include/sip.h, include/asterisk/res_pjsip.h,
	  include/asterisk/sdp_srtp.h: Recorded merge of revisions 417677
	  from http://svn.asterisk.org/svn/asterisk/branches/11 ........
	  res_rtp_asterisk: Add SHA-256 support for DTLS and perform DTLS
	  negotiation on RTCP. This change fixes up DTLS support in
	  res_rtp_asterisk so it can accept and provide a SHA-256
	  fingerprint, so it occurs on RTCP, and so it occurs after ICE
	  negotiation completes. Configuration options to chan_sip and
	  chan_pjsip have also been added to allow behavior to be tweaked
	  (such as forcing the AVP type media transports in SDP).
	  ASTERISK-22961 #close Reported by: Jay Jideliov Review:
	  https://reviewboard.asterisk.org/r/3679/ Review:
	  https://reviewboard.asterisk.org/r/3686/ ........ Merged
	  revisions 417678 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-30 18:39 +0000 [r417663]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pubsub.c: Reverse logic during subscription
	  persistence recreation. In the abstraction effort, this bit of
	  logic got messed up. We want to recreate the persistence if
	  things go well, not if things fail.

2014-06-30 13:02 +0000 [r417590-417649]  Matthew Jordan <mjordan@digium.com>

	* apps/app_voicemail.c: apps/app_voicemail: Fix compilation error
	  introduced in r417591 Not sure why that change to
	  ast_channel_alloc was made but ... okay.

	* apps/app_voicemail.c, main/say.c, CHANGES: app_voicemail, say:
	  Add support for Japanese Language This patch adds support for the
	  Japanese language to both the say family of applications, as well
	  as for VoiceMail and VoiceMailMain. A new pack of language sounds
	  will be released at the same time as the next major version of
	  Asterisk to support the new language features. The language
	  features can be enabled using a language code of 'ja'. Review:
	  https://reviewboard.asterisk.org/r/3477 ASTERISK-23324 #close
	  Reported by: Kevin McCoy patches:
	  app_voicemail.c.20140226.jb.patch uploaded by Kevin McCoy
	  (License 6586) say.c.20140226.jb.patch uploaded by Kevin McCoy
	  (License 6586)

	* /, channels/chan_sip.c: chan_sip: be more tolerant of whitespace
	  between attributes in SDP fmtp line This patch is essentially a
	  backport of a small portion of r397526 from ASTERISK-21981. In
	  that patch, pass through support and format attribute negotiation
	  was added for Opus. Part of that included being more tolerant to
	  whitespace in the fmtp line of an SDP; that part of the patch is
	  being applied here. As the author of the backport pointed out, in
	  SDP, the fmtp line is allowed to include whitespace between
	  attributes. RFC 3267 chapter 8.3 (from 2001) includes an example
	  for this. This was not removed in the updated RFC 4867 in 2007.
	  Review: https://reviewboard.asterisk.org/r/3658 #ASTERISK-23916
	  #close Reported by: Alexander Traud patches:
	  sdpFMTPspace_Asterisk11.patch uploaded by Alexander Traud
	  (License 6520) ........ Merged revisions 417587 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 417588 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417589 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-27 23:21 +0000 [r417571]  Richard Mudgett <rmudgett@digium.com>

	* /, main/event.c: event.c: Fix type mismatch errors in ie_maps[].
	  In v12+ the type values from the table are only used by the CEL
	  unit tests. Since the unit tests were only comparing a generated
	  expected event with a real event to see if the ie contents
	  matched and using the same table IE_PLTYPE values to read the
	  event contents, the type mismatches were not detected. ........
	  Merged revisions 417565 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-27 19:27 +0000 [r417485-417511]  Corey Farrell <git@cfware.com>

	* /, main/astobj2.c: Ensure REF_DEBUG records entrys for attempts
	  to ao2_ref an invalid object This change ensures that
	  __ao2_ref_debug writes to ref_log when given a non-NULL pointer
	  to an invalid ao2 object. This is to ensure that we record any
	  attempt manipulate references of already freed objects.
	  ASTERISK-23948 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3677/ ........ Merged
	  revisions 417500 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 417505 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417509 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, contrib/scripts/refcounter.py: refcounter.py: prevent use of
	  excessive RAM with large refs logs When processing a 212MB refs
	  file, refcounter.py used over 3GB of RAM. This change greatly
	  reduces memory usage in two ways: * Saving object history in
	  whole lines instead of separated values. * Not saving
	  normal/skewed/leaked object lists unless they are requested.
	  ASTERISK-23921 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3668/ ........ Merged
	  revisions 417480 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 417481 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417483 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-27 13:50 +0000 [r417461]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip/pjsip_configuration.c, res/res_pjsip_pubsub.c,
	  res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h, /,
	  res/res_pjsip_outbound_registration.c: res_pjsip: Add ActionID to
	  events created as a result of PJSIP AMI actions A number of
	  various PJSIP AMI actions were failing to parse out and place the
	  ActionID into their responses. This patch updates the various
	  PJSIP actions such that the passed in ActionID is emitted on any
	  event list complete events, as well as any intermediate events
	  created as a result of the action. #ASTERISK-23947 #close
	  Reported by: Mark Michelson Review:
	  https://reviewboard.asterisk.org/r/3675/ ........ Merged
	  revisions 417460 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-27 02:04 +0000 [r417423-417447]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c: CEL: Update unit tests for bridge tech field
	  Update the CEL unit tests that handle BRIDGE_ENTER and
	  BRIDGE_EXIT events to expect the "bridge_technology" extra field
	  key.

	* CHANGES: CHANGES: Add missing changes Add missing CHANGES changes
	  from r417361 and r417383.

2014-06-26 18:27 +0000 [r417400-417421]  Matthew Jordan <mjordan@digium.com>

	* res/res_http_websocket.exports.in, /: res_http_websocket: Export
	  symbol for ast_websocket_set_timeout Thanks to Sean Bright for
	  pointing out that this was missed in #asterisk-dev. ........
	  Merged revisions 417419 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417420 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_pjsip.c, /: chan_pjsip: Add a test event for fast
	  picture updates This will drive the test on review r3419. Note
	  that the patch for this was done by Ben Ford, although it was
	  slightly modified for this commit. ASTERISK-23562 Reported by:
	  Matt Jordan ........ Merged revisions 417399 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-26 14:48 +0000 [r417361-417383]  Kinsey Moore <kmoore@digium.com>

	* main/cel.c: CEL: Add bridge tech to relevant CEL records Add the
	  "bridge_technology" extra field key to BRIDGE_ENTER and
	  BRIDGE_EXIT CEL events to convey the bridge technology in use at
	  the time the record was generated.

	* main/bridge.c, include/asterisk/channel.h,
	  include/asterisk/bridge_features.h,
	  tests/test_channel_feature_hooks.c (added),
	  main/bridge_channel.c, main/channel.c: Bridging: Allow channels
	  to define bridging hooks This patch allows the current owner of a
	  channel to define various feature hooks to be made available once
	  the channel has entered a bridge. This includes any hooks that
	  are setup on the ast_bridge_features struct such as DTMF hooks,
	  bridge event hooks (join, leave, etc.), and interval hooks.
	  Review: https://reviewboard.asterisk.org/r/3649/

2014-06-26 12:43 +0000 [r417317-417360]  Matthew Jordan <mjordan@digium.com>

	* CHANGES, apps/app_jack.c: app_jack: Support audio with a sampling
	  rate higher than 8kHz This patch enables the jack-audiohook to
	  cope with dynamic sampling rates from and to Asterisk.
	  Information from the channel is taken to derive the channel's
	  sampling rate, suiting SLINxx format and frame->datalen. There
	  are stil a few limitations after this patch: * Required
	  information is taken from the channel during initialization as
	  the audiohook does not provide this information.
	  Audiohook.internal_sampl_rate(...) is set later, but no callback
	  is available to inform app_jack. * Frame.datalen is computed
	  using "rate / 50" assuming a ptime of 20ms. There is no internal
	  API available to determine datalen for a SLINxx. * Ringbuffer
	  size is now dynamic depending on the value of frame.datalen (see
	  above) and the number of frames, which are in
	  RINGBUFFER_FRAME_CAPACITY, that need to fit. Review:
	  https://reviewboard.asterisk.org/r/3618 Note that the patch being
	  committed here is based on the patch posted on ASTERISK-23836.
	  However, Matthis Schmieder also provided a patch to enable this
	  functionality, and that patch is noted below. ASTERISK-20696
	  #close Reported by: Matthis Schmieder patches: app_jack.patch
	  uploaded by Matthis Schmieder (License 6445) ASTERISK-23836
	  #close Reported by: Dennis Guse patches: patch-app_jack.c
	  uploaded by Dennis Guse (License 6513)

	* main/udptl.c, /: udptl: Correct FEC to not consider negative
	  sequence numbers as missing When using FEC, with span=3 and
	  entries=4 Asterisk will attempt to repair the packet with
	  sequence number 5, as it will see that packet -4 is missing. The
	  result is Asterisk sending garbage packets that can kill a fax.
	  This patch adds a check to see if the sequence number is valid
	  before checking if the packet is missing. Review:
	  https://reviewboard.asterisk.org/r/3657/ #ASTERISK-23908 #close
	  Reported by: Torrey Searle patches: udptl_fec.patch uploaded by
	  Torrey Searle (License 5334) ........ Merged revisions 417318
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 417320 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417324 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/ari/internal.h, configs/ari.conf.sample,
	  res/res_http_websocket.c, res/res_pjsip.c,
	  configs/pjsip.conf.sample, include/asterisk/http_websocket.h,
	  configs/sip.conf.sample, res/res_pjsip/config_transport.c,
	  res/ari/ari_websockets.c, res/res_pjsip_transport_websocket.c,
	  res/ari/config.c, channels/sip/include/sip.h,
	  include/asterisk/res_pjsip.h, res/res_ari.c, /,
	  channels/chan_sip.c, UPGRADE.txt: res_http_websocket: Close
	  websocket correctly and use careful fwrite When a client takes a
	  long time to process information received from Asterisk, a write
	  operation using fwrite may fail to write all information. This
	  causes the underlying file stream to be in an unknown state, such
	  that the socket must be disconnected. Unfortunately, there are
	  two problems with this in Asterisk's existing websocket code: 1.
	  Periodically, during the read loop, Asterisk must write to the
	  connected websocket to respond to pings. As such, Asterisk
	  maintains a reference to the session during the loop. When
	  ast_http_websocket_write fails, it may cause the session to
	  decrement its ref count, but this in and of itself does not break
	  the read loop. The read loop's write, on the other hand, does not
	  break the loop if it fails. This causes the socket to get in a
	  'stuck' state, preventing the client from reconnecting to the
	  server. 2. More importantly, however, is that the fwrite in
	  ast_http_websocket_write fails with a large volume of data when
	  the client takes awhile to process the information. When it does
	  fail, it fails writing only a portion of the bytes. With some
	  debugging, it was shown that this was failing in a similar
	  fashion to ASTERISK-12767. Switching this over to
	  ast_careful_fwrite with a long enough timeout solved the problem.
	  Note that this version of the patch, unlike r417310 in Asterisk
	  11, exposes configuration options beyond just chan_sip's
	  sip.conf. Configuration options to configure the write timeout
	  have also been added to pjsip.conf and ari.conf. #ASTERISK-23917
	  #close Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3624/ ........ Merged
	  revisions 417310 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417311 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-26 10:06 +0000 [r417251]  Corey Farrell <git@cfware.com>

	* /, channels/chan_sip.c: chan_sip: Fix handling of "From" headers
	  longer than 256 characters From headers were processed using a
	  256 character buffer on the stack. This change replaces that with
	  a heap allocation by ast_strdup. ASTERISK-23790 #close Reported
	  by: uniken1 Tested by: uniken1 Review:
	  https://reviewboard.asterisk.org/r/3669/ Patches:
	  chan_sip-large-from-header-1.8-r3.patch uploaded by wdoekes
	  (license 5674) ........ Merged revisions 417248 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 417249 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 417250 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-25 20:57 +0000 [r417233]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pubsub.c, res/res_pjsip_exten_state.c,
	  include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_pidf_body_generator.c,
	  res/res_pjsip_pubsub.exports.in, res/res_pjsip_mwi.c,
	  res/res_pjsip_xpidf_body_generator.c: Abstract PJSIP-specific
	  elements from the pubsub API. This helps to pave the way for RLS
	  work that is to come. Since this is a self-contained change and
	  subscription tests still pass, this work is being committed
	  directly to trunk instead of a working branch. ASTERISK-23865
	  #close Review: https://reviewboard.asterisk.org/r/3628

2014-06-25 18:57 +0000 [r417213]  Corey Farrell <git@cfware.com>

	* main/astobj2_container.c, /: ao2_container node object ignores
	  REF_DEBUG in all places except one Almost every reference
	  operation against container node's uses __ao2_alloc or __ao2_ref,
	  thereby preventing ref logging for the nodes. One node reference
	  is released with ao2_t_ref, causing refcounter.py to falsely
	  report skews and leaks for many nodes. ASTERISK-23922 #close
	  Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3670/ ........ Merged
	  revisions 417212 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-25 00:45 +0000 [r417193]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Skinny: cleanup some log messages around
	  sessions.

2014-06-24 02:50 +0000 [r417167]  Corey Farrell <git@cfware.com>

	* include/asterisk/netsock.h, main/utils.c, main/netsock.c,
	  include/asterisk/res_pjsip_session.h: Move eid functions to
	  utils.c, mark netsock.h deprecated Move eid functions from
	  netsock.c to utils.c. These functions were already published by
	  utils.h. Flag netsock.h as deprecated and switch
	  res_pjsip_session.h to use netsock2.h. The only code that still
	  uses netsock.h is chan_iax2. ASTERISK-23920 #close Reported by:
	  Corey Farrell Review: https://reviewboard.asterisk.org/r/3661/

2014-06-23 18:50 +0000 [r417143]  Joshua Colp <jcolp@digium.com>

	* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Return the length of
	  data written when sending via ICE instead of 0. ASTERISK-23834
	  #close Reported by: Richard Kenner ........ Merged revisions
	  417141 from http://svn.asterisk.org/svn/asterisk/branches/11
	  ........ Merged revisions 417142 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-23 16:04 +0000 [r417120]  Richard Mudgett <rmudgett@digium.com>

	* /, main/core_unreal.c: core_unreal: Fix off by one buffer
	  overwrite error. Appending the ;2 to the user supplied ;1
	  uniqueid to create the ;2 version if the user did not also supply
	  an extra uniqueid for the ;2 channel resulted in allocating a
	  buffer that was one byte too small. * Fix off by one error in
	  ast_unreal_new_channels() when generating the ;2 uniqueid from
	  the user suppled ;1 version. * Pulled some long assignment lines
	  from if tests to improve line break readability in
	  ast_unreal_new_channels(). ........ Merged revisions 417119 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-23 07:44 +0000 [r417059]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c:
	  suspended destructions of pri spans on events If a DAHDI span
	  disappears, we wish for its representation in Asterisk to be
	  destroyed as well. The information about the span's removal may
	  come from several paths: 1. DAHDI sends DAHDI_EVENT_REMOVE on
	  every channel. 2. An extra DAHDI_EVENT_REMOVED is sent on every
	  subsequent call to DAHDI_GET_EVENT. 3. Every read (including the
	  internal one by libpri on the D-channel) returns -ENODEV.
	  Asterisk responsds to DAHDI_EVENT_REMOVE on a channel by
	  destroying it. Destroying a channel requires holding the channel
	  list lock (iflock). Destroying a channel that is part of a span
	  requires holding the span's lock. Destroying a channel from a
	  context that holds the span lock, while at the same time another
	  channel is destroyed directly, leads to a deadlock. Solution:
	  don't destroy span while holding the channels list lock. Thus
	  changes in this patch: * Deferring removal of PRI spans in
	  response to events: doomed spans are collected on a list. *
	  Doomed spans are removed periodically by the monitor thread. *
	  ENODEV reads from the D-channel will warant the same deferred
	  removal. Review: https://reviewboard.asterisk.org/r/3548/

2014-06-22 18:53 +0000 [r416996]  George Joseph <george.joseph@fairview5.com>

	* include/asterisk/astobj2.h, Makefile.rules, Makefile, /: astobj2:
	  Add an ao2_replace macro to astobj2.h This macro replaces one
	  object reference with another cleaning up the original. param dst
	  Pointer to the object that will be cleaned up. param src Pointer
	  to the object replacing it. src's ref count is bumped if it's
	  non-NULL. dst's ref count is decremented if it's non-NULL. src is
	  assigned to dst, This patch was reviewed on IRC by coreyfarrell
	  and mjordan. Tested by: George Joseph ........ Merged revisions
	  416995 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-20 23:18 +0000 [r416872-416935]  George Joseph <george.joseph@fairview5.com>

	* /, configure, include/asterisk/autoconfig.h.in: build: Allow
	  autoconf/ast_ext_tool_check to handle cross-compiling better.
	  ast_ext_tool_check.m4 isn't handling cases where a path to a
	  package is provided (E.G. --with-mysqlclient=/some/sysroot) and
	  the package has a config tool (E.G. mysql_config) and the package
	  has its own subdirectories in include or lib. For example,
	  mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
	  ast_ext_tool_check sets MYSQLCLIENT_LIB to
	  ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
	  includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
	  directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
	  fail and there are others in the same boat. The problem is caused
	  by logic in ast_ext_tool_check that overrides the result of the
	  config tool's --cflags and --libs options if package_DIR is set.
	  This patch prepends package_DIR (if specified) to the -L and -I
	  results from the package's config tool instead of overriding
	  them. A regenerated ./configure and
	  include/asterisk/autoconfig.h.in are included but can be
	  regenerated by running ./bootstrap.sh at any time. Tested by:
	  George Joseph Tested by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3550/ ........ Merged
	  revisions 416929 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 416930 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416931 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* autoconf/ast_ext_tool_check.m4, /: build: Allow
	  autoconf/ast_ext_tool_check to handle cross-compiling better.
	  ast_ext_tool_check.m4 isn't handling cases where a path to a
	  package is provided (E.G. --with-mysqlclient=/some/sysroot) and
	  the package has a config tool (E.G. mysql_config) and the package
	  has its own subdirectories in include or lib. For example,
	  mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
	  ast_ext_tool_check sets MYSQLCLIENT_LIB to
	  ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
	  includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
	  directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
	  fail and there are others in the same boat. The problem is caused
	  by logic in ast_ext_tool_check that overrides the result of the
	  config tool's --cflags and --libs options if package_DIR is set.
	  This patch prepends package_DIR (if specified) to the -L and -I
	  results from the package's config tool instead of overriding
	  them. Tested by: George Joseph Tested by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3550/ ........ Merged
	  revisions 416870 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416871 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-20 20:57 +0000 [r416848-416850]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_manager.c, /: res_parking: Make manager
	  commands register with module information Previously module
	  information was not included due to an oversight. Review:
	  https://reviewboard.asterisk.org/r/3626/ ........ Merged
	  revisions 416849 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/logger.c, CHANGES, include/asterisk/logger.h,
	  main/manager.c: Logger: Add manager command 'LoggerRotate' to
	  rotate logger Part of a series of AMI command equivalents to
	  existing CLI commands Review:
	  https://reviewboard.asterisk.org/r/3651/

2014-06-20 17:06 +0000 [r416830]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_voicemail.c, include/asterisk/app.h, main/app.c,
	  apps/app_directory.c, apps/app_chanspy.c: voicemail API
	  callbacks: Extract the sayname API call to its own registerd
	  callback. * Extract the sayname API call to its own registerd
	  callback. This allows the app_directory and app_chanspy
	  applications to say a mailbox owner's name using an alternate
	  provider when app_voicemail is not available because you are
	  using res_mwi_external. app_directory still uses the
	  voicemail.conf file. AFS-64 #close Reported by: Mark Michelson

2014-06-20 15:27 +0000 [r416738-416807]  George Joseph <george.joseph@fairview5.com>

	* main/astobj2_private.h, main/astobj2_container_private.h,
	  main/astobj2_container.c, main/astobj2_hash.c,
	  main/astobj2_rbtree.c, build_tools/cflags.xml, /,
	  tests/test_astobj2.c: astobj2: Additional refactoring to push
	  impl specific code down into the impls. Move some implementation
	  specific code from astobj2_container.c into astobj2_hash.c and
	  astobj2_rbtree.c. This completely removes the need for
	  astobj2_container to switch on RTTI and it no longer has any
	  knowledge of the implementation details. Also adds AO2_DEBUG as a
	  new compile option in menuselect which controls astobj2 debugging
	  independently of AST_DEVMODE and REF_DEBUG. Tested by: George
	  Joseph Review: https://reviewboard.asterisk.org/r/3593/ ........
	  Merged revisions 416806 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_endpoint_identifier_ip.c, main/acl.c,
	  include/asterisk/netsock2.h, include/asterisk/acl.h,
	  main/netsock2.c: pjsip cli: Change Identify to show CIDR notation
	  instead of netmasks. * Added ast_sockaddr_cidr_bits() to count
	  the 1 bits in an ast_sockaddr. * Added ast_ha_join_cidr() which
	  uses ast_sockaddr_cidr_bits() for the netmask instead of
	  ast_sockaddr_stringify_addr. * Changed
	  res_pjsip_endpoint_identifier_ip to call ast_ha_join_cidr()
	  instead of ast_ha_join() for the CLI output. This is a CLI change
	  only. AMI was not affected. Tested by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3652/ ........ Merged
	  revisions 416737 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-19 19:40 +0000 [r416736]  Kinsey Moore <kmoore@digium.com>

	* /, main/bridge.c, res/parking/parking_tests.c,
	  channels/sip/reqresp_parser.c, main/logger.c, main/test.c: Fix
	  build warnings with TEST_FRAMEWORK enabled ........ Merged
	  revisions 416732 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 416733 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416734 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-19 16:04 +0000 [r416589-416670]  George Joseph <george.joseph@fairview5.com>

	* pbx/pbx_lua.c, /: Remove the problematic and unneeded
	  AST_MODFLAG_GLOBAL_SYMBOLS from pbx_lua.c
	  AST_MODFLAG_GLOBAL_SYMBOLS was causing the module to be
	  incorrectly loaded before pbx_config. pbx_config was therefore
	  blowing away contexts that were created by pbx_lua. With
	  AST_MODFLAG_DEFAULT the load order is now correct and contexs are
	  being properly merged. AST_MODFLAG_GLOBAL_SYMBOLS was not needed
	  anyway since no other modules needed its global symbols that
	  early. ASTERISK-23818 #close Reported by: Dennis Guse Tested by:
	  Dennis Guse Tested by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3629/ ........ Merged
	  revisions 416668 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416669 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* configs/extensions.lua.sample, /: Update extensions.lua.sample
	  with naming conflict guidance. The sample extensions.lua was
	  causing pbx_lua to fail to load when parsing 'app.goto("default",
	  "s", 1)' because in Lua 5.2, 'goto' is now a reserved word. This
	  patch adds guidance to extensions.lua.sample and changed
	  'app.goto("default", "s", 1)' to 'app.['goto']("default", "s",
	  1)'. ASTERISK-23844 #close Reported by: rnewton Tested by:
	  gtjoseph Review: https://reviewboard.asterisk.org/r/3627/
	  ........ Merged revisions 416581 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416582 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-18 04:22 +0000 [r416561]  Matthew Jordan <mjordan@digium.com>

	* /, main/stasis_channels.c: stasis_channels: Update the stasis
	  cache if manager variables are needed In r416211, the publishing
	  of variable changes was modified such that a cached channel
	  snapshot was used if manager variables were not requested with
	  each AMI event. This was done to reduce the amount of channel
	  snapshots created. However, an assumption was made that
	  generating a channel snapshot and publishing the snapshot to the
	  channel topic was sufficient to ensure that the cache would be
	  updated; this is not the case. The channel snapshot type must be
	  used to force a snapshot update. This patch updates the
	  publication of channel variables such that the cache is updated
	  prior to publication of the channel variable message if manager
	  variables are in use. This ensures that all AMI events receive
	  the variable update when they are supposed to. Note that this
	  issue was caught by the Asterisk Test Suite (go go testing)
	  ........ Merged revisions 416557 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-17 18:45 +0000 [r416444-416503]  Mark Michelson <mmichelson@digium.com>

	* /, funcs/func_strings.c: Allow the PUSH and UNSHIFT functions to
	  set inheritable channel variables. ........ Merged revisions
	  416500 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 416501 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416502 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_pidf_body_generator.c, /,
	  res/res_pjsip_xpidf_body_generator.c: Fix string growth algorithm
	  for XML presence bodies. pjpidf_print() does not return < 0 if
	  there is not enough room for the document to be printed. Rather,
	  it returns 39, the length of the XML prolog. The algorithm also
	  had a bug in that it would return if it attempted to grow the
	  string larger. ........ Merged revisions 416442 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-17 16:33 +0000 [r416443]  Kinsey Moore <kmoore@digium.com>

	* res/res_musiconhold.c, /: MoH: Don't restart stream on repeated
	  start calls Currently, music on hold will stop and then start
	  again from the beginning if ast_moh_start() is called multiple
	  times. This can happen if a call is put on hold repeatedly (the
	  channel receives multiple HOLD control frames) and can be
	  triggered from ARI by starting MoH on a channel multiple times.
	  This is fairly jarring/annoying to users. This change prevents
	  MoH from being restarted if the requested music class is the same
	  as the one currently playing. This includes an extra check to
	  prevent the errors previously experienced in the testsuite and
	  has 100+ test runs behind it. Review:
	  https://reviewboard.asterisk.org/r/3615/ ........ Merged
	  revisions 416439 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 416440 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416441 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-16 18:27 +0000 [r416416]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
	  channels/sig_ss7.h, configure, channels/chan_dahdi.h,
	  configure.ac, UPGRADE.txt, configs/ss7.timers.sample (added),
	  CHANGES, channels/sig_ss7.c: chan_dahdi: Adds support for major
	  update to libss7. * SS7 support now requires libss7 v2.0 or
	  later. The new libss7 is not backwards compatible. * Added SS7
	  support for connected line and redirecting. * Most SS7 CLI
	  commands are reworked as well as new SS7 commands added. See
	  online CLI help. * Added several SS7 config option parameters
	  described in chan_dahdi.conf.sample. * ISUP timer support
	  reworked and now requires explicit configuration. See
	  ss7.timers.sample. Special thanks to Kaloyan Kovachev for his
	  support and persistence in getting the original patch by adomjan
	  updated and ready for release. SS7-27 #close Reported by: adomjan

2014-06-16 16:22 +0000 [r416394]  Kevin Harwell <kharwell@digium.com>

	* include/asterisk/http_websocket.h, tests/test_websocket_client.c,
	  res/res_http_websocket.c: res_http_websocket: read/write string
	  fixup There was a problem when reading a string from the
	  websocket. It assumed the received data had a null terminator and
	  tried to write the data to an ast_str. This of course could/would
	  read past the end of the given buffer while writing the data to
	  the internal buffer of ast_str. Modified the the code to
	  correctly place a null terminator on the result string.

2014-06-16 09:04 +0000 [r416339]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* cel/cel_sqlite3_custom.c, main/db.c, res/res_config_sqlite3.c,
	  cdr/cdr_sqlite3_custom.c, /: We have faced situation when using
	  CDR and CEL by sqlite3 modules. With system having high load
	  (~100 concurrent calls created by sipp) we found many cdr and cel
	  records missed. There is special finction in sqlite3, that make
	  able to fix this situation - sqlite3_wait_timeout, that also can
	  replace awful code cdr_sqlite3 ad cel_sqlite3 modules. Also this
	  function can be used for aastdb and res_config_sqlite3 to avoid
	  missed writes to sqlite db. #ASTERISK-23766 #close Reported by:
	  Igor Goncharovsky Review:
	  https://reviewboard.asterisk.org/r/3559/ ........ Merged
	  revisions 416336 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 416337 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416338 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-16 02:40 +0000 [r416267-416319]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: channels/chan_sip: Forbid remote bridging
	  if T.38 is negotiated When a framehook is removed - such as the
	  fax gateway framehook - the bridge framework will re-evaluate the
	  bridge mixing technologies to see if it can improve the bridging.
	  When this occurs, get_rtp_info will be called to determine if
	  local or remote bridging can be used. Using remote bridging will
	  cause a fax to fail, as direct media negotiation will cause some
	  small number of packets to not arrive at the remote endpoint.
	  This patch forces local native bridging if T.38 negotiation is in
	  progress or has been established. ........ Merged revisions
	  416318 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/channel_internal_api.c: channel_internal_api: Publish a
	  snapshot change when linkedids change Snapshots are now not
	  published *quite* as much as they used to. One instance where
	  they are not published any longer is during bridge enter and exit
	  - the state of the channel doesn't change, the bridge does.
	  However, channels are changed when a linkedid is propagated;
	  previously, the channel's state would be updated and published
	  during the bridge enter event. Now this must be explicitly done.
	  ........ Merged revisions 416300 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, tests/test_stasis_endpoints.c: test_stasis_endpoints: Remove
	  expected channel snapshot We no longer publish a channel snapshot
	  when it is associated with an endpoint; after all, the channel
	  itself hasn't changed - the endpoint state has changed. This
	  updates the channel_messages unit test accordingly. ........
	  Merged revisions 416298 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_musiconhold.c: MoH: Undo commit r416150 (1.8) This
	  patch reverts r416150. When the comparison between mohclass->name
	  and state->class->name is made, you are not guaranteed that (a)
	  state->class is non-NULL or that state or state->class are in a
	  safe state. Crashes caught by the bridges/transfer_capabilities
	  test. ........ Merged revisions 416251 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 416252 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416255 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-14 19:26 +0000 [r416237]  Corey Farrell <git@cfware.com>

	* res/res_manager_devicestate.c, res/res_manager_presencestate.c:
	  res_manager_devicestate and res_manager_presencestate missing
	  support level Add MODULEINFO comment block to define support
	  level core for these new modules. Review:
	  https://reviewboard.asterisk.org/r/3620/

2014-06-13 18:24 +0000 [r416216]  Matthew Jordan <mjordan@digium.com>

	* res/res_agi.c, res/res_pjsip/pjsip_configuration.c,
	  main/stasis_channels.c, res/ari/resource_channels.c,
	  main/bridge_channel.c, main/pbx.c, main/stasis_cache.c, /,
	  apps/app_meetme.c, main/pickup.c, main/channel_internal_api.c,
	  include/asterisk/channel.h, main/core_local.c, main/aoc.c,
	  main/endpoints.c, main/cel.c, apps/app_queue.c,
	  main/stasis_bridges.c, apps/app_agent_pool.c, main/cli.c,
	  main/channel.c, main/dial.c, main/manager.c,
	  include/asterisk/stasis_channels.h: stasis: Reduce creation of
	  channel snapshots to improve performance During some performance
	  testing of Asterisk with AGI, ARI, and lots of Local channels, we
	  noticed that there's quite a hit in performance during channel
	  creation and releasing to the dialplan (ARI continue). After
	  investigating the performance spike that occurs during channel
	  creation, we discovered that we create a lot of channel snapshots
	  that are technically unnecessary. This includes creating
	  snapshots during: * AGI execution * Returning objects for ARI
	  commands * During some Local channel operations * During some
	  dialling operations * During variable setting * During some
	  bridging operations And more. This patch does the following: - It
	  removes a number of fields from channel snapshots. These fields
	  were rarely used, were expensive to have on the snapshot, and
	  hurt performance. This included formats, translation paths, Log
	  Call ID, callgroup, pickup group, and all channel variables. As a
	  result, AMI Status, "core show channel", "core show channelvar",
	  and "pjsip show channel" were modified to either hit the live
	  channel or not show certain pieces of data. While this is
	  unfortunate, the performance gain from this patch is worth the
	  loss in behaviour. - It adds a mechanism to publish a cached
	  snapshot + blob. A large number of publications were changed to
	  use this, including: - During Dial begin - During Variable
	  assignment (if no AMI variables are emitted - if AMI variables
	  are set, we have to make snapshots when a variable is changed) -
	  During channel pickup - When a channel is put on hold/unhold -
	  When a DTMF digit is begun/ended - When creating a bridge
	  snapshot - When an AOC event is raised - During Local channel
	  optimization/Local bridging - When endpoint snapshots are
	  generated - All AGI events - All ARI responses that return a
	  channel - Events in the AgentPool, MeetMe, and some in Queue -
	  Additionally, some extraneous channel snapshots were being made
	  that were unnecessary. These were removed. - The result of
	  ast_hashtab_hash_string is now cached in stasis_cache. This
	  reduces a large number of calls to ast_hashtab_hash_string, which
	  reduced the amount of time spent in this function in gprof by
	  around 50%. #ASTERISK-23811 #close Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/3568/ ........ Merged
	  revisions 416211 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-13 13:11 +0000 [r416149-416153]  Kinsey Moore <kmoore@digium.com>

	* res/res_musiconhold.c, /: MoH: Don't restart stream on repeated
	  start calls Currently, music on hold will stop and then start
	  again from the beginning if ast_moh_start() is called multiple
	  times. This can happen if a call is put on hold repeatedly (the
	  channel receives multiple HOLD control frames) and can be
	  triggered from ARI by starting MoH on a channel multiple times.
	  This is fairly jarring/annoying to users. This change prevents
	  MoH from being restarted if the requested music class is the same
	  as the one currently playing. Review:
	  https://reviewboard.asterisk.org/r/3615/ ........ Merged
	  revisions 416150 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 416151 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416152 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/cel.c, /: CEL: Expose parking retreiver in extra field This
	  exposes the retreiver of a parked call under the "retreiver" key
	  of the extra field when this information is available. Review:
	  https://reviewboard.asterisk.org/r/3608/ ........ Merged
	  revisions 416148 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-13 05:16 +0000 [r416071]  Richard Mudgett <rmudgett@digium.com>

	* main/http.c, include/asterisk/tcptls.h, main/tcptls.c,
	  main/manager.c, /, channels/chan_sip.c: AST-2014-007: Fix of fix
	  to allow AMI and SIP TCP to send messages. ASTERISK-23673 #close
	  Reported by: Richard Mudgett Review:
	  https://reviewboard.asterisk.org/r/3617/ ........ Merged
	  revisions 416066 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 416067 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 416070 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 21:27 +0000 [r416024]  Rusty Newton <rnewton@digium.com>

	* main/pbx.c: main/pbx - documentation - enhance 'core show hints'
	  and 'core show hint' help text Adds descriptive help text to
	  'core show hints' and 'core show hint'. The text describes the
	  various columns for the sake of clarity. It takes into account
	  recent changes to the content displayed by the commands
	  https://reviewboard.asterisk.org/r/3604/ and
	  https://reviewboard.asterisk.org/r/3611/. ASTERISK-23764 Review:
	  https://reviewboard.asterisk.org/r/3610/

2014-06-12 20:17 +0000 [r415982]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip_pubsub.c, /: Fix build in devmode for GCC 4.10
	  ........ Merged revisions 415980 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 17:00 +0000 [r415907]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/utils.h, main/tcptls.c, main/manager.c, /,
	  channels/chan_sip.c, main/http.c, UPGRADE.txt, main/utils.c,
	  include/asterisk/tcptls.h, res/res_http_websocket.c,
	  configs/http.conf.sample: AST-2014-007: Fix DOS by consuming the
	  number of allowed HTTP connections. Simply establishing a TCP
	  connection and never sending anything to the configured HTTP port
	  in http.conf will tie up a HTTP connection. Since there is a
	  maximum number of open HTTP sessions allowed at a time you can
	  block legitimate connections. A similar problem exists if a HTTP
	  request is started but never finished. * Added http.conf
	  session_inactivity timer option to close HTTP connections that
	  aren't doing anything. Defaults to 30000 ms. * Removed the
	  undocumented manager.conf block-sockets option. It interferes
	  with TCP/TLS inactivity timeouts. * AMI and SIP TLS connections
	  now have better authentication timeout protection. Though I
	  didn't remove the bizzare TLS timeout polling code from chan_sip.
	  * chan_sip can now handle SSL certificate renegotiations in the
	  middle of a session. It couldn't do that before because the
	  socket was non-blocking and the SSL calls were not restarted as
	  documented by the OpenSSL documentation. * Fixed an off nominal
	  leak of the ssl struct in handle_tcptls_connection() if the FILE
	  stream failed to open and the SSL certificate negotiations
	  failed. The patch creates a custom FILE stream handler to give
	  the created FILE streams inactivity timeout and timeout after a
	  specific moment in time capability. This approach eliminates the
	  need for code using the FILE stream to be redesigned to deal with
	  the timeouts. This patch indirectly fixes most of ASTERISK-18345
	  by fixing the usage of the SSL_read/SSL_write operations.
	  ASTERISK-23673 #close Reported by: Richard Mudgett ........
	  Merged revisions 415841 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415854 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415896 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 15:50 +0000 [r415839]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, apps/app_queue.c: app_queue: delayed state can cause early
	  leavewhenempty ringing In app_queue, device state changes arrive
	  in event messages and update the queue member status value. That
	  value is checked in get_member_status() to decide that the caller
	  should leave when there are no available members. Although event
	  messages can be delayed by other activity, there is no adverse
	  affect by lagged status except in one specific case: there is
	  only one available member, it was just rung, and leavewhenempty
	  is enabled set for ringing members. This change adds a direct
	  check of the device state only under this condition where the
	  caller may be dropped incorrectly, resolving this issue without
	  affecting performance of app_queue normally. AST-1248 #close
	  Review: https://reviewboard.asterisk.org/r/3595/ Reported by:
	  Thomas Arimont ........ Merged revisions 415833 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415835 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415836 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 15:39 +0000 [r415834]  Jonathan Rose <jrose@digium.com>

	* apps/app_mixmonitor.c, /, UPGRADE.txt: MixMontior: Add class
	  authorization requirements to MixMonitor AMI commands MixMonitor
	  AMI commands StartMixMonitor and StopMixMonitor lacked class
	  authorization. StopMixMonitor now requires that the manager user
	  either have the call or system class authorization.
	  StartMixMonitor is a slightly larger issue since it can execute
	  shell commands if the right arguments are passed into it, and we
	  consider this a permission escalation. A security release will be
	  issued for problem this shortly. ASTERISK-23609 #close Reported
	  by: Corey Farrell ........ Merged revisions 415825 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415832 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 14:39 +0000 [r415813]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_pubsub.c, /: res_pjsip_pubsub: unauthenticated
	  remote crash in PJSIP pub/sub framework A remotely exploitable
	  crash vulnerability exists in the PJSIP channel driver's pub/sub
	  framework. If an attempt is made to unsubscribe when not
	  currently subscribed and the endpoint's "sub_min_expiry" is set
	  to zero, Asterisk tries to create an expiration timer with zero
	  seconds, which is not allowed, so an assertion raised. The fix
	  was to reject a subscription that is attempting to unsubscribe
	  when not being already subscribed. Asterisk now checks for this
	  situation appropriately and responds with a 400 instead of
	  crashing. AST-2014-005 ASTERISK-23489 #close ........ Merged
	  revisions 415812 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 14:15 +0000 [r415795]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip.c, /: Fix potential deadlock situation in
	  res_pjsip. SIP transaction timeouts are handled in the PJSIP
	  monitor thread. When this happens on a subscription, and the
	  subscription is destroyed, the subscription destruction is
	  dispatched synchronously to the threadpool. The issue is that the
	  PJSIP dialog is locked by the monitor thread, and then the
	  dispatched task attempts to lock the dialog. This leads to a
	  deadlock that causes SIP traffic to no longer be accepted on the
	  Asterisk server. The fix here is to treat the monitor thread as
	  if it were a threadpool thread when it attempts to dispatch
	  synchronous tasks. This way, the dispatched task turns into a
	  simple function call within the same thread, and the locking
	  issue is averted. AST-2014-008 ASTERISK-23802 #close ........
	  Merged revisions 415794 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 11:34 +0000 [r415767]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip.c, res/res_pjsip_pubsub.c,
	  res/res_pjsip_exten_state.c, include/asterisk/res_pjsip.h,
	  include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_pubsub.exports.in, /,
	  contrib/ast-db-manage/config/versions/c6d929b23a8_create_pjsip_subscription_persistence_.py
	  (added), res/res_pjsip_mwi.c: res_pjsip_pubsub: Persist
	  subscriptions in sorcery so they are recreated on startup. This
	  change makes res_pjsip_pubsub persist inbound subscriptions in
	  sorcery. By default this uses the local astdb but it can also be
	  configured to store within an outside database. When Asterisk is
	  started these subscriptions are recreated if they have not
	  expired. Notifications are sent to the devices which have
	  subscribed and they are none the wiser that the system has
	  restarted. Review: https://reviewboard.asterisk.org/r/3598/
	  ........ Merged revisions 415766 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-12 07:52 +0000 [r415749]  Walter Doekes <walter+asterisk@wjd.nu>

	* UPGRADE.txt, contrib/scripts/safe_asterisk, Makefile, /:
	  safe_asterisk: Overwrite old safe_asterisk on make install. From
	  now on, make install will overwrite safe_asterisk with the latest
	  version. You need to move any local modifications to files inside
	  /etc/asterisk/startup.d, if you have any. See also commits
	  r394939 and r397938. ASTERISK-21965 #close Patches:
	  safe_asterisk.patch uploaded by jkister (License 6232, modified
	  by me) ........ Merged revisions 415748 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-11 23:01 +0000 [r415730]  Richard Mudgett <rmudgett@digium.com>

	* main/format.c, /: format.c: Fix misuse of hash container
	  function. The supplied hash function to a container must be
	  idempotent given the object's key value to figure out which
	  container bucket the object belongs in. Returning a random number
	  or the current container count is not idempotent. The "computed
	  hash" value doesn't help find the object later in those cases. *
	  Fixed the format_list container to actually be a list since that
	  is how the container is used. Conceptually, if more than 283
	  formats were added to the format_list then odd things may have
	  happened before the fix. ........ Merged revisions 415728 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415729 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-11 20:22 +0000 [r415698-415715]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/pbx.c: CLI: correct presence information on core show hints
	  Adds presence to core show hint and changes presence string
	  conversion to use the correct function. ASTERISK-23858 #close
	  Review: https://reviewboard.asterisk.org/r/3611/

	* main/pbx.c: CLI: add presence information to core show hints Adds
	  presence state value to output of core show hints. Also reformats
	  the output slightly so it doesn't use as much space as it would
	  otherwise. Was: 1000@demo : SIP/1000 State:Unavailable Watchers 0
	  Now: 1000@demo : SIP/1000 State:Unavailable Presence:Idle
	  Watchers 0 AFS-53 #close Review:
	  https://reviewboard.asterisk.org/r/3604/

2014-06-10 18:32 +0000 [r415679]  Kinsey Moore <kmoore@digium.com>

	* main/channel.c, /: Fix build in dev mode due to signed/unsigned
	  mismatch ........ Merged revisions 415678 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-10 16:06 +0000 [r415659]  Jonathan Rose <jrose@digium.com>

	* main/message.c, /, res/res_pjsip_notify.c: PJSIP: PJSIPNotify -
	  Strip content-length headers and add documentation Documentation
	  for how to add custom headers/content to notifies created with
	  the PJSIPNotify manager action was a little sparse and it also
	  wasn't vetting application of Content-length headers like its
	  chan_sip equivalent was (so two Content-length headers could be
	  applied... and PJSIP determines the content length anyway, so it
	  just opens people up for error). This patch also flips the
	  variable order so that the variables are interpreted in the same
	  order as they are put in the AMI action. Review:
	  https://reviewboard.asterisk.org/r/3587/ ........ Merged
	  revisions 415658 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-10 09:28 +0000 [r415630]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, /: chan_ooh323: fix loading module failure
	  if there no accessible h323_log or ooh323 config file change
	  return 1 to return AST_MODULE_LOAD_FAILURE on module load routine
	  few cosmetic changes ASTERISK-23814 #close (closes issue
	  ASTERISK-23814) Reported by: Igor Goncharovsky Patches:
	  ASTERISK-23814-ast11.patch ........ Merged revisions 415599 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415602 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-09 20:21 +0000 [r415580]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_header_funcs.c, /: chan_pjsip: Fix bug where custom
	  SIP headers could be duplicated on outgoing INVITEs. When using
	  PJSIP_HEADER() to add custom headers to outgoing INVITE requests,
	  certain situations could result in the headers being duplicated.
	  For instance, if the request were retransmitted, or if the INVITE
	  were re-sent with authentication credentials, the custom headers
	  would be re-added to the request. The fix here is to, after
	  adding the custom headers to the outbound INVITE, remove the
	  datastore that holds the custom headers to add. This way, there
	  is no risk in accidentally adding them if the session supplement
	  is called into a second or third time. ........ Merged revisions
	  415579 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-09 12:12 +0000 [r415524]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, UPGRADE.txt, contrib/scripts/safe_asterisk: safe_asterisk:
	  Cleanup additions to r415132. * Replaced a stray echo that
	  should've been a message call in safe_asterisk. This replaces a
	  conditional log message by a slightly different message. Please
	  update your log parsing scripts. * Made the $NOTIFY mail Subject
	  more verbose by adding the machine name and exitstatus. (Note
	  that a 'make install' still won't overwrite your old
	  safe_asterisk if it exists. See ASTERISK-21965.) ASTERISK-23492
	  #close ........ Merged revisions 415521 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415522 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415523 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-09 03:50 +0000 [r415466]  Corey Farrell <git@cfware.com>

	* /, main/autoservice.c: autoservice: stop thread on graceful
	  shutdown This change adds thread shutdown to autoservice for
	  graceful shutdowns only. ast_register_cleanup is backported to
	  1.8 to allow this. The logger callid is also released on shutdown
	  in 11+. ASTERISK-23827 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3594/ ........ Merged
	  revisions 415463 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415464 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415465 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-08 18:12 +0000 [r415444]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  main/bridge_channel.c, main/channel.c, main/pbx.c, /,
	  main/framehook.c, main/bridge_after.c: bridges/bridge_native_rtp:
	  Reconfigure bridge on removal of framehook This patch is a re-do
	  of r414122. When r414122 was merged, a major problem with it was
	  uncovered. UNBRIDGE soft hangup flags have a catastrophic effect
	  on the pbx core if they leak out from the bridge layer: the
	  channel gets hung up. With the number of threads involved in a
	  blind transfer, and with the initial patch, it was likely that
	  this would occur. This caused a large number of test failures
	  This patch is nearly identical with the one proposed in r414122,
	  save for the following changes: - We explicitly clear the
	  UNBRIDGE flag when setting an after goto on a channel in a bridge
	  - Defensively, if we encounter an UNBRIDGE flag in the pbx core,
	  we handle it https://reviewboard.asterisk.org/r/3585/ ........
	  Merged revisions 415443 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-07 00:42 +0000 [r415428]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridge.h, /: bridge.h: Remove redundant struct
	  ast_bridge_channel forward declaration. ........ Merged revisions
	  415427 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-06 21:44 +0000 [r415411]  Jonathan Rose <jrose@digium.com>

	* include/asterisk/manager.h, main/config.c, main/manager.c, /,
	  channels/chan_sip.c, include/asterisk/config.h: chan_sip: Fix
	  order of variables specified in SIPNotify action Prior to this
	  patch, sequential variables would be ordered in reverse from the
	  order specified in the manager action. Review:
	  https://reviewboard.asterisk.org/r/3588/ ........ Merged
	  revisions 415359 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415390 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415410 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-06 20:45 +0000 [r415358]  Kevin Harwell <kharwell@digium.com>

	* main/uri.c, tests/test_websocket_client.c: core uri: Custom uri
	  parsing error when no query parameters If using the custom URI
	  parsing code (not external uriparser lib) and there was no query
	  parameters the resulting pointer would be NULL and then an
	  attempt was made to subtract from it. The pointer is now set to a
	  valid value if there is no query parameter(s). Also, in the
	  'ast_uri_make_host_with_port' function when setting the
	  terminator on the resulting string it was writing it one past the
	  end of allocated memory. It now writes the string terminator
	  appropriately.

2014-06-06 19:13 +0000 [r415343]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_pjsip_sdp_rtp.c: PJSIP: Remove premature write of raw
	  formats Currently, there are situations that can occur when using
	  chan_pjsip and certain dialplan applications (notably ChanSpy())
	  that can cause the channel to get no audio with scrolling
	  warnings about format mismatches. This is caused by a failure to
	  update translation paths on a mid-call native format update since
	  the raw formats have already been updated by res_pjsip_sdp_rtp.c
	  in set_caps(). Removing the premature raw format updates allows
	  the translation paths to be setup correctly and the raw read and
	  write formats with them. AFS-63 #close ........ Merged revisions
	  415342 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-06 14:12 +0000 [r415319]  George Joseph <george.joseph@fairview5.com>

	* tests/test_astobj2.c, main/astobj2_private.h (added),
	  main/astobj2.c, main/astobj2_container_private.h (added),
	  main/astobj2_container.c (added), main/astobj2_hash.c (added),
	  main/astobj2_rbtree.c (added), /, include/asterisk/astobj2.h:
	  Split astobj2.c into more maintainable components. Split
	  astobj2.c into the following files to improve maintainability.
	  astobj2.c - object primitives, object primitive misc and
	  initialization code. astobj2_private.h - internal object
	  declarations needed by the containers. astobj2_container.c -
	  generic conainer and container misc code.
	  astobj2_container_hash.c - hash container specific code.
	  astobj2_container_rbtree.c - rbtree container specific code.
	  astobj2_container_private.h - generic container definitions and
	  rtti prototypes. https://reviewboard.asterisk.org/r/3576/
	  ........ Merged revisions 415317 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-06 12:49 +0000 [r415302]  Rusty Newton <rnewton@digium.com>

	* /, configs/cli_aliases.conf.sample: configs/cli_aliases.conf: Two
	  new aliases, plus enhancements for context names. Changed naming
	  of included alias templates to avoid confusion between version
	  names. For example, asterisk12 was for asterisk 1.2, so I changed
	  it to asterisk_1dot2, so that later we can use asterisk_12 for
	  Asterisk 12. Added alias for "features reload" to the template
	  for Asterisk 11 style syntax template, as features reload was
	  removed in 12, but you can still do "module reload features"
	  Added alias for "pjsip reload" to the friendly template. It is
	  shorter than "module reload res_pjsip.so" and if some are like
	  me; I constantly forget that reloading chan_pjsip doesn't parse
	  config. Remembering "pjsip reload" is just easier. ASTERISK-23654
	  #close ASTERISK-23654 #comment Fixed by adding two new aliases
	  and enhancements for context names. Review:
	  https://reviewboard.asterisk.org/r/3572/ ........ Merged
	  revisions 415301 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-05 19:04 +0000 [r415231-415288]  Richard Mudgett <rmudgett@digium.com>

	* main/config.c: config: Fix indentation and missing curlies in
	  config_text_file_load().

	* main/config.c, /: config: Fix config files not reloading when
	  only an included file changes. The twisted logic determining if a
	  config file should be reloaded was mostly broken and disabled.
	  The incorrect test that ASTERISK-23383 fixed actually reenabled
	  the broken logic. The incorrect test was causing the timestamp to
	  always be cleared which caused config files with includes to
	  always be reloaded. * Made wildcard includes always cause a
	  reload. Determining if a file was deleted cannot be determined
	  without restructuring the cache to determine if any files are
	  missing from the last files actually loaded. Also without
	  refactoring config_text_file_load(), the glob loop couldn't check
	  more than one file for changes anyway. * Made remove the cache
	  entry if the file no longer exists when trying to get its
	  timestamp or it is no longer a regular file. This fixes the
	  corner case where the file was loaded, then deleted, then the
	  config reloaded, then the file restored with the same timestamp,
	  and then the config reloaded again. * Made remove the cache entry
	  include list when actually loading the file. This gets rid of any
	  stale includes the file had from the last time the file was
	  loaded. ASTERISK-23683 #close Reported by: tootai Review:
	  https://reviewboard.asterisk.org/r/3575/ ........ Merged
	  revisions 415225 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415229 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415230 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-05 17:22 +0000 [r415223]  Kevin Harwell <kharwell@digium.com>

	* tests/test_uri.c (added), include/asterisk/http_websocket.h,
	  main/http.c, main/uri.c (added), tests/test_websocket_client.c
	  (added), res/res_http_websocket.c, include/asterisk/http.h,
	  include/asterisk/uri.h (added),
	  res/res_http_websocket.exports.in: res_http_websocket: Create a
	  websocket client Added a websocket server client in Asterisk.
	  Asterisk has a websocket server, but not a client. The ability to
	  have Asterisk be able to connect to a websocket server can
	  potentially be useful for future work (for instance this could
	  allow ARI to connect back to some external system, although more
	  work would be needed in order to incorporate that). Also a couple
	  of things to note - proxy connection support has not been
	  implemented and there is limited http response code handling
	  (basically, it is connect or not). Also added an initial new URI
	  handling mechanism to core. Internet type URI's are parsed into a
	  data structure that contains pointers to the various parts of the
	  URI. (closes issue ASTERISK-23742) Reported by: Kevin Harwell
	  Review: https://reviewboard.asterisk.org/r/3541/

2014-06-05 14:49 +0000 [r415208]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_confbridge.c: app_confbridge: Allow muting of users
	  waiting to enter a ConfBridge Prior to this patch, users waiting
	  to enter a ConfBridge were not considered when muted via the CLI
	  or via AMI. Instead, a confusing message would be emitted stating
	  that the channel did not exist. This patch allows a user to be
	  muted when waiting to enter a ConfBridge conference. This is
	  equivalent to start when muted, only toggled via the CLI or AMI.
	  Review: https://reviewboard.asterisk.org/r/3582 #ASTERISK-23824
	  #close patches: rb3582.patch uploaded by tm1000 (License 6524)
	  ........ Merged revisions 415206 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415207 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-05 11:59 +0000 [r415192]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_pjsip.c: PJSIP: Send initial connected line
	  information This makes chan_pjsip send connected line information
	  when it is called so that connected line information is available
	  on the connected channel. (closes issue DPMA-442) Reported by:
	  John Bigelow Review: https://reviewboard.asterisk.org/r/3584/
	  ........ Merged revisions 415191 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-04 20:16 +0000 [r415173]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, contrib/scripts/safe_asterisk: safe_asterisk: Cleanup and
	  debian compatibility. Cleans up the safe_asterisk script and adds
	  the ASTSAFE_FOREGROUND option that allows the debian asterisk
	  init script to capture the right pid. * Drop the vim #modeline
	  which wasn't used. Use test consistently without the odd
	  configure xno syntax. Double quote all paths. General cleanup. *
	  Don't output message()s to the console but only to TTY if set. *
	  Allow TTY to be "no" as well as empty (debian compatibility with
	  debian/patches/safe_asterisk-config). * Add option to export
	  ASTSAFE_FOREGROUND=1 from the init script that calls this to
	  disable backgrounding. Debian uses a similar method in
	  debian/patches/safe_asterisk-nobg). ASTERISK-23492 #close Review:
	  https://reviewboard.asterisk.org/r/3574/ ........ Merged
	  revisions 415132 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415171 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415172 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-04 14:13 +0000 [r415116-415118]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_pjsip.c: chan_pjsip: Add debug in RTP Engine
	  glue callback This patch adds some debug statements that aid with
	  determining why a direct media request may or may not be
	  initiated. ........ Merged revisions 415117 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_session.c, /: res_pjsip_session: Add debug
	  statement for session refreshes This small patch adds a debug
	  level 3 statement indicating how a session refresh is being sent
	  - either as a re-INVITE or as an UPDATE - and where the session
	  refresh is going. ........ Merged revisions 415115 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-04 07:27 +0000 [r415080]  Corey Farrell <git@cfware.com>

	* /, apps/confbridge/include/confbridge.h, apps/app_confbridge.c:
	  app_confbridge: Correct verification of conference name length
	  Conference names were not checked for maximum length, allowing
	  unexpected behaviour. This change adds checking to ensure the
	  maximum length is not exceeded. The maximum length is also
	  changed from 32 to AST_MAX_EXTENSION. ASTERISK-23035 #close
	  Reported by: Iñaki Cívico Tested by: Iñaki Cívico Patches:
	  confbridge-enforce_max-1.8.patch uploaded by coreyfarrell
	  (license 5909) confbridge-enforce_max-11up.patch uploaded by
	  coreyfarrell (license 5909) ........ Merged revisions 415060 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415066 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 415078 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-03 07:36 +0000 [r415000]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, funcs/func_odbc.c: func_odbc: Fix fixed size buffers fix
	  (r414968). The change that removed the fixed size buffers in
	  odbc-related code -- removing arbitrary column width limits --
	  was incomplete. This change adds: no segfault on writesql without
	  insertsql and return value checks after strdup. While I was in
	  the vicinity I cleaned up the linefeeds in the odbc function
	  descriptions, moved some code for clarity, removed some blobs and
	  noted (but didn't fix) that the 'odbc write ... exec' CLI command
	  doesn't behave as the dialplan equivalent when insertsql= is
	  used. ASTERISK-23582 #close Review:
	  https://reviewboard.asterisk.org/r/3579/ ........ Merged
	  revisions 414997 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414998 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414999 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-06-01 15:32 +0000 [r414976]  Joshua Colp <jcolp@digium.com>

	* /, bridges/bridge_native_rtp.c: bridge_native_rtp: Take the
	  bridge type choice of both channels into account. The
	  bridge_native_rtp module currently uses the bridge result of the
	  first channel that joins a bridge as the ultimate result. This
	  means that if the first channel has direct media enabled but the
	  second does not a direct media bridge will still occur. This
	  change makes it so that both sides are taken into account. If
	  either side forbids the bridge or responds with a local bridge
	  result then either a generic or local bridge occurs.
	  ASTERISK-23541 #close Reported by: Justin E Review:
	  https://reviewboard.asterisk.org/r/3577/ ........ Merged
	  revisions 414975 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-30 14:53 +0000 [r414949]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip_refer.c, /: PJSIP: Prevent crash on blind transfer
	  Blind transfers don't go too well with NULL channels which can
	  occur if the channel has already been transferred away. (closes
	  issue ASTERISK-23718) Reported by: Jonathan Rose ........ Merged
	  revisions 414948 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-30 12:42 +0000 [r414883-414935]  Matthew Jordan <mjordan@digium.com>

	* main/audiohook.c, CHANGES, res/ari/ari_model_validators.c,
	  res/ari/ari_model_validators.h, funcs/func_talkdetect.c (added),
	  include/asterisk/stasis_channels.h,
	  rest-api/api-docs/events.json, /, main/stasis_channels.c:
	  TALK_DETECT: A channel function that raises events when talking
	  is detected This patch adds a new channel function TALK_DETECT
	  that, when set on a channel, causes events indicating the
	  start/stop of talking on a channel to be emitted to both AMI and
	  ARI clients. The function allows setting both the silence
	  threshold (the length of silence after which we decide no one is
	  talking) as well as the talking threshold (the amount of energy
	  that counts as talking). Parameters can be updated on a channel
	  after talk detection has been enabled, and talk detection can be
	  removed at any time. The events raised by the function use a
	  nomenclature similar to existing AMI/ARI events. For AMI:
	  ChannelTalkingStart/ChannelTalkingStop For ARI:
	  ChannelTalkingStarted/ChannelTalkingFinished Review:
	  https://reviewboard.asterisk.org/r/3563/ #ASTERISK-23786 #close
	  Reported by: Matt Jordan ........ Merged revisions 414934 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/config.c, /: main/config.c: AMI action UpdateConfig EmptyCat
	  clears all categories When invoking UpdateConfig AMI action with
	  Action set to EmptyCat, Asterisk will make all categories empty
	  in the config but the one requested with a Cat variable. This is
	  due to a bug in ast_category_empty (main/config.c) that makes an
	  incorrect comparison for a category name. This patch corrects the
	  comparison such that only the requested category is cleared.
	  Review: https://reviewboard.asterisk.org/r/3573/ #ASTERISK-23803
	  #close Reported by: zvision patches: manager.c.diff uploaded by
	  zvision (License 5755) ........ Merged revisions 414880 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414881 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414882 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-29 18:51 +0000 [r414861]  Kinsey Moore <kmoore@digium.com>

	* main/pbx.c, /: PBX: Prevent incorrect hint parsing Dynamic and
	  pattern matching hints should not be checked for their last known
	  state until they are instantiated by subscribers. (closes issue
	  AFS-56) Reported by: John Hardin Patch AFS-56-pbx.diff submitted
	  by Matt Jordan (license 6283) ........ Merged revisions 414813
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 414859 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414860 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-28 22:54 +0000 [r414798]  Matthew Jordan <mjordan@digium.com>

	* main/loader.c, include/asterisk/logger.h, res/res_config_curl.c,
	  cel/cel_odbc.c, res/res_config_odbc.c,
	  bridges/bridge_builtin_features.c, main/optional_api.c,
	  main/logger.c, main/config_options.c, cdr/cdr_odbc.c,
	  apps/app_mixmonitor.c, main/asterisk.c, res/res_odbc.c,
	  main/xmldoc.c, apps/app_voicemail.c, cel/cel_pgsql.c,
	  channels/chan_unistim.c, res/res_config_pgsql.c, main/pbx.c,
	  cdr/cdr_sqlite3_custom.c, res/res_fax.c, main/bridge.c,
	  apps/app_waitforsilence.c, cdr/cdr_adaptive_odbc.c,
	  res/parking/parking_applications.c, cdr/cdr_pgsql.c,
	  res/res_jabber.c: Logger/CLI/etc.: Fix some aesthetic issues;
	  reduce chatty verbose messages This patch addresses some
	  aesthetic issues in Asterisk. These are all just minor tweaks to
	  improve the look of the CLI when used in a variety of settings.
	  Specifically: * A number of chatty verbose messages were removed
	  or demoted to DEBUG messages. Verbose messages with a verbosity
	  level of 5 or higher were - if kept as verbose messages - demoted
	  to level 4. Several messages that were emitted at verbose level 3
	  were demoted to 4, as announcement of dialplan applications being
	  executed occur at level 3 (and so the effects of those
	  applications should generally be less). * Some verbose messages
	  that only appear when their respective 'debug' options are
	  enabled were bumped up to always be displayed. *
	  Prefix/timestamping of verbose messages were moved to the
	  verboser handlers. This was done to prevent duplication of
	  prefixes when the timestamp option (-T) is used with the CLI. *
	  Verbose magic is removed from messages before being emitted to
	  non-verboser handlers. This prevents the magic in multi-line
	  verbose messages (such as SIP debug traces or the output of
	  DumpChan) from being written to files. * _Slightly_ better
	  support for the "light background" option (-W) was added. This
	  includes using ast_term_quit in the output of XML documentation
	  help, as well as changing the "Asterisk Ready" prompt to bright
	  green on the default background (which stands a better chance of
	  being displayed properly than bright white). Review:
	  https://reviewboard.asterisk.org/r/3547/

2014-05-28 20:53 +0000 [r414781]  Rusty Newton <rnewton@digium.com>

	* /, configs/pjsip.conf.sample: pjsip.conf: privkey_file should be
	  priv_key_file, mediaencryption=yes should be mediaencryption=sdes
	  privkey_file was missed in the snake case update. An example
	  included an invalid value for the mediaencryption option.
	  ........ Merged revisions 414780 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-28 17:46 +0000 [r414764-414766]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/endpoints.json,
	  rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
	  /, rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json,
	  rest-api/api-docs/playbacks.json,
	  rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
	  rest-api/resources.json, include/asterisk/manager.h,
	  rest-api/api-docs/bridges.json,
	  rest-api/api-docs/recordings.json: AMI/ARI: Update version
	  numbers Update the semantic versioning of ARI to 1.3.0 and AMI to
	  2.3.0 to account for backwards compatible changes going from
	  12.2.0 to 12.3.0. ........ Merged revisions 414765 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* contrib/ast-db-manage/cdr/env.py, /: ast-db-manage/cdr/env.py:
	  Don't fail if a config file can't be loaded When generating SQL
	  files via the repotools alembic_creator.py script, a
	  configuration object is used programatically with SQLAlechemy, as
	  opposed to a configuration file. This patch ignores failures to
	  interpret a config file, as ... there isn't one in this case.
	  ........ Merged revisions 414763 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-28 16:56 +0000 [r414748-414750]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip_session.c, include/asterisk/res_pjsip_session.h, /,
	  res/res_pjsip_t38.c: res_pjsip_session: Fix leaked video RTP
	  ports. Simply enabling PJSIP to negotiage a video codec (e.g.,
	  h264) would leak video RTP ports if the codec were not negotiated
	  by an incoming call. * Made add_sdp_streams() associate the
	  handler with the media stream if the handler handled the media
	  stream. Otherwise, when the ast_sip_session_media object was
	  destroyed it didn't know how to clean up the RTP resources. *
	  Fixed sdp_requires_deferral() associating the handler with the
	  media stream when deciding if the SDP processing needs to be
	  deferred for T.38. Like the leaked video RTP ports, the T.38
	  handler needs to clean up allocated resources from deciding if
	  SDP processing needs to be deffered. * Cleaned up some dead code
	  in handle_incoming_sdp() and sdp_requires_deferral().
	  ASTERISK-23721 #close Reported by: cervajs Review:
	  https://reviewboard.asterisk.org/r/3571/ ........ Merged
	  revisions 414749 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, CHANGES, apps/app_agent_pool.c: app_agent_pool: Return to
	  dialplan if the agent fails to ack the call. Improvements to the
	  agent pool functionality. * AgentRequest no longer hangs up the
	  caller if the agent fails to connect with the caller. It now
	  continues in the dialplan. * AgentRequest returns AGENT_STATUS
	  set to NOT_CONNECTED if the agent failed to connect with the
	  call. Most likely because the agent did not acknowledge the call
	  in time or got disconnected. * The agent alerting play file
	  configured by the agent.conf custom_beep option can now be
	  disabled by setting the option to an empty string. The agent is
	  effectively alerted to a call presence when MOH stops. * Fixed
	  bridge reference leak when the agent connects with a caller.
	  ASTERISK-23499 #close Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3551/ ........ Merged
	  revisions 414747 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-28 11:37 +0000 [r414696]  Joshua Colp <jcolp@digium.com>

	* res/res_config_odbc.c, /, funcs/func_odbc.c: res_config_odbc: Use
	  dynamically sized buffers to store row data so values do not get
	  truncated. ASTERISK-23582 #close ASTERISk-23582 #comment Reported
	  by: Walter Doekes Review:
	  https://reviewboard.asterisk.org/r/3557/ ........ Merged
	  revisions 414693 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414694 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414695 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-28 09:43 +0000 [r414567-414679]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_unistim.c: chan_unistim: Unlock mutex in rare
	  OOM condition. #ASTERISK-23792 #close Reported by: Peter Whisker
	  Review: https://reviewboard.asterisk.org/r/3567/ ........ Merged
	  revisions 414677 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414678 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: chan_sip: Start session timer at 200, not
	  at INVITE. Asterisk started counting the session timer at INVITE
	  while the other end correctly started at 200. This meant that for
	  short session-expiries (90 seconds) combined with long ringing
	  times (e.g. 30 seconds), asterisk would wrongly assume that the
	  timer was hit before the other end thought it was time to send a
	  session refresh. This resulted in prematurely ended calls. This
	  changes the session timer to start counting first at 200 like RFC
	  says it should. (Also removed a few excess NULL checks that would
	  never hit, because if they did, asterisk would have crashed
	  already.) ASTERISK-22551 #close Reported by: i2045 Review:
	  https://reviewboard.asterisk.org/r/3562/ ........ Merged
	  revisions 414620 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414628 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414636 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_config_odbc.c, /: res_config_odbc: Fix old and new
	  ast_string_field memory leaks. The ODBC realtime driver uses ^NN
	  parameter encoding to cope with the special meaning of the
	  semi-colon. A semi-colon in a field is interpreted as if the key
	  was supplied twice, something which isn't otherwise possible with
	  fixed database columns. E.g. allow=alaw;ulaw is parsed as
	  allow=alaw and allow=ulaw. A literal semi-colon is rewritten to
	  ^3B when stored in the database. The module uses a stringfield to
	  efficiently store the encoded parameters. However, this
	  stringfield wasn't always freed in some off-nominal cases. Commit
	  r413241 fixed initialization so the encoding for INSERT and
	  DELETE queries wouldn't crash. (Only SELECTs and UPDATEs worked
	  apparently.) But that commit forgot the frees. This change cleans
	  that up. Review: https://reviewboard.asterisk.org/r/3555/
	  ........ Merged revisions 414564 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414565 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414566 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-25 02:37 +0000 [r414543]  Matthew Jordan <mjordan@digium.com>

	* /, main/core_unreal.c: core_unreal: Prevent double free of
	  core_unreal pvt When a channel is destroyed (such as via
	  ast_channel_release in off nominal paths in core_unreal), it will
	  attempt to free (via ast_free) the channel tech pvt. This is
	  problematic for a few reasons: 1. The channel tech pvt is an ao2
	  object in core_unreal. Free'ing the pvt directly is no good. 2.
	  The channel tech pvt's reference count is dropped just prior to
	  calling ast_channel_release, resulting in the pvt's destruction.
	  Hence, the channel destructor is free'ing an invalid pointer.
	  This patch keeps the dropping of the reference count, but sets
	  the pvt to NULL on the channel prior to releasing it. This models
	  what would occur if the channel was hung up directly. ........
	  Merged revisions 414542 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-23 17:36 +0000 [r414529]  Matthew Jordan <mjordan@digium.com>

	* tests/test_cel.c, /: test_cel: Fix unit tests broken due to event
	  def changes from res_corosync This patch instructs test_cel to
	  skip any IE types it doesn't care about. The addition of the raw
	  and bitfield types caused the tests to fail. ........ Merged
	  revisions 414528 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-23 14:36 +0000 [r414475]  Kinsey Moore <kmoore@digium.com>

	* main/event.c, /: Fix signed/unsigned build warnings ........
	  Merged revisions 414474 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-22 16:19 +0000 [r414417]  Richard Mudgett <rmudgett@digium.com>

	* /, apps/app_meetme.c: app_meetme: Don't interrupt MOH for
	  waitmarked users. Occasionally, when the last marked user leaves
	  the conference, waitmarked users don't get MOH if MOH is supposed
	  to be played while a waitmarked user is waiting for another
	  marked user. * Made not interrupt MOH when the user is a
	  waitmarked user. The waitmarked user doesn't need to hear any
	  leave announcements from the conference as the user would have
	  already heard different leave announcements if they were enabled.
	  Apparently DAHDI occasionally sends unending non-silent streams
	  to these users or a normal user still in the conference has
	  continuous high background noise. These non-silent streams cause
	  MOH to be suspended while the never ending "announcement" is
	  played. Issue caused by ASTERISK-13680. AST-1349 #close Reported
	  by: Tyler Stewart Review:
	  https://reviewboard.asterisk.org/r/3543/ ........ Merged
	  revisions 414401 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414402 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414404 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-22 16:09 +0000 [r414406]  Scott Griepentrog <sgriepentrog@digium.com>

	* rest-api/api-docs/events.json, /, res/stasis/app.c,
	  res/ari/resource_events.c, include/asterisk/stasis_app.h,
	  include/asterisk/stasis.h, apps/app_userevent.c,
	  res/ari/resource_events.h, res/ari/ari_model_validators.c,
	  CHANGES, main/stasis.c, res/ari/ari_model_validators.h,
	  include/asterisk/stasis_channels.h, res/res_ari_events.c,
	  main/stasis_channels.c, res/res_stasis.c,
	  main/manager_channels.c, main/stasis_endpoints.c: ARI: Add
	  ability to raise arbitrary User Events User events can now be
	  generated from ARI. Events can be signalled with arbitrary json
	  variables, and include one or more of channel, bridge, or
	  endpoint snapshots. An application must be specified which will
	  receive the event message (other applications can subscribe to
	  it). The message will also be delivered via AMI provided a
	  channel is attached. Dialplan generated user event messages are
	  still transmitted via the channel, and will only be received by a
	  stasis application they are attached to or if the channel is
	  subscribed to. This change also introduces the multi object blob
	  mechanism used to send multiple snapshot types in a single
	  message. The dialplan app UserEvent was also changed to use multi
	  object blob, and a new stasis message type created to handle
	  them. ASTERISK-22697 #close Review:
	  https://reviewboard.asterisk.org/r/3494/ ........ Merged
	  revisions 414405 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-22 15:52 +0000 [r414403]  Jonathan Rose <jrose@digium.com>

	* include/asterisk/bridge.h, res/parking/parking_bridge_features.c,
	  channels/chan_mgcp.c, res/res_pjsip_refer.c,
	  channels/chan_dahdi.c, channels/sig_analog.c, /,
	  channels/chan_sip.c, main/parking.c, main/bridge.c,
	  main/bridge_basic.c, res/parking/parking_applications.c,
	  include/asterisk/parking.h: res_pjsip_refer: Fix bugs involving
	  Parking/PJSIP/transfers PJSIP would never send the final 200
	  Notify for a blind transfer when transferring to parking. This
	  patch fixes that. In addition, it fixes a reference leak when
	  performing blind transfers to non-bridging extensions. Review:
	  https://reviewboard.asterisk.org/r/3485/ ........ Merged
	  revisions 414400 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-22 14:02 +0000 [r414331-414348]  Matthew Jordan <mjordan@digium.com>

	* /, UPGRADE.txt: UPGRADE: Add note for REF_DEBUG flag ........
	  Merged revisions 414345 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414346 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414347 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_corosync.c, include/asterisk/stasis.h, main/app.c,
	  main/devicestate.c, main/event.c, main/stasis.c,
	  include/asterisk/devicestate.h, include/asterisk/event.h,
	  main/stasis_message.c, /, include/asterisk/event_defs.h:
	  res_corosync: Update module to work with Stasis (and compile)
	  This patch fixes res_corosync such that it works with Asterisk
	  12. This restores the functionality that was present in previous
	  versions of Asterisk, and ensures compatibility with those
	  versions by restoring the binary message format needed to pass
	  information from/to them. The following changes were made in the
	  core to support this: * The event system has been partially
	  restored. All event definition and event types in this patch were
	  pulled from Asterisk 11. Previously, we had hoped that this
	  information would live in res_corosync; however, the approach in
	  this patch seems to be better for a few reasons: (1)
	  Theoretically, ast_events can be used by any module as a binary
	  representation of a Stasis message. Given the structure of an
	  ast_event object, that information has to live in the core to be
	  used universally. For example, defining the payload of a device
	  state ast_event in res_corosync could result in an incompatible
	  device state representation in another module. (2) Much of this
	  representation already lived in the core, and was not easily
	  extensible. (3) The code already existed. :-) * Stasis message
	  types now have a message formatter that converts their payload to
	  an ast_event object. * Stasis message forwarders now handle
	  forwarding to themselves. Previously this would result in an
	  infinite recursive call. Now, this simply creates a new
	  forwarding object with no forwards set up (as it is the thing it
	  is forwarding to). This is advantageous for res_corosync, as
	  returning NULL would also imply an unrecoverable error. Returning
	  a subscription in this case allows for easier handling of message
	  types that are published directly to an aggregate topic that has
	  forwarders. Review: https://reviewboard.asterisk.org/r/3486/
	  ASTERISK-22912 #close ASTERISK-22372 #close ........ Merged
	  revisions 414330 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-21 22:24 +0000 [r414297]  Richard Mudgett <rmudgett@digium.com>

	* /, main/core_unreal.c: core_unreal: Only block media frames when
	  a generator is on both ends of an unreal channel. The fix for
	  ASTERISK-12292 was a bit too aggressive. You could have
	  generators pointed at each other on local channels but need to
	  get other kinds of frames such as DTMF or CONNECTED_LINE frames
	  accross. ........ Merged revisions 414269 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414270 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414272 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-21 19:08 +0000 [r414217]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, funcs/func_strings.c: pbx.c: prevent potential crash from
	  recursive replace() Recurisve usage of replace() resulted in
	  corruption of the temporary string storage and potential crash.
	  By changing the string to be allocated separtely per instance,
	  this is eliminated. ASTERISK-23650 #comment Reported by: Roel van
	  Meer ASTERISK-23650 #close Review:
	  https://reviewboard.asterisk.org/r/3539/ ........ Merged
	  revisions 414214 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414215 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414216 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-19 19:52 +0000 [r414196]  Paul Belanger <paul.belanger@polybeacon.com>

	* res/res_stasis_answer.c, /: Replace __ast_answer with
	  ast_raw_answer in app_control_answer While load testing an ARI
	  application, I noticed asterisk was returning HTTP 500 internal
	  server errors on channels/:id/answer. After talking to
	  #asterisk-dev, the issue appeared to be a lack of media flowing
	  after __ast_answer() was called. So now, we call ast_raw_answer
	  instead and no longer wait for media. ASTERISK-23758 #close
	  Review: https://reviewboard.asterisk.org/r/3549/ ........ Merged
	  revisions 414195 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-19 01:10 +0000 [r414123-414138]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  main/bridge_channel.c, res/res_pjsip_refer.c,
	  res/res_pjsip_session.c, main/channel.c, /, main/framehook.c:
	  Undo r414123 The Test Suite caught a few problems, undoing until
	  those are resolved

	* include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  main/bridge_channel.c, res/res_pjsip_session.c, main/channel.c,
	  /, main/framehook.c: bridge_native_rtp/bridge_channel: Fix direct
	  media issues due to frame hook This patch fixes issues with
	  direct media bridges that occur after a blind transfer. These
	  issues were caught by the (currently failing)
	  pjsip/transfers/blind_transfer/caller_direct_media test. The test
	  currently fails primarily for two reasons: (1) When Bob and
	  Charlie (the transfer target and the transfer destination) enter
	  a bridge together, the framehook remains on the transfer target
	  channel until both channels are in the bridge. As it consumes
	  voice frames, the initial bridge type is a simple bridge. The
	  framehook is removed when both channels are in the bridge;
	  however, this does not currently cause the bridging framework to
	  re-evaluate the bridge. This patch adds a AST_SOFTHANGUP_UNBRIDGE
	  poke to the transfer target channel when a framehook is removed
	  so the bridge can re-evaluate itself. (2) When a channel leaves a
	  native RTP bridge, it may be leaving due to being hung up.
	  Sending a re-INVITE to a channel that is about to be hung up is
	  not nice - in fact, there's a good chance we'll send the BYE
	  request before the channel has had a chance to send back a 200
	  OK. To be somewhat nicer, this patch adds a function to channel.h
	  that allows the bridging framework to query for exactly why a
	  channel is leaving a bridge via the channel's soft hangup flags.
	  This allows it to only send the re-INVITE if there's a chance the
	  channel will survive the native bridging experience. Review:
	  https://reviewboard.asterisk.org/r/3535/ ........ Merged
	  revisions 414122 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-16 20:06 +0000 [r413994-414070]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_dahdi.c: chan_dahdi: Fix analog dialtone
	  detection. * Check if waitingfordt (waitfordialtone) is enabled
	  in dahdi_read() to allow the DSP to operate early enough to
	  detect dialtone. * Made use the correct variable in
	  my_check_waitingfordt(). ASTERISK-23709 #close Reported by: Steve
	  Davies Patches: dialtone_detect_fix (license #5012) patch
	  uploaded by Steve Davies Review:
	  https://reviewboard.asterisk.org/r/3534/ ........ Merged
	  revisions 414067 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 414068 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414069 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/sig_pri.c, /: sig_pri.c: Pull the pri_dchannel()
	  PRI_EVENT_RING case into its own function. * Populate the
	  CALLERID(ani2) value (and the special CALLINGANI2 channel
	  variable) with the ANI2 value in addition to the PRI specific
	  ANI2 channel variable. * Made complete snapshot staging with the
	  channel lock held. All channel snapshots need to be done while
	  the channel lock is held. ........ Merged revisions 414050 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 414051 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/app_meetme.c: app_meetme: Fix overwrite of DAHDI
	  conference data structure. Starting a conference recording using
	  the admin menu overwrites the DAHDI conference data structure
	  used to modify the admin user's conference mute mode. * Made no
	  longer pass the user's DAHDI conference data structure into the
	  menu functions. The menu now uses its own DAHDI conference data
	  structure to start the recording channel. * Moved the unlock
	  conf->playlock to before playing the conf-full message. No sense
	  keeping the lock while that prompt is playing. The user is never
	  going to get into the conference at that point. ........ Merged
	  revisions 413991 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413992 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413993 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-14 15:41 +0000 [r413897]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, res/res_musiconhold.c: res_musiconhold: Minor cleanup. Fix a
	  few free()'s that should be ast_free()'s. Reverted an old
	  workaround that isn't necessary. Reorder a tiny bit of code.
	  Remove a bit of commented-out code. Review:
	  https://reviewboard.asterisk.org/r/3536/ ........ Merged
	  revisions 413894 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413895 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413896 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-13 18:09 +0000 [r413878]  Jonathan Rose <jrose@digium.com>

	* main/netsock2.c, /, channels/chan_sip.c,
	  include/asterisk/netsock2.h: chan_sip: Add TLS and SRTP status to
	  CLI command 'sip show channel' ASTERISK-23564 #close Reported by:
	  Patrick Laimbock Review: https://reviewboard.asterisk.org/r/3474/
	  ........ Merged revisions 413876 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413877 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-13 13:53 +0000 [r413790-413793]  Walter Doekes <walter+asterisk@wjd.nu>

	* res/res_format_attr_h264.c, /: h264: Fix H264 SDP payload format.
	  https://tools.ietf.org/html/rfc3984#section-8.1 says
	  profile-level-id takes 3 bytes in base16 (6 hex digits). This
	  fixes video setup in certain cases. ASTERISK-23664 #close
	  ASTERISK-23664 #comment Patch r3530.patch uploaded by Guillaume
	  Maudoux. Review: https://reviewboard.asterisk.org/r/3530/
	  ........ Merged revisions 413791 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413792 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/rtp_engine.c: rtp: Fix case typo in H263+ mime.
	  http://tools.ietf.org/html/rfc3555#section-4.2.6 says the
	  canonical mime subtype is "H263-1998", not "h263-1998". Original
	  code was added in r183101 on 2009-03-19 02:26:50 +0100. This
	  fixes issues with Polycom phones. ASTERISK-23665 #close
	  ASTERISK-23665 #comment Patch r3529.patch uploaded by Guillaume
	  Maudoux, backported by me. Review:
	  https://reviewboard.asterisk.org/r/3529/ ........ Merged
	  revisions 413787 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413788 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413789 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-13 00:35 +0000 [r413770-413772]  Richard Mudgett <rmudgett@digium.com>

	* configure.ac, channels/sig_pri.c, /, configure,
	  include/asterisk/autoconfig.h.in: chan_dahdi/sig_pri: Prevent
	  unnecessary PROGRESS events when overlap dialing is enabled. When
	  overlap dialing is enabled, the lack of inband audio available
	  information in the SETUP_ACKNOWLEDGE events causes an
	  interoperability problem with SIP. sig_pri doesn't know if there
	  is dialtone present when a SETUP_ACKNOWLEDGE is received so it
	  assumes it is there and posts an AST_CONTROL_PROGRESS frame. The
	  SIP channel driver then sends out a 183 Session Progress and
	  blocks the desired 180 Ringing message when the ALERTING message
	  comes in. * Made the configure script detect if the installed
	  version of libpri supports the SETUP_ACKNOWLEDGE enhancements. *
	  Using the new API, made generate an AST_CONTROL_PROGRESS frame on
	  an incoming SETUP_ACKNOWLEDGE message when the message indicates
	  inband audio is present instead of assuming that dialtone is
	  present. * Using the new API, made SETUP_ACKNOWLEDGE send out an
	  inband audio available indication only if dialtone is expected.
	  The change also makes the fallback behaviour of sending the
	  PROGRESS message better by sending it only if dialtone is
	  expected. * Changed receiving a PROCEEDING message to not
	  generate an AST_CONTROL_PROGRESS frame if the progress indication
	  ie indicates non-end-to-end-ISDN. This helps interoperability
	  with SIP. * Changed sending a PROCEEDING message in response to
	  an AST_CONTROL_PROCEEDING frame to not indicate inband audio
	  available. It was silly to do so anyway because the channel
	  driver doesn't know if inband audio is even available. This helps
	  interoperability with SIP. This patch and a corresponding change
	  in libpri work together to allow Asterisk to control the inband
	  audio available progress indication ie on the SETUP_ACKNOWLEDGE
	  message when dialtone is present. AST-1338 #close Reported by:
	  Tyler Stewart Review: https://reviewboard.asterisk.org/r/3521/
	  ........ Merged revisions 413714 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413765 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413771 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/sig_pri.c: Fix compiler warning from GCC 4.10 fixup.
	  ........ Merged revisions 413766 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-12 22:33 +0000 [r413713]  Jonathan Rose <jrose@digium.com>

	* apps/app_chanspy.c, /: app_chanspy: Fix a test that was failing
	  on account of r413551 ASTERISK-23381 #close ASTERISK-23381
	  #comment Reported by: Robert Moss Review:
	  https://reviewboard.asterisk.org/r/3505/ ........ Merged
	  revisions 413710 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413712 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-11 02:09 +0000 [r413651-413682]  Joshua Colp <jcolp@digium.com>

	* main/bridge_basic.c, include/asterisk/channel.h,
	  bridges/bridge_native_rtp.c, include/asterisk/framehook.h,
	  main/channel.c, /, main/framehook.c: framehooks: Add callback for
	  determining if a hook is consuming frames of a specific type. In
	  the past framehooks have had no capability to determine what
	  frame types a hook is actually interested in consuming. This has
	  meant that code has had to assume they want all frames, thus
	  preventing native bridging. This change adds a callback which
	  allows a framehook to be queried for whether it is consuming a
	  frame of a specific type. The native RTP bridging module has also
	  been updated to take advantange of this, allowing native bridging
	  to occur when previously it would not. ASTERISK-23497 #comment
	  Reported by: Etienne Lessard ASTERISK-23497 #close Review:
	  https://reviewboard.asterisk.org/r/3522/ ........ Merged
	  revisions 413681 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  include/asterisk/framehook.h, main/channel.c, /,
	  main/framehook.c, main/bridge_basic.c: Undoing framehook support.
	  Issues were uncovered by Bamboo.

	* /, main/framehook.c, main/bridge_basic.c,
	  include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  include/asterisk/framehook.h, main/channel.c: framehooks: Add
	  callback for determining if a hook is consuming frames of a
	  specific type. In the past framehooks have had no capability to
	  determine what frame types a hook is actually interested in
	  consuming. This has meant that code has had to assume they want
	  all frames, thus preventing native bridging. This change adds a
	  callback which allows a framehook to be queried for whether it is
	  consuming a frame of a specific type. The native RTP bridging
	  module has also been updated to take advantange of this, allowing
	  native bridging to occur when previously it would not.
	  ASTERISK-23497 #comment Reported by: Etienne Lessard
	  ASTERISK-23497 #close Review:
	  https://reviewboard.asterisk.org/r/3522/ ........ Merged
	  revisions 413650 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-09 23:18 +0000 [r413589-413599]  Kinsey Moore <kmoore@digium.com>

	* /, funcs/func_env.c: Fix 32bit build for func_env ........ Merged
	  revisions 413592 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413595 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413597 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_festival.c, pbx/dundi-parser.c, apps/app_getcpeid.c,
	  main/netsock.c, funcs/func_channel.c, main/audiohook.c,
	  pbx/pbx_config.c, res/res_pjsip_registrar.c, main/xmldoc.c,
	  channels/iax2/firmware.c, apps/app_voicemail.c, main/format.c,
	  cel/cel_pgsql.c, main/rtp_engine.c, main/parking.c,
	  main/bridge.c, res/res_jabber.c, res/res_http_websocket.c,
	  main/config.c, res/res_format_attr_opus.c, main/loader.c,
	  res/parking/parking_bridge.c, main/cdr.c, main/manager.c,
	  include/asterisk/astobj.h, main/bucket.c, apps/app_dumpchan.c,
	  main/app.c, res/res_pjsip/config_transport.c,
	  res/res_pjsip_refer.c, channels/chan_mgcp.c,
	  res/res_rtp_asterisk.c, main/slinfactory.c, main/core_unreal.c,
	  res/res_pjsip_sdp_rtp.c, res/res_crypto.c, main/acl.c,
	  channels/sig_pri.c, res/res_monitor.c, res/res_srtp.c,
	  main/data.c, res/res_corosync.c, channels/sip/config_parser.c,
	  res/res_fax_spandsp.c, apps/app_stack.c, main/asterisk.c,
	  main/udptl.c, res/res_sorcery_config.c, main/security_events.c,
	  res/res_timing_dahdi.c, res/res_pjsip_t38.c,
	  res/res_musiconhold.c, main/taskprocessor.c,
	  res/res_format_attr_h263.c, res/res_xmpp.c, res/res_pktccops.c,
	  funcs/func_hangupcause.c, channels/chan_phone.c,
	  main/manager_bridges.c, cel/cel_odbc.c, channels/chan_skinny.c,
	  channels/chan_motif.c, res/res_agi.c, main/logger.c,
	  funcs/func_srv.c, channels/chan_alsa.c, apps/app_confbridge.c,
	  res/res_pjsip_pubsub.c, channels/sip/include/sip.h, main/sched.c,
	  apps/app_adsiprog.c, main/pbx.c, channels/chan_sip.c,
	  res/res_fax.c, main/aoc.c, res/res_calendar_ews.c,
	  res/parking/parking_bridge_features.c, channels/iax2/parser.c,
	  main/callerid.c, main/file.c,
	  res/res_pjsip/pjsip_configuration.c, main/adsi.c,
	  main/config_options.c, pbx/pbx_dundi.c, funcs/func_iconv.c,
	  main/bridge_channel.c, res/res_odbc.c, channels/chan_pjsip.c,
	  res/parking/parking_manager.c, res/res_calendar.c, /,
	  funcs/func_sysinfo.c, main/utils.c, cdr/cdr_adaptive_odbc.c,
	  res/res_calendar_caldav.c, res/res_stasis_snoop.c,
	  res/res_format_attr_h264.c, main/channel.c, res/ael/pval.c,
	  res/res_ari_model.c, channels/chan_dahdi.c,
	  channels/sig_analog.c, funcs/func_frame_trace.c,
	  res/res_format_attr_silk.c, main/manager_channels.c,
	  apps/app_dial.c, res/res_calendar_icalendar.c, main/translate.c,
	  apps/app_queue.c, channels/chan_jingle.c, res/res_stun_monitor.c,
	  main/abstract_jb.c, res/res_stasis_recording.c, apps/app_sms.c,
	  main/event.c, apps/app_verbose.c, main/dsp.c,
	  channels/chan_unistim.c, main/frame.c, res/res_stasis_playback.c,
	  main/ccss.c, funcs/func_env.c, main/devicestate.c,
	  bridges/bridge_softmix.c, channels/chan_gtalk.c,
	  channels/chan_iax2.c, main/enum.c, main/cli.c,
	  res/res_format_attr_celt.c, apps/confbridge/conf_config_parser.c,
	  main/io.c, channels/pjsip/dialplan_functions.c,
	  res/res_config_odbc.c, res/res_pjsip/location.c,
	  res/res_pjsip_outbound_registration.c, formats/format_pcm.c,
	  apps/app_minivm.c, main/stdtime/localtime.c, main/stun.c: Allow
	  Asterisk to compile under GCC 4.10 This resolves a large number
	  of compiler warnings from GCC 4.10 which cause the build to fail
	  under dev mode. The vast majority are signed/unsigned mismatches
	  in printf-style format strings. ........ Merged revisions 413586
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 413587 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413588 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-09 18:15 +0000 [r413572]  Richard Mudgett <rmudgett@digium.com>

	* main/http.c: http.c: Remove dead code.

2014-05-09 17:03 +0000 [r413557]  Jonathan Rose <jrose@digium.com>

	* apps/app_chanspy.c, /: app_chanspy: Fix a bug where Barge mode
	  could fail If the barge audiohook was attached prior to the spyee
	  and its peer actually being bridged, the audiohook would not be
	  applied and the connected peer would not be able to hear audio
	  from the spy when the spy is in barge mode. (closes issue
	  ASTERISK-23381) Reported by: Robert Moss Review:
	  https://reviewboard.asterisk.org/r/3505/ ........ Merged
	  revisions 413551 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413556 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-08 00:36 +0000 [r413488]  Joshua Colp <jcolp@digium.com>

	* apps/app_queue.c, main/manager.c, /: app_queue: Extend
	  documentation for various Manager actions and events. ........
	  Merged revisions 413485 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413486 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413487 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-07 21:58 +0000 [r413469]  Mark Michelson <mmichelson@digium.com>

	* funcs/func_presencestate.c: Ensure that presence state is decoded
	  properly on Asterisk startup. The CustomPresence provider
	  callback will automatically base64 decode stored data if the 'e'
	  option was present when the state was set. However, since the
	  provider callback was bypassed on Asterisk startup, encoded
	  presence subtypes and messages were being sent instead. This fix
	  makes it so the provider callback is always used when providing
	  presence state updates.

2014-05-07 20:59 +0000 [r413453-413455]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_confbridge.c, /: app_confbridge: Fixed "CBAnn" channels
	  not going away. Fixed a ref leak in conf_handle_talker_cb()
	  everytime the conference bridge was found to report a channel's
	  talker status change. The resulting leak caused the "CBAnn"
	  channels and the conference bridge to never be destroyed. Thanks
	  to Richard Kenner on the asterisk-user's list for locating the
	  problem. Reported by: Richard Kenner ........ Merged revisions
	  413454 from http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_confbridge.c, /: app_confbridge: Fix ref leak in CLI
	  "confbridge kick" command. Fixed ref leak in the CLI "confbridge
	  kick" command when the channel to be kicked was not in the
	  conference. ........ Merged revisions 413451 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413452 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-07 17:56 +0000 [r413307-413399]  Mark Michelson <mmichelson@digium.com>

	* res/res_config_odbc.c, /: Fix encoding of custom prepare extra
	  data. Patches: res_config_odbc-take2.patch by John Hardin
	  (License #6512) ........ Merged revisions 413396 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413397 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413398 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip/presence_xml.c, /,
	  res/res_pjsip_pidf_digium_body_supplement.c: Improve XML
	  sanitization in NOTIFYs, especially for presence subtypes and
	  messages. Embedded carriage return line feed combinations may
	  appear in presence subtypes and messages since they may be
	  derived from user input in an instant messenger client. As such,
	  they need to be properly escaped so that XML parsers do not vomit
	  when the messages are received. ........ Merged revisions 413372
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_registrar.c, /: Check for an act on failures to
	  update contacts during registration. There was an underlying
	  issue in a realtime backend where database updates would fail.
	  Since we were not checking for failure, we would end up in a
	  strange state where the old database entry was still present but
	  Asterisk thought that it had been updated. Now when an entry
	  fails to update, we print a warning and delete the old contact
	  from sorcery so there is no mismatch between foreground and
	  backend state. Patches: res_pjsip_registrar.patch by John Hardin
	  (License #6512) ........ Merged revisions 413358 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_config_odbc.c, /: Ensure that all parts of SQL UPDATEs
	  and DELETEs are encoded. Patches: res_config_odbc.patch by John
	  Hardin (License #6512) ........ Merged revisions 413304 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413305 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413306 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-02 20:28 +0000 [r413227-413263]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_config_odbc.c: Prevent crashes in res_config_odbc due
	  to uninitialized string fields. Patches: odbc-crash.patch by John
	  Hardin (License #6512) ........ Merged revisions 413241 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413251 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413258 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_config_pgsql.c, /: Return the number of rows affected by
	  a SQL insert, rather than an object ID. The realtime API
	  specifies that the store callback is supposed to return the
	  number of rows affected. res_config_pgsql was instead returning
	  an Oid cast as an int, which during any nominal execution would
	  be cast to 0. Returning 0 when more than 0 rows were inserted
	  causes problems to the function's callers. To give an idea of how
	  strange code can be, this is the necessary code change to fix a
	  device state issue reported against chan_pjsip in Asterisk 12+.
	  The issue was that the registrar would attempt to insert contacts
	  into the database. Because of the 0 return from res_config_pgsql,
	  the registrar would think that the contact was not successfully
	  inserted, even though it actually was. As such, even though the
	  contact was query-able and it was possible to call the endpoint,
	  Asterisk would "think" the endpoint was unregistered, meaning it
	  would report the device state as UNAVAILABLE instead of
	  NOT_INUSE. The necessary fix applies to all versions of Asterisk,
	  so even though the bug reported only applies to Asterisk 12+, the
	  code correction is being inserted into 1.8+. Closes issue
	  ASTERISK-23707 Reported by Mark Michelson ........ Merged
	  revisions 413224 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 413225 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413226 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-02 16:39 +0000 [r413211]  Richard Mudgett <rmudgett@digium.com>

	* UPGRADE.txt, res/res_pjsip_refer.c, /, channels/chan_sip.c:
	  res_pjsip_refer: Add Referred-By header on INVITE for blind
	  transfers. Per rfc3892, the Referred-By header in a REFER must be
	  copied into the referenced request (IE. The outgoing INVITE to
	  the transfer target). * Automatically put the Referred-By header
	  in the outgoing INVITE message if the SIPREFERREDBYHDR channel
	  variable is defined with a value. * Made
	  chan_sip.c:get_refer_info() set SIPREFERREDBYHDR for inheritance
	  so chan_pjsip has a better chance to interoperate. * Fixed
	  refer_blind_callback() and refer_incoming_refer_request() to not
	  modify the data in the pointer returned by
	  pjsip_msg_find_hdr_by_name(). It seems wrong to modify that data
	  since the calling routine doesn't own the buffer. ASTERISK-23501
	  #close Reported by: John Bigelow Review:
	  https://reviewboard.asterisk.org/r/3514/ ........ Merged
	  revisions 413210 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-02 16:06 +0000 [r413197]  Jonathan Rose <jrose@digium.com>

	* res/parking/res_parking.h, /, CHANGES,
	  res/parking/parking_bridge_features.c,
	  res/parking/parking_manager.c: Parking: Add 'AnnounceChannel'
	  argument to manager action 'Park' (closes ASTERISK-23397)
	  Reported by: Denis Review:
	  https://reviewboard.asterisk.org/r/3446/ ........ Merged
	  revisions 413196 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-01 16:21 +0000 [r413174-413183]  Mark Michelson <mmichelson@digium.com>

	* funcs/func_presencestate.c: Make behavior of the PRESENCE_STATE
	  'e' option more consistent. When writing presence state, if 'e'
	  is specified, then the presence state will be stored in the astdb
	  encoded. However, consumers of presence state events or those
	  that query for the presence state will be given decoded
	  information. If base64 encoding is desired for consumers, then
	  the information can be base64-encoded manually and the 'e' option
	  can be omitted. closes issue ASTERISK-23671 Reported by Mark
	  Michelson Review: https://reviewboard.asterisk.org/r/3482

	* res/res_pjsip_exten_state.c, /: Remove unnecessary repetition
	  checks from res_pjsip_exten_state The PBX core already takes care
	  of ensuring that repeated state changes are not communicated to
	  exten state consumers. Because the check in res_pjsip_exten_state
	  was incomplete, it was causing valid presence state changes not
	  to be sent out. For instance, if the presence state did not
	  change but the message or subtype did, then no presence-related
	  NOTIFY request would be sent out. closes issue ASTERISK-23672
	  Reported by Mark Michelson ........ Merged revisions 413173 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-05-01 12:31 +0000 [r413160]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip/config_transport.c, /: res_pjsip: Add the ability
	  to configure ciphers based on name. Previously this code would
	  only accept the OpenSSL identifier instead of the documented
	  name. ASTERISK-23498 #close ASTERISK-23498 #comment Reported by:
	  Anthony Messina Review: https://reviewboard.asterisk.org/r/3491/
	  ........ Merged revisions 413159 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-30 21:03 +0000 [r413144]  Richard Mudgett <rmudgett@digium.com>

	* main/message.c, /, channels/chan_sip.c,
	  include/asterisk/message.h, res/res_pjsip_messaging.c:
	  chan_sip.c: Fixed off-nominal message iterator ref count and
	  alloc fail issues. * Fixed early exit in sip_msg_send() not
	  destroying the message iterator. * Made
	  ast_msg_var_iterator_next() and ast_msg_var_iterator_destroy()
	  tolerant of a NULL iter parameter in case
	  ast_msg_var_iterator_init() fails. * Made
	  ast_msg_var_iterator_destroy() clean up any current message data
	  ref. * Made struct ast_msg_var_iterator,
	  ast_msg_var_iterator_init(), ast_msg_var_iterator_next(),
	  ast_msg_var_unref_current(), and ast_msg_var_iterator_destroy()
	  use iter instead of i. * Eliminated RAII_VAR usage in
	  res_pjsip_messaging.c:vars_to_headers(). ........ Merged
	  revisions 413139 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413142 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-30 20:39 +0000 [r413141]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_pjsip.c: chan_pjsip: Fix deadlock when
	  retrieving call-id of channel. If a task was in-flight which
	  required the channel or bridge lock it was possible for the
	  synchronous task retrieving the call-id to deadlock as it holds
	  those locks. After discussing with Mark Michelson the synchronous
	  task was removed and the call-id accessed directly. This should
	  be safe as each object involved is guaranteed to exist and the
	  call-id will never change. ........ Merged revisions 413140 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-30 13:08 +0000 [r413125]  Kinsey Moore <kmoore@digium.com>

	* res/res_http_websocket.c, /: Websocket: Add session locking and
	  delay close This resolves a race condition where data could be
	  written to a NULL FILE pointer causing a crash as a websocket
	  connection was in the process of shutting down by adding locking
	  to websocket session writes and by deferring session teardown
	  until session destruction. (closes issue ASTERISK-23605) Review:
	  https://reviewboard.asterisk.org/r/3481/ Reported by: Matt Jordan
	  ........ Merged revisions 413123 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413124 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-30 12:42 +0000 [r413118-413122]  Joshua Colp <jcolp@digium.com>

	* /, res/stasis/control.c: res_stasis: Add progress indications to
	  operations which perform media. This change fixes operations
	  which did not account for the fact that they may be executed on
	  channels which have not been answered. These operations will now
	  indicate progress when invoked. ASTERISK-23560 #close
	  ASTERISk-23560 #comment Reported by: Jan Svoboda Review:
	  https://reviewboard.asterisk.org/r/3495/ ........ Merged
	  revisions 413121 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix issue where
	  sending a hold SDP twice could cause an unhold. This change fixes
	  a bug where if an SDP with media address and sendonly was
	  received twice the underlying call would go off hold, instead of
	  remaining on hold. This occured because the code did not properly
	  take into account that the SDP may contain both a valid media
	  address and the sendonly attribute. The code now examines the
	  sendonly attribute and media address first, so if the SDP is
	  received again no change will occur. ASTERISK-23558 #comment
	  Reported by: John Bigelow Review:
	  https://reviewboard.asterisk.org/r/3472/ ........ Merged
	  revisions 413119 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_pjsip.c, res/res_pjsip_session.c, /: chan_pjsip:
	  Add support for picking up calls in the configured pickup group.
	  AST-1363 Review: https://reviewboard.asterisk.org/r/3478/
	  ........ Merged revisions 413117 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-29 15:10 +0000 [r413103]  George Joseph <george.joseph@fairview5.com>

	* /, include/asterisk/spinlock.h: Add "destroy" implementation for
	  spinlock. The original commit for spinlock was missing "destroy"
	  implementations. Most of them are no-ops but phtread_spin and
	  pthread_mutex do need their locks destroyed. ........ Merged
	  revisions 413102 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-29 11:27 +0000 [r413089]  Joshua Colp <jcolp@digium.com>

	* channels/chan_pjsip.c, /: chan_pjsip: Implement core ability to
	  get Call-ID of a channel. This changes implement the
	  "get_pvt_uniqueid" which is used to return the technology
	  specific unique identifier. In the case of SIP this is the
	  Call-ID of the dialog. Review:
	  https://reviewboard.asterisk.org/r/3480/ ........ Merged
	  revisions 413088 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-28 20:07 +0000 [r413074]  Kinsey Moore <kmoore@digium.com>

	* /, main/bridge.c, main/bridge_basic.c: Bridging: Don't lock NULL
	  bridges When bridge locking was added for bridge snapshot
	  creation, some locations where bridge locking was added were not
	  guaranteed to actually have a bridge and locking NULL AO2 objects
	  tends to cause segfaults. This ensures that NULL bridges aren't
	  locked. ........ Merged revisions 413073 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-28 14:40 +0000 [r413060]  Mark Michelson <mmichelson@digium.com>

	* res/res_manager_presencestate.c (added), main/devicestate.c,
	  CHANGES, main/presencestate.c, res/res_manager_devicestate.c
	  (added): Add DeviceStateChanged and PresenceStateChanged AMI
	  events. These events are controlled by two new modules,
	  res_manager_devicestate and res_manager_presencestate. Review:
	  https://reviewboard.asterisk.org/r/3417

2014-04-28 07:43 +0000 [r413048]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* UPGRADE.txt, CHANGES, channels/chan_unistim.c,
	  configs/unistim.conf.sample: Introducing changes proposed to
	  chan_unistim driver: 1) Added the unistim.conf variable
	  dtmf_duration which can select the DTMF playback duration from
	  0ms to 150ms (0 is off and is the new default) 2) Enabled the
	  transmission of month names, which are sent with the date and
	  changed the dateformat variable to accept the values 0-3 as per
	  the UNISTIM standard (2 & 3 match the previous 1 & 2 formats). 3)
	  Enabled the "Mute" packet so muting microphone works as expected
	  and microphone muted for all calls while LED light on 4) Changed
	  Duree to Timer on i2004 display (closes issue ASTERISK-23592)

2014-04-27 19:29 +0000 [r413036]  Olle Johansson <oej@edvina.net>

	* main/tcptls.c: tcptls.c : Log errors as ERROR, not warning or
	  something else.

2014-04-25 19:26 +0000 [r413012]  Matthew Jordan <mjordan@digium.com>

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Add support for DTLS
	  handshake retransmissions On congested networks, it is possible
	  for the DTLS handshake messages to get lost. This patch adds a
	  timer to res_rtp_asterisk that will periodically check to see if
	  the handshake has succeeded. If not, it will retransmit the DTLS
	  handshake. Review: https://reviewboard.asterisk.org/r/3337
	  ASTERISK-23649 #close Reported by: Nitesh Bansal patches:
	  dtls_retransmission.patch uploaded by Nitesh Bansal (License
	  6418) ........ Merged revisions 413008 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 413009 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-24 14:37 +0000 [r412993]  Kevin Harwell <kharwell@digium.com>

	* /,
	  contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py
	  (added): pjsip realtime: increase the size of some columns The
	  string lengths on certain columns created through alembic for
	  PJSIP were too short. For instance, columns containing URIs are
	  currently set to 40 characters, but this can be too small and
	  result in truncated values. Added an alembic migration script
	  that increases the size of these columns and a few others to 255.
	  ASTERISK-23639 #close Reported by: Mark Michelson Review:
	  https://reviewboard.asterisk.org/r/3475/ ........ Merged
	  revisions 412992 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-23 20:13 +0000 [r412977]  George Joseph <george.joseph@fairview5.com>

	* include/asterisk/spinlock.h (added), /, configure,
	  include/asterisk/autoconfig.h.in, configure.ac: This patch adds
	  support for spinlocks in Asterisk. There are cases in Asterisk
	  where it might be desirable to lock a short critical code section
	  but not incur the context switch and yield penalty of a mutex or
	  rwlock. The primary spinlock implementations execute exclusively
	  in userspace and therefore don't incur those penalties. Spinlocks
	  are NOT meant to be a general replacement for mutexes. They
	  should be used only for protecting short blocks of critical code
	  such as simple compares and assignments. Operations that may
	  block, hold a lock, or cause the thread to give up it's timeslice
	  should NEVER be attempted in a spinlock. The first use case for
	  spinlocks is in astobj2 - internal_ao2_ref. Currently the
	  manipulation of the reference counter is done with an
	  ast_atomic_fetchadd_int which works fine. When weak reference
	  containers are introduced however, there's an additional
	  comparison and assignment that'll need to be done while the lock
	  is held. A mutex would be way too expensive here, hence the
	  spinlock. Given that lock contention in this situation would be
	  infrequent, the overhead of the spinlock is only a few more
	  machine instructions than the current ast_atomic_fetchadd_int
	  call. ASTERISK-23553 #close Review:
	  https://reviewboard.asterisk.org/r/3405/ ........ Merged
	  revisions 412976 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-23 18:03 +0000 [r412925]  Richard Mudgett <rmudgett@digium.com>

	* /, main/http.c: http: Fix spurious ERROR message in responses
	  with no content. Backport -r411687 and fix the fix because
	  content_length is the length of out plus the length of the file
	  controlled by fd. When a response has an out content length of 0,
	  fwrite would be called to write a buffer with no data in it. This
	  resulted in the following classic error message: [Apr 3 11:49:17]
	  ERROR[26421] http.c: fwrite() failed: Success This patch makes it
	  so that we only attempt to write the content of out if the out
	  string is non-zero. ........ Merged revisions 412922 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 412923 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412924 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-23 15:02 +0000 [r412910]  Russell Bryant <russell@russellbryant.com>

	* res/res_monitor.c, funcs/func_periodic_hook.exports.in (added),
	  main/asterisk.dynamics, funcs/func_periodic_hook.c: Fix error
	  loading res_monitor. For some odd reason, loading app_mixmonitor
	  was fine, but res_monitor was not. This patch fixes a set of
	  issues related to func_periodic_hook exporting the beep functions
	  that gets res_monitor working again.

2014-04-22 10:09 +0000 [r412883]  Joshua Colp <jcolp@digium.com>

	* /, res/stasis/app.c: res_stasis: Fix crash when handling a failed
	  blind transfer message. This changes fixes a crash that occurs
	  when stasis determines if it should send a message out to an
	  application or not. The code incorrectly assumed that a bridge
	  snapshot would always be present when in reality for failure
	  cases it may not be. ASTERISK-23573 #close ........ Merged
	  revisions 412882 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-21 17:56 +0000 [r412759-412824]  Jonathan Rose <jrose@digium.com>

	* CHANGES, /: chan_sip: trust_id_outbound CHANGES message
	  improvement (closes issue AST-1301) (closes issue ASTERISK-19465)
	  Reported by: Krzysztof Chmielewski ........ Merged revisions
	  412821 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 412822 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412823 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c, configs/sip.conf.sample, CHANGES,
	  channels/sip/include/sip.h: chan_sip: Add sendrpid trust options
	  In r411189, some behavior was changed which made sendrpid
	  behavior act in a more trusting manner by sending full user data
	  for peers set with private caller presence in P-Asserted-Identity
	  headers. Since this changed long time expected behaviors, we
	  decided to pull that patch when that was pointed out by the
	  community. Instead, this patch provides a trust_id_outbound
	  setting which will expose the data per RFC-3325 if set to 'yes'
	  and simply not send the PAI/RPID headers at all if set to 'no'.
	  By default trust_id_outbound will be set to 'legacy' which will
	  preserve the behavior prior to these patches. Extra special
	  thanks to Walter Doekes for providing advice and feedback.
	  (closes issue AST-1301) (closes issue ASTERISK-19465) Reported
	  by: Krzysztof Chmielewski Review:
	  https://reviewboard.asterisk.org/r/3447/ ........ Merged
	  revisions 412744 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 412746 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412747 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-21 16:16 +0000 [r412729-412750]  Kinsey Moore <kmoore@digium.com>

	* main/http.c, main/manager.c, /: HTTP: Add TCP_NODELAY to accepted
	  connections This adds the TCP_NODELAY option to accepted
	  connections on the HTTP server built into Asterisk. This option
	  disables the Nagle algorithm which controls queueing of outbound
	  data and in some cases can cause delays on receipt of response by
	  the client due to how the Nagle algorithm interacts with TCP
	  delayed ACK. This option is already set on all non-HTTP AMI
	  connections and this change would cover standard HTTP requests,
	  manager HTTP connections, and ARI HTTP requests and websockets in
	  Asterisk 12+ along with any future use of the HTTP server.
	  Review: https://reviewboard.asterisk.org/r/3466/ ........ Merged
	  revisions 412745 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 412748 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412749 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_confbridge.c, /: Confbridge: Fix ConfbridgeKick AMI
	  documentation This adds documentation for the "all" channel
	  option for the ConfbridgeKick AMI action and adjusts AMI
	  responses accordingly. (issue ASTERISK-23282) Reported by: Dorian
	  Logan ........ Merged revisions 412730 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/app_confbridge.c: Confbridge: Add references for kick all
	  option After the ability to kick all attendees from a conference
	  was added, a rework removed the comment about that feature from
	  the CLI documentation. This adds that documentation and adds
	  "all" to the participant tab completion list for the confbridge
	  kick command. (closes issue ASTERISK-23282) Reported by: Dorian
	  Logan ........ Merged revisions 412728 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-21 08:36 +0000 [r412714]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* /, channels/chan_unistim.c: Fix wrong dialtone. The "modulation"
	  should not be referenced for tone+tone as it refers to the on-off
	  characteristic - this often resulted in a single tone rather than
	  the multitone as in the UK. ........ Merged revisions 412712 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412713 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-19 02:14 +0000 [r412697-412699]  Matthew Jordan <mjordan@digium.com>

	* /, main/asterisk.c: main/asterisk: Fix startup sequence for
	  realtime features When ASTERISK-23265/ASTERISK-23320 was fixed,
	  it inadvertently led to realtime features breaking. This was due
	  to features loading prior to realtime. This patch fixes this by
	  loading features after loading dynamic modules. ASTERISK-23487
	  #close Reported by: Denis Tested by: Denis ........ Merged
	  revisions 412698 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/app_sms.c: app_sms: Fix uninitialized values; hangup
	  channel when REL is sent successfully This patch fixes two issues
	  in app_sms: (1) Firstly, the 'flags' field on the stack in
	  sms_exec() is uninitialised, causing it to use the wrong protocol
	  in some cases. This patch correctly initializes the flags fields.
	  (2) Secondly, when disconnect supervision is not working or
	  inbanddisconnect=yes is set in chan_dahdi.conf, app_sms was
	  failing to terminate the call after it sent the REL(ease) message
	  and the peer stopped talking to it. This patch fixes the code to
	  handle the 'bad stop bit' message more gracefully in that case,
	  and hang up the call. Review:
	  https://reviewboard.asterisk.org/r/1392/ ASTERISK-18331 #close
	  Reported by: David Woodhouse patches: asterisk-fix-sms.patch
	  uploaded by David Woodhouse (License 5754) ........ Merged
	  revisions 412655 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 412656 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412657 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-18 20:09 +0000 [r412641]  Jonathan Rose <jrose@digium.com>

	* /, res/ari/resource_bridges.h, res/stasis/control.c,
	  include/asterisk/stasis_app.h, res/stasis/control.h,
	  res/ari/resource_channels.c, CHANGES, res/res_stasis.c,
	  rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
	  res/res_ari_bridges.c, res/res_stasis_playback.c: ARI: Make
	  bridges/{bridgeID}/play queue sound files Previously multiple
	  play actions against a bridge at one time would cause the sounds
	  to play simultaneously on the bridge. Now if a sound is already
	  playing, the play action will queue playback to occur after the
	  completion of other sounds currently on the queue. (closes issue
	  ASTERISK-22677) Reported by: John Bigelow Review:
	  https://reviewboard.asterisk.org/r/3379/ ........ Merged
	  revisions 412639 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-18 17:17 +0000 [r412589]  Rusty Newton <rnewton@digium.com>

	* sounds/sounds.xml, sounds/Makefile, /: sounds: Fix Sounds
	  Makefile and XML that didn't support new sound prompt sets In
	  sounds/Makefile 1 Adds and moves some lines necessary for the
	  en_GB core set. I'm just following how the other sets are defined
	  here. 2 removes the ES extra sounds related lines as we don't
	  have ES extra sound sets. In sounds/sounds.xml 3 Adds member
	  definitons for EN_AU, EN_GB, IT for core sound sets, and EN_GB in
	  extra sound sets ASTERISK-23550 #close Review:
	  https://reviewboard.asterisk.org/r/3464/ ........ Merged
	  revisions 412586 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412587 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-18 17:02 +0000 [r412584]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip/location.c: Allow for multiple contacts to be
	  configured in a single contact= line. This is useful for
	  configuring multiple permanent contacts for an AOR when using
	  realtime AORs. Review: https://reviewboard.asterisk.org/r/3462
	  ........ Merged revisions 412582 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-18 16:44 +0000 [r412580-412583]  Richard Mudgett <rmudgett@digium.com>

	* main/dial.c, main/pbx.c, /, apps/app_originate.c,
	  include/asterisk/pbx.h: Originated calls: Fix several originate
	  call problems. * Restore the reason value set by
	  pbx_outgoing_attempt() to use AST_CONTROL_xxx values as all the
	  consumers were expecting rather than cause codes. * Fixed the
	  dial routines to set cause codes for more than just ast_request()
	  so pbx_outgoing_attempt() reason codes will function. * Fix
	  inconsistent locked_channel return status in
	  pbx_outgoing_attempt(). The chanel may not have been locked or
	  the channel may have been a stale pointer. * Fixed the
	  OutgoingSpoolFailed channel to run dialplan whenever the dialing
	  fails for an originate exten and 1 < synchronous. * Fix incorrect
	  ast_cond_wait() usage in pbx_outgoing_attempt(). Indroduced by
	  issue ASTERISK-22212 patch. * Made struct pbx_outgoing use the
	  ao2 lock instead of its own lock for the cond wait mutex. No
	  sense in having two locks associated with the same struct when
	  only one is needed. Review:
	  https://reviewboard.asterisk.org/r/3421/ ........ Merged
	  revisions 412581 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis_channels.c, apps/app_queue.c, apps/app_dial.c, /:
	  app_dial and app_queue: Make lock the forwarding channel while
	  taking the channel snapshot. * Fixed
	  ast_channel_publish_dial_forward() not locking the forwarded
	  channel when taking the channel snapshot. * Fixed
	  app_dial.c:do_forward() using the wrong channel to get the
	  original call forwarding string. * Removed unnecessary locking
	  when calling ast_channel_publish_dial() and
	  ast_channel_publish_dial_forward() in app_dial and app_queue.
	  Holding channel locks when calling
	  ast_channel_publish_dial_forward() with a forwarded channel could
	  result in pausing the system while the stasis bus completes
	  processsing a forwarded channel subscription. Review:
	  https://reviewboard.asterisk.org/r/3451/ ........ Merged
	  revisions 412579 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-18 14:25 +0000 [r412566]  Kinsey Moore <kmoore@digium.com>

	* res/ari/ari_websockets.c, res/res_ari.c, main/manager.c, /: ARI:
	  Add debug logging for events and responses This adds DEBUG level
	  logging for ARI websocket events and HTTP responses similar to
	  what is available for AMI. Logging for ARI HTTP requests is
	  already adequate for debugging purposes. ........ Merged
	  revisions 412565 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-17 22:50 +0000 [r412552]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/location.c, res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
	  res/res_pjsip_registrar.c: res_pjsip: Handle reloading when
	  permanent contacts exist and qualify is configured. This change
	  fixes a problem where permanent contacts being qualified were not
	  being updated. This was caused by the permanent contacts getting
	  a uuid and not a known identifier, causing an inability to look
	  them up when updating in the qualify code. A bug also existed
	  where the new configuration may not be available immediately when
	  updating qualifies. (closes issue ASTERISK-23514) Reported by:
	  Richard Mudgett Review: https://reviewboard.asterisk.org/r/3448/
	  ........ Merged revisions 412551 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-17 22:42 +0000 [r412536-412550]  Jonathan Rose <jrose@digium.com>

	* /, main/app.c: Fix a silly shadowed variable mistake that was
	  missed from play tones patch ........ Merged revisions 412549
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/ari/resource_bridges.h, main/app.c,
	  rest-api/api-docs/channels.json, CHANGES,
	  rest-api/api-docs/bridges.json, res/ari/resource_channels.h,
	  include/asterisk/app.h, res/res_stasis_playback.c: ARI: Add tones
	  playback resource Adds a tones URI type to the playback resource.
	  The tone can be specified by name (from indications.conf) or by a
	  tone pattern. In addition, tonezone can be specified in the URI
	  (by appending ;tonezone=<zone>). Tones must be stopped manually
	  in order for a stasis control to move on from playback of the
	  tone. Tones may be paused, resumed, restarted, and stopped. They
	  may not be rewound or fast forwarded (tones can't be controlled
	  in a way that lets you skip around from note to note and pausing
	  and resuming will also restart the tone from the beginning).
	  Tests are currently in development for this feature
	  (https://reviewboard.asterisk.org/r/3428/). (closes issue
	  ASTERISK-23433) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3427/ ........ Merged
	  revisions 412535 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-17 20:25 +0000 [r412467-412484]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_oss.c, /, main/Makefile: main/Makefile: Fix build
	  failure on SmartOS/Illumos/SunOS This patch fixes two issues when
	  building on SmartOS: - channels/chan_oss.c: it makes sure
	  soundcard.h is found - main/Makefile: only use
	  "-Wl,--version-script" when GNU LD is used as the Sun Linker
	  doesn't support that. Similar checks are already used elswhere in
	  the Makefile Review: https://reviewboard.asterisk.org/r/3426
	  ASTERISK-23576 #close Reported by: Sebastian Wiedenroth patches:
	  fix-sunos.diff uploaded by Sebastian Wiedenroth (License 6597)
	  ........ Merged revisions 412468 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412483 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/sip/include/sip.h, channels/chan_sip.c, CHANGES:
	  chan_sip: Add SIPURIPHONECONTEXT channel variable for Request TEL
	  URIs This patch is a continuation of
	  https://reviewboard.asterisk.org/r/3349/, committed in r412303.
	  It resolves a finding oej had that the phone-context be available
	  in a channel variable separate from SIPDOMAIN. This patch adds
	  that variable as SIPURIPHONECONTEXT. It also allows a local
	  number (or global number specified in the TEL URI) to be used to
	  look up as a peer. (issue ASTERISK-17179) Review:
	  https://reviewboard.asterisk.org/r/3349/

2014-04-17 15:17 +0000 [r412454]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_refer.c, /: res_pjsip_refer: Channel variable
	  SIPREFERTOHDR not being set during blind transfer The
	  SIPREFERTOHDR channel variable is not being set on any channel
	  when performing a blind transfer using PJSIP. The
	  'refer->refer_to' was not being set during a blind transfer.
	  Updated so the 'refer_to' is set to the target uri on a blind
	  transfer. (closes issue ASTERISK-23502) Reported by: John Bigelow
	  Review: https://reviewboard.asterisk.org/r/3445/ ........ Merged
	  revisions 412453 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-16 19:14 +0000 [r412440]  Kinsey Moore <kmoore@digium.com>

	* /, include/asterisk/stasis_app.h: Stasis: Add a usage note on
	  stasis_app_get_bridge This function returns an ast_bridge without
	  a refcount bump and the caller must increment the count if it
	  intends to hold the pointer. (closes issue ASTERISK-23588)
	  Review: https://reviewboard.asterisk.org/r/3450/ Reported by:
	  Matt Jordan ........ Merged revisions 412439 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-15 23:21 +0000 [r412427]  Russell Bryant <russell@russellbryant.com>

	* bridges/bridge_builtin_features.c, include/asterisk/monitor.h,
	  CHANGES, apps/app_queue.c, funcs/func_periodic_hook.c,
	  apps/app_mixmonitor.c, include/asterisk/beep.h (added),
	  res/res_monitor.c: (mix)monitor: Add options to enable a periodic
	  beep Add an option to enable a periodic beep to be played into a
	  call if it is being recorded. If enabled, it uses the
	  PERIODIC_HOOK() function internally to play the 'beep' prompt
	  into the call at a specified interval. This option is provided
	  for both Monitor() and MixMonitor(). Review:
	  https://reviewboard.asterisk.org/r/3424/

2014-04-15 18:30 +0000 [r412384-412414]  Richard Mudgett <rmudgett@digium.com>

	* main/stasis_channels.c, main/features_config.c,
	  res/res_parking.c, main/rtp_engine.c, /: Eliminate some more
	  unnecessary RAII_VAR() uses. RAII_VAR() is not a hammer
	  appropriate to pound all nails. ........ Merged revisions 412413
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis_playback.c, /, res/stasis/app.c, res/res_fax.c,
	  res/res_pjsip/security_events.c,
	  res/parking/parking_applications.c, channels/chan_oss.c,
	  main/stasis_bridges.c, res/res_pjsip_session.c,
	  res/stasis_recording/stored.c, main/cdr.c, res/res_parking.c,
	  channels/chan_skinny.c, res/res_pjsip/location.c,
	  res/res_stasis_recording.c, main/stasis_channels.c,
	  res/ari/resource_channels.c, res/parking/parking_manager.c,
	  res/ari/resource_recordings.c, res/res_pjsip_refer.c,
	  res/res_ari.c, main/pbx.c: Remove unused RAII_VAR() declarations.
	  * Remove unused RAII_VAR() declarations. The compiler cannot
	  catch these because the cleanup function "references" the unused
	  variable. Some actually allocated and released resources that
	  were never used. * Fixed some whitespace issues in
	  stasis_bridges.c. ........ Merged revisions 412399 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/rtp_engine.h, main/rtp_engine.c, /,
	  channels/chan_sip.c: chan_sip.c: Fix channel staging assertion
	  failure. The failing assertion ensures that the final snapshot
	  gets generated so CDR records can get finalized. The only place
	  where a channel staging snapshot flag could be left set is in
	  chan_sip.c:handle_request_bye(). The function could return before
	  clearing the flag because the channel could dissappear while the
	  function had to have the channel unlocked. * Fixed
	  handle_request_bye() channel snapshot staging coverage area to
	  not have a return in the middle of it and be unable to clear the
	  staging flag. * Pushed the channel snapshot staging coverage area
	  into ast_rtp_instance_set_stats_vars() to ensure that the staging
	  is not interrutped. * Made callers of
	  ast_rtp_instance_set_stats_vars() not call it with any channels
	  or channel driver private locks held to eliminate the deadlock
	  potential. The callers must hold references to the passed in
	  channel and rtp objects. * Eliminated sip_hangup() trying to get
	  the bridge peer. It is futile at this point because the channel
	  could never be in a bridge. Review:
	  https://reviewboard.asterisk.org/r/3431/ ........ Merged
	  revisions 412385 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: chan_sip.c: Moved some sip_pvt unrefs
	  after their last use. * Moved sip_pvt unref in ast_hangup() and
	  handle_request_do() to the end of the function. The unref needs
	  to happen after the last use of the pointer. ........ Merged
	  revisions 412348 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412383 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-15 16:13 +0000 [r412331]  Jonathan Rose <jrose@digium.com>

	* configs/sip.conf.sample, /, channels/chan_sip.c: Reverting
	  r411189 so that it can be put up for public review --- r411189 |
	  jrose | 2014-03-26 10:50:48 -0500 (Wed, 26 Mar 2014) | 12 lines
	  chan_sip: Send real CallerID information with
	  P-Assserted-Identity (RFC-3325) Prior to this patch, the
	  P-Asserted-Identity header would include anonymous caller id
	  information which seems to go against the point of the
	  P-Asserted-Identity header. Now the real caller ID information
	  will be included in this header. Also, no privacy header would be
	  included. This patch adds 'Privacy: id' to outgoing SIP messages
	  that include the P-Asserted-Identity header. (closes issue
	  AST-1301) --- ........ Merged revisions 412328 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 412329 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412330 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-14 15:54 +0000 [r412307]  Corey Farrell <git@cfware.com>

	* main/autoservice.c, /: autoservice: fix reference leak of logger
	  callid. autoservice acquires a local reference to the logger
	  callid of each channel in a loop. This local reference was not
	  released, causing the callid of every channel in autoservice to
	  leak. This change moves the callid unref inside the loop.
	  ASTERISK-23616 #close Reported by: ibercom ........ Merged
	  revisions 412305 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412306 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-12 02:27 +0000 [r412292]  Matthew Jordan <mjordan@digium.com>

	* channels/sip/reqresp_parser.c, CHANGES, channels/chan_sip.c:
	  chan_sip: Support RFC-3966 TEL URIs in inbound INVITE requests
	  This patch adds support for handling TEL URIs in inbound INVITE
	  requests. This includes the Request URI and the From URI. The
	  number specified in the Request URI will be the destination of
	  the inbound channel in the dialplan. The phone-context specified
	  in the Request URI will be stored in the TELPHONECONTEXT channel
	  variable. Review: https://reviewboard.asterisk.org/r/3349
	  ASTERISK-17179 #close Reported by: Geert Van Pamel Tested by:
	  Geert Van Pamel patches:
	  asterisk-12.0.0-chan_sip-RFC3966_patch.txt uploaded by Geert Van
	  Pamel (License 6140)
	  asterisk-12.0.0-reqresp_parser-RFC3966_patch.txt uploaded by
	  Geert Van Pamel (License 6140)

2014-04-12 01:35 +0000 [r412279-412280]  Russell Bryant <russell@russellbryant.com>

	* funcs/func_periodic_hook.c: func_periodic_hook: move module ref
	  The previous code left one error path where the module would be
	  unref'd twice instead of once. It was done once in the error
	  handling block, and again inside of datastore destruction. Now
	  the module ref is only released in the datastore destructor and
	  only acquired when the datastore has been successfully allocated.

	* funcs/func_periodic_hook.c: func_periodic_hook: add module ref
	  counting This module lacked necessary module ref count
	  incrementing and decrementing when used. This patch adds it.
	  There's already a datastore used, so doing the ref counting along
	  with the lifetime of the datastore provides a convenient place to
	  do it.

2014-04-11 21:43 +0000 [r412213-412228]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_stack.c, /: app_stack: Add missing unlock in off-nominal
	  path of STACK_PEEK function. ASTERISK-23620 #close Reported by:
	  Bradley Watkins Patches: ASTERISK-23620_unlock_oldlist.patch
	  (license #5021) patch uploaded by Bradley Watkins ........ Merged
	  revisions 412225 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 412226 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412227 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* utils/Makefile, utils: utils dir: Remove no longer needed traces
	  of refcounter except in the clean make target. * Removed no
	  longer needed files from the svn:ignore property to make them
	  visible.

2014-04-11 12:43 +0000 [r412194]  Kinsey Moore <kmoore@digium.com>

	* /, main/bridge.c, main/bridge_basic.c,
	  include/asterisk/stasis_bridges.h, tests/test_cel.c,
	  apps/app_confbridge.c, res/ari/resource_bridges.c: bridging:
	  Ensure locking during snapshot creation While the vast majority
	  of bridge snapshot creation is locked properly, there are
	  currently some instances that are not. This adds the missing
	  locking to ensure bridge state is not malleable during snapshot
	  creation. (closes issue ASTERISK-22904) Review:
	  https://reviewboard.asterisk.org/r/3415/ Reported by: Matt Jordan
	  ........ Merged revisions 412193 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-11 08:28 +0000 [r412168-412180]  Olle Johansson <oej@edvina.net>

	* main/audiohook.c: Formatting: Remove invisible characters

	* main/audiohook.c: Formatting only.

2014-04-11 02:59 +0000 [r412154]  Matthew Jordan <mjordan@digium.com>

	* main/astobj2.c, contrib/scripts/refcounter.py (added),
	  main/asterisk.c, utils/refcounter.c (removed),
	  build_tools/cflags.xml, utils/utils.xml, /, channels/chan_sip.c,
	  channels/sip/security_events.c, include/asterisk/astobj2.h,
	  UPGRADE.txt: main/astobj2: Make REF_DEBUG a menuselect item;
	  improve REF_DEBUG output This patch does the following: (1) It
	  makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables
	  REF_DEBUG globally throughout Asterisk. (2) The ref debug log
	  file is now created in the AST_LOG_DIR directory. Every run will
	  now blow away the previous run (as large ref files sometimes
	  caused issues). We now also no longer open/close the file on each
	  write, instead relying on fflush to make sure data gets written
	  to the file (in case the ao2 call being performed is about to
	  cause a crash) (3) It goes with a comma delineated format for the
	  ref debug file. This makes parsing much easier. This also now
	  includes the thread ID of the thread that caused ref change. (4)
	  A new python script instead for refcounting has been added in the
	  contrib/scripts folder. (5) The old refcounter implementation in
	  utils/ has been removed. Review:
	  https://reviewboard.asterisk.org/r/3377/ ........ Merged
	  revisions 412114 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 412115 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 412153 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-11 01:12 +0000 [r412102]  Russell Bryant <russell@russellbryant.com>

	* res/res_monitor.c: monitor: use app options parsing helper code
	  This app is pretty ancient, so it was never converted to use the
	  option parsing helper code. I'd like to add an option to this app
	  that takes an argument, and that's a pain to do when not using
	  this helper, so start by doing this conversion. Review:
	  https://reviewboard.asterisk.org/r/3429/

2014-04-10 21:28 +0000 [r412089]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_hep_pjsip.c: res_hep_pjsip: Use the channel name
	  instead of the call ID when it is available During discussions
	  with Alexandr Dubovikov at Kamailio World, it became apparent
	  that while the SIP call ID is a useful identifier prior to an
	  Asterisk channel being created, it is far more preferable to use
	  the channel name (or some channel based identifier) when the
	  channel is available. Homer is smart enough to tie the various
	  messages together. This patch opts to use the channel name when
	  it is available, falling back to the call ID otherwise. ........
	  Merged revisions 412088 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-10 21:10 +0000 [r412075]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Set the body
	  generation result to 0 for a valid path The result of the
	  "ast_sip_pubsub_generate_body_content" was not set/initialized.
	  Consequently, the nominal path potentially returned an invalid
	  value, thus not sending mwi notifications. ........ Merged
	  revisions 412074 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-09 21:43 +0000 [r412050]  Mark Michelson <mmichelson@digium.com>

	* /, CHANGES, apps/app_mixmonitor.c: Add a Command header to the
	  AMI Mixmonitor action. This fixes a parsing error that occurred
	  during the processing of the AMI action. The error did not result
	  in MixMonitor itself misbehaving, but it could result in the AMI
	  response not giving correct information back. The new header
	  allows for one to specify a post-process command to run when
	  recording finishes. Previously, in order to do this, the
	  post-process command would have to be placed at the end of the
	  Options: header. Patches: mixmonitor_command_2.patch by jhardin
	  (License #6512) ........ Merged revisions 412048 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-09 18:17 +0000 [r412035]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_stasis_answer.c: res_stasis_answer: Add missing
	  newlines ........ Merged revisions 412034 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-08 21:25 +0000 [r411946-411990]  Richard Mudgett <rmudgett@digium.com>

	* /, main/asterisk.c: Internal timing: Add notice that the -I and
	  internal_timing option are no longer needed. Add notice messages
	  during execution that the -I command line option and the
	  astersik.conf internal_timing option are no longer needed. The
	  internal timing functionality is now always enabled if there is a
	  timing module loaded. NOTE: Since the command line options and
	  the asterisk.conf config file are processed before the logging
	  system is initialized, the messages are output to stderr. Change
	  requested as a result of asterisk-dev list comments about the
	  commit for ASTERISK-22846 that removed the -I and internal_timing
	  options. Review: https://reviewboard.asterisk.org/r/3423/
	  ........ Merged revisions 411964 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411974 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411985 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/config.c, /: config: Fix CB_ADD_LEN() to work as originally
	  intended. Fix a long standing bug in CB_ADD_LEN() behaving like
	  CB_ADD(). ASTERISK-23546 #close Reported by: Walter Doekes
	  ........ Merged revisions 411960 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411961 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411962 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
	  confbridge.conf dsp_talking_threshold option setting wrong
	  parameter. Fixed copy pasta error. ASTERISK-23545 #close Reported
	  by: John Knott ........ Merged revisions 411944 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411945 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-08 14:49 +0000 [r411928]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip.c: res_pjsip: Ignore explicit transport
	  configuration if a WebSocket transport is specified. This change
	  makes it so if a transport is configured on an endpoint that is a
	  WebSocket type the option will be ignored. In practice this is
	  fine because the WebSocket transport can not create outgoing
	  connections, it can only reuse existing ones. By ignoring the
	  option the existing PJSIP logic for using the existing connection
	  will be invoked and stuff will proceed. (closes issue
	  ASTERISK-23584) Reported by: Rusty Newton ........ Merged
	  revisions 411927 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-08 00:26 +0000 [r411897]  Russell Bryant <russell@russellbryant.com>

	* funcs/func_periodic_hook.c: func_periodic_hook: List more modules
	  as dependencies This module makes use of some existing Asterisk
	  components. app_chanspy was already listed as a dependency. There
	  are a few function modules used, as well, so list them.

2014-04-07 20:41 +0000 [r411884]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_pjsip_pubsub.c: PJSIP: Ensure test event has new state
	  The change that fixed the pubsub test event's use of a dangling
	  pointer also changed when it was processed relative to the pjsip
	  subscription state change processing. This change corrects the
	  order of events while holding a reference to the pointer that was
	  previously dangling. ........ Merged revisions 411883 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-07 16:15 +0000 [r411870]  Jonathan Rose <jrose@digium.com>

	* main/manager_channels.c, /: AGI/Manager: Prevent multiple
	  NewExten events during AGI application changes AGI applications
	  would trigger NewExten events every time the state of the AGI
	  application changed. This has historically not been the behavior
	  and this behavior was introduced with a CDR patch. This patch
	  corrects that. (closes issue ASTERISK-23390) Reported by:
	  Benjamin Keith Ford Review:
	  https://reviewboard.asterisk.org/r/3406/ ........ Merged
	  revisions 411868 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-07 14:57 +0000 [r411812]  Walter Doekes <walter+asterisk@wjd.nu>

	* apps/app_queue.c, /: app_queue: Re-add HoldTime to
	  QueueCallerAbandon event (simple typo during ast12 refactor).
	  Reported by: Ibrahim22 (on IRC) Tested by: Ibrahim22 ........
	  Merged revisions 411811 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-07 14:29 +0000 [r411791-411806]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_stasis.c: Stasis: Fix Stasis() bridge refcount issue
	  The Stasis() dialplan application monitors what bridge a channel
	  is in and so necessarily holds on to a bridge pointer. This
	  change ensures that it also holds on to a reference for that
	  bridge to prevent the bridge pointer from becoming a dangling
	  pointer. ........ Merged revisions 411804 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_pubsub.c, /: PJSIP: Fix crash introduced in r411671
	  The test event introduced in revision 411671 uses a dangling
	  pointer to access information about pubsub state changes. This
	  moves the event to within the lifetime of the pointer. ........
	  Merged revisions 411790 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-05 13:06 +0000 [r411768]  Russell Bryant <russell@russellbryant.com>

	* CHANGES, funcs/func_periodic_hook.c (added): func_periodic_hook:
	  New function for periodic hooks. This commit introduces a new
	  dialplan function, PERIODIC_HOOK(). It allows you run to a
	  dialplan hook on a channel periodically. The original use case
	  that inspired this was the ability to play a beep periodically
	  into a call being recorded. The implementation is much more
	  generic though and could be used for many other things. The
	  implementation makes heavy use of existing Asterisk components.
	  It uses a combination of Local channels and ChanSpy() to run some
	  custom dialplan and inject any audio it generates into an active
	  call. The other important bit of the implementation is how it
	  figures out when to trigger the beep playback. This
	  implementation uses the audiohook API, even though it's not
	  actually touching the audio in any way. It's a convenient way to
	  get a callback and check if it's time to kick off another beep.
	  It would be nice if this was timer event based instead of polling
	  based, but unfortunately I don't see a way to do it that won't
	  interfere with other things. Review:
	  https://reviewboard.asterisk.org/r/3362/

2014-04-04 19:19 +0000 [r411702-411724]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/options.h, main/asterisk.c, main/channel.c, /,
	  channels/chan_sip.c, configs/asterisk.conf.sample, UPGRADE.txt,
	  include/asterisk/channel.h, utils/extconf.c: internal_timing:
	  Remove the option and always make it enabled if a timing module
	  is loaded. The masquerade supertest frequently fails because
	  either the local channel chain doesn't completely optimize out or
	  the DTMF handshake doesn't completely get accross. Local channel
	  optimization requires frames flowing to trigger when optimization
	  can happen. When optimization happens the media frame that
	  triggered the optimization is dropped. Sending DTMF requires
	  frames to flow in the other direction for timing purposes while
	  sending nothing. If internal timing is not enabled when MOH is
	  playing, Asterisk switches to received timing when an audio frame
	  is received. With optimization dropping media frames and MOH not
	  sending frames unless it receives frames, occasionaly there are
	  no more frames being passed and the test fails. * The asterisk
	  command line -I option and the asterisk.conf internal_timing
	  option are removed. Asterisk now always uses internal timing when
	  needed if any timing module is loaded. The issue ASTERISK-14861
	  did this quite awhile ago in v1.4 but effectively is broken if
	  other internal timing modules besides DAHDI are used. The
	  ast_read_generator_actions() now only does received timing if it
	  has no choice for frame generators like MOH, silence, and
	  playback streaming. * Cleaned up some code dealing with frame
	  generators in ast_deactivate_generator(),
	  generator_write_format_change(), ast_activate_generator(), and
	  ast_channel_stop_silence_generator(). * Removed
	  ast_internal_timing_enabled(), AST_OPT_FLAG_INTERNAL_TIMING, and
	  ast_opt_internal_timing. ASTERISK-22846 #close Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/3414/ ........
	  Merged revisions 411715 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411716 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411717 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/utils.c, res/res_musiconhold.c, main/channel.c,
	  main/stasis_cache.c, /: Add some asserts that were handy when
	  looking for a stasis cache problem. * Assert if a channel is
	  destroyed but has the snapshot staging flag set. In this case the
	  final channel destruction snapshot would never get taken. *
	  Assert if what we just got out of the stasis cache is not what we
	  were looking for. This assert would have saved several days
	  searching for a bug and a lot of my hair. * Assert if the music
	  on hold message posts could not find the associated channel. A
	  crash will happen later when manager tries to send the MOH AMI
	  message. This assert catches the problem when the stasis message
	  is posted instead of by the thread processing the defective
	  message. * Always generate a backtrace when an ast_assert()
	  fails. Review: https://reviewboard.asterisk.org/r/3411/ ........
	  Merged revisions 411701 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-04 15:13 +0000 [r411688]  Matthew Jordan <mjordan@digium.com>

	* /, main/http.c: http: Fix spurious ERROR message in responses
	  with no content When a response has a content length of 0, fwrite
	  would be called to write a buffer with no data in it. This
	  resulted in the following classic error message: [Apr 3 11:49:17]
	  ERROR[26421] http.c: fwrite() failed: Success This patch makes it
	  so that we only attempt to write out the content if the
	  calculated content_length is non-zero. ........ Merged revisions
	  411687 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-03 12:06 +0000 [r411671]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Add test event for
	  state change This adds a test event when subscription state
	  changes so that integration tests may trigger new actions at the
	  appropriate times. Review:
	  https://reviewboard.asterisk.org/r/3383/ ........ Merged
	  revisions 411670 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-03 11:47 +0000 [r411669]  Matthew Jordan <mjordan@digium.com>

	* res/res_hep.c, /: res_hep: Fix crash when hep.conf not available
	  Parts of res_hep properly checked for a valid configuration
	  object before attempting to access the configuration. A check,
	  however, was missed when a packet is sent. This patch fixes the
	  crash caused by not checking if the configuration object is
	  valid. ........ Merged revisions 411668 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-02 18:57 +0000 [r411656]  Mark Michelson <mmichelson@digium.com>

	* main/sorcery.c, /, res/res_mwi_external.c,
	  res/res_pjsip/config_system.c, configs/sorcery.conf.sample,
	  main/bucket.c, include/asterisk/sorcery.h,
	  res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c,
	  tests/test_sorcery.c, tests/test_sorcery_realtime.c: Prevent
	  duplicate sorcery wizards from being applied to sorcery object
	  types. This commit contains several changes to sorcery: 1)
	  Application of sorcery configuration based on module name is
	  automatically performed when sorcery is opened for a module. 2)
	  Sorcery will not attempt to apply the same wizard to an object
	  type more than once. 3) Sorcery gives more exact results when
	  attempting to apply a wizard, whether as the default or based on
	  configuration. Sorcery unit tests still pass for me after making
	  these changes. Review: https://reviewboard.asterisk.org/r/3326
	  ........ Merged revisions 411159 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-01 22:42 +0000 [r411637-411639]  Richard Mudgett <rmudgett@digium.com>

	* res/parking/parking_bridge.c, /: res_parking: Minor tweaks. * Use
	  ast_bridge_channel_lock()/ast_bridge_channel_unlock() instead of
	  ao2_lock()/ao2_unlock() for struct ast_bridge_channel variables.
	  * Use ast_copy_string() instead of inlining it. * Remove an
	  already done TODO comment. * Some whitespace tweaks. ........
	  Merged revisions 411638 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis_channels.c, /: stasis_channels.c: Eliminate another
	  overuse of RAII_VAR(). ........ Merged revisions 411636 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-04-01 16:52 +0000 [r411587]  Joshua Colp <jcolp@digium.com>

	* /, apps/app_queue.c: app_queue: Fix a bug where realtime members
	  would be deleted during reload causing waiting callers to get
	  ejected. This patch causes realtime queue members to remain in
	  queues during the reload process. Previously these members would
	  be removed causing any waiting callers to be ejected from the
	  queue with a reason of "EXITEMPTY". ASTERISK-23547 #close
	  ASTERISK-23547 #comment Patch
	  app_queue_fix_realtime_reload_1.8_trunk.patch submitted by Italo
	  Rossi (license 6409) Review:
	  https://reviewboard.asterisk.org/r/3404/ ........ Merged
	  revisions 411584 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411585 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411586 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-28 18:32 +0000 [r411556]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/res_hep.h (added), res/res_hep_pjsip.c (added),
	  res/res_hep.exports.in (added), configs/hep.conf.sample (added),
	  CHANGES, res/res_hep.c (added), /: res_hep/res_hep_pjsip: Add a
	  HEPv3 capture agent module and a logger for PJSIP This patch adds
	  the following: (1) A new module, res_hep, which implements a
	  generic packet capture agent for the Homer Encapsulation Protocol
	  (HEP) version 3. Note that this code is based on a patch provided
	  by Alexandr Dubovikov; I basically just wrapped it up, added
	  configuration via the configuration framework, and threw in a
	  taskprocessor. (2) A new module, res_hep_pjsip, which forwards
	  all SIP message traffic that passes through the res_pjsip stack
	  over to res_hep for encapsulation and transmission to a HEPv3
	  capture server. Much thanks to Alexandr for his Asterisk patch
	  for this code and for a *lot* of patience waiting for me to port
	  it to 12/trunk. Due to some dithering on my part, this has taken
	  the better part of a year to port forward (I still blame CDRs for
	  the delay). ASTERISK-23557 #close Review:
	  https://reviewboard.asterisk.org/r/3207/ ........ Merged
	  revisions 411534 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-28 18:00 +0000 [r411533]  Alexandr Anikin <may@telecom-service.ru>

	* addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c,
	  addons/chan_ooh323.c, /, addons/ooh323c/src/oochannels.c,
	  addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c:
	  process stack command even if gatekeeper client isn't register
	  don't destroy gatekeeper client if it is not started don't
	  destroy gatekeeper client in some sort of gatekeeper errors
	  signal rtp create condition when call cleared before rtp
	  structure created (closes issue ASTERISK-23460) Reported by:
	  Dmitry Melekhov Patches: ASTERISK-23460-2.patch Tested by: Dmitry
	  Melekhov ........ Merged revisions 411531 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411532 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-28 17:41 +0000 [r411515-411530]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/channels.json,
	  rest-api/api-docs/recordings.json,
	  rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
	  /, rest-api/api-docs/playbacks.json, UPGRADE.txt,
	  rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
	  include/asterisk/manager.h, rest-api/api-docs/bridges.json,
	  rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/mailboxes.json,
	  rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json: Update API versions and
	  UPGRADE/CHANGES for 12.2.0 This patch does the following: * It
	  updates the AMI version to 2.2.0 to indicate backwards compatible
	  changes have been made since the last release * It updates the
	  ARI version to 1.2.0 to indicate backwards compatible changes
	  have been made since the last release * It updates the
	  UPGRADE/CHANGES files with changes that were not mentioned
	  ........ Merged revisions 411529 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* UPGRADE.txt, res/res_config_odbc.c: res_config_odbc: Fix for
	  nullable integer columns and keyfield existence check in
	  update_odbc. This patch fixes setting nullable integer columns to
	  NULL instead of an empty string, which fails for PostgreSQL, for
	  example. The current code is supposed to do so, but the check is
	  broken. The patch also allows the first column in the list to be
	  a nullable integer. Also, the check for existence of a mandatory
	  column checked for the first column in the list instead of the
	  key field lookup column. This patch fixes that issue as well.
	  Finally, the compatibility option allow_empty_string_in_nontext,
	  which was added to previous revisions to allow for some database
	  backends with certain schemas to function, has been removed.
	  Review: https://reviewboard.asterisk.org/r/3335 ASTERISK-23459
	  #close ASTERISK-23351 #close (closes issue ASTERISK-23459)
	  Reported by: zvision patches: res_config_odbc.diff uploaded by
	  zvision (License 5755)

2014-03-28 16:18 +0000 [r411469]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/tcptls.c, main/manager.c, /, main/http.c: http: response
	  body often missing after specific request This patch works around
	  a problem with the HTTP body being dropped from the response to a
	  specific client and under specific circumstances: a) Client
	  request comes from node.js user agent "Shred" via use of
	  swagger-client library. b) Asterisk and Client are *not* on the
	  same host or TCP/IP stack In testing this problem, it has been
	  determined that the write of the HTTP body is lost, even if the
	  data is written using low level write function. The only solution
	  found is to instruct the TCP stack with the shutdown function to
	  flush the last write and finish the transmission. See review for
	  more details. ASTERISK-23548 #close (closes issue ASTERISK-23548)
	  Reported by: Sam Galarneau Review:
	  https://reviewboard.asterisk.org/r/3402/ ........ Merged
	  revisions 411462 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411463 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411465 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-28 15:48 +0000 [r411375-411460]  Matthew Jordan <mjordan@digium.com>

	* UPGRADE.txt, /: UPGRADE: Note IAX2 compatibility issue between
	  1.4 and 1.8+ systems. ........ Merged revisions 411457 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411458 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411459 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* contrib/realtime/mysql/voicemail_messages.sql (removed),
	  contrib/realtime/postgresql/realtime.sql (removed),
	  contrib/realtime/mysql/voicemail_data.sql (removed),
	  contrib/realtime/mysql/musiconhold.sql (removed),
	  contrib/realtime/mysql/queue_log.sql (removed),
	  contrib/realtime/mysql/voicemail.sql (removed),
	  contrib/realtime/mysql/sippeers.sql (removed), /,
	  contrib/realtime/mysql/iaxfriends.sql (removed),
	  contrib/realtime/mysql/meetme.sql (removed): contrib/realtime:
	  Remove empty SQL script files Since the relatime scripts are now
	  managed by Alembic, the previous realtime scripts were previously
	  removed. However, the removal process messed up, as the files
	  were still in the repository. The contents were just empty. This
	  removes the files from the tree. ........ Merged revisions 411442
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/sip/include/sip.h: chan_sip: Add MESSAGE request to
	  allowed methods The allowed methods advertised by chan_sip did
	  not previously note the MESSAGE request. Even in Asterisk 1.8, we
	  do accept in-dialog MESSAGE requests; we should advertise that we
	  support MESSAGE requests. ASTERISK-23504 #close ASTERISK-23504
	  #comment Reported by: Martin Kontsek ASTERISK-23504 #comment
	  Patch sip.h_patch.diff uploaded by Martin Kontsek (license 6587)
	  Review: https://reviewboard.asterisk.org/r/3396/ ........ Merged
	  revisions 411372 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411373 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411374 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-27 19:21 +0000 [r411312-411328]  Corey Farrell <git@cfware.com>

	* funcs/func_global.c, apps/app_speech_utils.c,
	  apps/confbridge/conf_config_parser.c,
	  funcs/func_callcompletion.c, funcs/func_frame_trace.c,
	  funcs/func_callerid.c, main/message.c, /, res/res_mutestream.c,
	  channels/pjsip/dialplan_functions.c,
	  res/res_pjsip_header_funcs.c, funcs/func_pitchshift.c,
	  funcs/func_groupcount.c, funcs/func_volume.c, funcs/func_odbc.c,
	  funcs/func_channel.c, funcs/func_cdr.c, funcs/func_blacklist.c,
	  apps/app_stack.c, apps/app_voicemail.c, res/res_calendar.c,
	  apps/app_jack.c, funcs/func_dialplan.c, funcs/func_speex.c,
	  channels/chan_sip.c, funcs/func_math.c, funcs/func_strings.c,
	  funcs/func_jitterbuffer.c, res/res_xmpp.c, channels/chan_iax2.c,
	  main/features_config.c, res/res_jabber.c: Fix dialplan function
	  NULL channel safety issues (closes issue ASTERISK-23391) Reported
	  by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3386/ ........ Merged
	  revisions 411313 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411314 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411315 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/format.c, include/asterisk.h, /: main/formats: Fix crash in
	  ast_format_cmp during non-clean shutdown. * Update asterisk.h to
	  reflect availability of ast_register_cleanup in 11.9. * Use
	  ast_register_cleanup for format_attr_shutdown. (closes issue
	  ASTERISK-23103) Reported by: JoshE ........ Merged revisions
	  411310 from http://svn.asterisk.org/svn/asterisk/branches/11
	  ........ Merged revisions 411311 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-27 14:21 +0000 [r411296]  Mark Michelson <mmichelson@digium.com>

	* main/sorcery.c, /: Give sorcery instances a reference to their
	  wizards. On graceful shutdown, sorcery wizards are all killed
	  off, but it is possible for sorcery instances to still have
	  dangling pointers after this, possibly causing a crash. Giving
	  the sorcery instances a reference to their wizards ensures that
	  the wizard reference will remain valid for the lifetime of the
	  sorcery instance. Review: https://reviewboard.asterisk.org/r/3401
	  ........ Merged revisions 411295 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-26 22:45 +0000 [r411246]  Joshua Colp <jcolp@digium.com>

	* /, main/say.c: say: Fix a bug where SayNumber in Polish tries to
	  play incorrect sound. This change fixes a bug where calling
	  SayNumber with a number divisible by 100 using the Polish
	  language would cause the code to attempt to play a sound file
	  with an empty name. (closes issue ASTERISK-23509) Reported by:
	  zvision Review: https://reviewboard.asterisk.org/r/3378/ ........
	  Merged revisions 411243 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411244 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411245 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-26 16:15 +0000 [r411194]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c, configs/sip.conf.sample: chan_sip: Send
	  real CallerID information with P-Assserted-Identity (RFC-3325)
	  Prior too this patch, the P-Asserted-Identity header would
	  include anonymous caller id information which seems to go against
	  the point of the P-Asserted-Identity header. Now the real caller
	  ID information will be included in this header. Also, no privacy
	  header would be included. This patch adds 'Privacy: id' to
	  outgoing SIP messages that include the P-Asserted-Identity
	  header. (closes issue AST-1301) ........ Merged revisions 411189
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 411190 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411193 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-26 16:05 +0000 [r411192]  Richard Mudgett <rmudgett@digium.com>

	* /,
	  contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py:
	  Fix 'alembic branches' merge conflict as described by the web
	  page. ........ Merged revisions 411191 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-25 18:44 +0000 [r411174]  Sean Bright <sean@malleable.com>

	* /, res/ari/config.c: ARI: Don't complain about missing ARI users
	  when we aren't enabled Currently, if ARI is not enabled it will
	  still complain that there are no configured users. This patch
	  checks to see if ARI is enabled before logging and error or
	  iterating the container to validate the users. Review:
	  https://reviewboard.asterisk.org/r/3391/ ........ Merged
	  revisions 411173 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-25 17:40 +0000 [r411158]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
	  res/res_pjsip_messaging.c, res/res_pjsip.c,
	  include/asterisk/res_pjsip.h: Add a "message_context" option for
	  PJSIP endpoints. ........ Merged revisions 411157 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-25 16:57 +0000 [r411142]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
	  include/asterisk/res_pjsip.h, /: res_pjsip: Fix contact
	  authenticate_qualify endpoint lookup when qualifing a contact. *
	  Fixed bad use of ao2_find() in on_endpoint(). * Replaced use of
	  find_endpoints() with find_an_endpoint() since only the first
	  found endpoint is ever needed. * Fixed qualify_contact_cb() to
	  update the contact with the aor authenticate_qualify setting.
	  Otherwise, permanent contacts in the aor type sections would have
	  a config line order dependancy. * Fixed off nominal path contact
	  ref leak in qualify_contact(). The comment saying the unref is
	  not needed was wrong. * Fixed off nominal path use of the
	  endpoint parameter if it is NULL in send_out_of_dialog_request().
	  * Added missing off nominal path unref of pjsip tdata in
	  send_out_of_dialog_request(). * Fixed off nominal path failing to
	  call the callback in send_request_cb() when the request is
	  challenged for authentication. * Eliminated silly RAII_VAR() use
	  in qualify_contact_cb(). * Updated ast_sip_send_request() doxygen
	  to better reflect reality. (closes issue ASTERISK-23254) Reported
	  by: rmudgett Review: https://reviewboard.asterisk.org/r/3381/
	  ........ Merged revisions 411141 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-25 16:06 +0000 [r411092]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c: chan_sip: Fix incorrect use of timers If
	  update_provisional_keepalive() is called while
	  send_provisional_keepalive_full() is waiting on the PVT lock,
	  then pvt->provisional_keepalive_sched_id will be changed to a new
	  sched_id value by update_provisional_keepalive(), but that new
	  sched_id then may be overwritten with -1 by
	  send_provisional_keepalive_full(), killing the pvt's reference to
	  a schedule and "leaking" the reference. (closes issue
	  ASTERISK-22079) Review: https://reviewboard.asterisk.org/r/3368/
	  Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies
	  Patches: provisional_keepalive_fix.diff uploaded by Steve Davies
	  (license 5012) ........ Merged revisions 411088 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411089 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411091 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-25 15:56 +0000 [r411090]  Jonathan Rose <jrose@digium.com>

	* /, res/res_stasis.c: ARI: Resolve a subscription leak against
	  implicit bridge subscriptions When a channel in a stasis
	  application is joined to a bridge, a subscription for that bridge
	  is created implicitly for the stasis application serving the
	  channel. Prior to this patch, subsequent removals of the channel
	  from the bridge would leave the subscription open. Review:
	  https://reviewboard.asterisk.org/r/3380/ ........ Merged
	  revisions 411086 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-25 15:47 +0000 [r411073-411087]  Richard Mudgett <rmudgett@digium.com>

	* utils/conf2ael.c, main/lock.c, utils/ael_main.c: Revert -r411073.
	  It didn't help and blew up the system.

	* utils/ael_main.c, utils/conf2ael.c, main/lock.c: locking: Add
	  temporary sanity checks. Add some temporary sanity checks to hunt
	  for locking problems with the masquerade supertest.

2014-03-24 21:39 +0000 [r411024]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_sip.c: chan_sip: Always use fromdomain if set
	  for domain, even if callerid is set to restricted. (closes issue
	  ASTERISK-20841) Reported by: Kelly Goedert ........ Merged
	  revisions 411021 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411022 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 411023 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-21 16:04 +0000 [r410996]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_pjsip_registrar.c: res_pjsip_registrar.c:
	  Miscellaneous cleanup in rx_task(). * Fix variable shadowing of
	  'updated' by renaming it to 'contact_update'. * Checked
	  'contact_update' for ast_sorcery_copy() failure. * Removed silly
	  use of RAII_VAR() for 'contact_update'. ........ Merged revisions
	  410995 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-21 15:50 +0000 [r410981-410994]  Sean Bright <sean@malleable.com>

	* res/ael/ael.flex, utils/Makefile, pbx/pbx_ael.c,
	  res/ael/ael_lex.c: Make the AEL load process less chatty.
	  Switched a bunch of LOG_NOTICEs to ast_debug. This time without
	  breaking the build.

	* pbx/pbx_ael.c, res/ael/ael_lex.c, res/ael/ael.flex: Revert
	  r410981. aelparse blew up.

	* main/config.c: Remove a LOG_NOTICE from
	  ast_config_engine_register. There is enough indication from the
	  CLI that we are loading a realtime engine as it is.

	* pbx/pbx_ael.c, res/ael/ael_lex.c, res/ael/ael.flex: Make the AEL
	  load process less chatty. Switched a bunch of LOG_NOTICEs to
	  ast_debug.

2014-03-20 23:02 +0000 [r410967]  Jonathan Rose <jrose@digium.com>

	* apps/app_confbridge.c, /: app_confbridge: Fix bug - users with
	  startmuted set don't start muted (closes issue ASTERISK-23461)
	  Reported by: Chico Manobela Review:
	  https://reviewboard.asterisk.org/r/3373/ ........ Merged
	  revisions 410965 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410966 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-20 16:35 +0000 [r410950]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/rtp_engine.h, main/dial.c, main/manager.c, /,
	  main/channel_internal_api.c, main/core_unreal.c,
	  include/asterisk/channel.h, res/ari/resource_channels.c,
	  res/res_stasis_snoop.c: assigned-uniqueids: Miscellaneous cleanup
	  and fixes. * Fix memory leak in ast_unreal_new_channels(). Made
	  it generate the ;2 uniqueid on a stack variable instead of
	  mallocing it. * Made send error response to ARI and AMI requests
	  instead of just logging excessive uniqueid length and allowing
	  truncation. action_originate() and
	  ari_channels_handle_originate_with_id(). * Fixed minor truncating
	  uniqueid hole when generating the ;2 uniqueid string length.
	  Created public and internal lengths of uniqueid. The internal
	  length can handle a max public uniqueid plus an appended ;2. *
	  free() and ast_free() are NULL tolerant so they don't need a NULL
	  test before calling. * Made use better struct initialization
	  format instead of the position dependent initialization format.
	  Also anything not explicitly initialized in the struct is
	  initialized to zero by the compiler. * Made
	  ast_channel_internal_set_fake_ids() use the safer
	  ast_copy_string() instead of strncpy(). Review:
	  https://reviewboard.asterisk.org/r/3371/ ........ Merged
	  revisions 410949 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-19 17:27 +0000 [r410934]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip_endpoint_identifier_ip.c: PJSIP: Allow for
	  identify sections to be specified in sorcery.conf. "identify" is
	  a special type of configuration object in PJSIP because unlike
	  the other objects, it is not provided by the base res_pjsip
	  module. Instead, it is provided by the
	  res_pjsip_endpoint_identifier_ip module. If using the default
	  sorcery wizard (config,criteria=type=identify) then things work
	  because the module that applies the default wizard is the correct
	  module. However, if attempting to use sorcery.conf to apply an
	  alternate wizard, it was not possible. If you attempted to
	  specify the identify object type in the res_pjsip section, then
	  the object could not be registered since the object was
	  undocumented for the res_pjsip module. There was no alternate
	  configuration section defined for it, so you were out of luck if
	  you wanted to override the default wizard. With this change, the
	  identify section will properly have a sorcery.conf-based wizard
	  applied when the identify definition is within the
	  res_pjsip_endpoint_identifier_ip section. ........ Merged
	  revisions 410933 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-19 14:25 +0000 [r410905-410919]  Joshua Colp <jcolp@digium.com>

	* res/res_stasis.c, /: res_stasis: Fix a bug where the default
	  bridge type was not set. ........ Merged revisions 410918 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* CHANGES, res/res_stasis.c, rest-api/api-docs/bridges.json, /,
	  res/ari/resource_bridges.h: res_stasis: Extend bridge type to be
	  a comma separated list of bridge attributes. This change turns
	  the bridge type field into a comma separated list of attributes.
	  These attributes include: mixing, holding, dtmf_events, and
	  proxy_media. By setting the various attributes a user can control
	  the type of bridge created with the behavior they need for their
	  application. (closes issue ASTERISK-23437) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/3359/ ........
	  Merged revisions 410904 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-19 02:33 +0000 [r410891]  Matthew Jordan <mjordan@digium.com>

	* res/res_ari.c, /: res_ari: Fix documentation schema error
	  ........ Merged revisions 410890 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-18 23:32 +0000 [r410877]  Rusty Newton <rnewton@digium.com>

	* res/res_ari.c, /: res_ari: Add notes about Asterisk HTTP server
	  to the "enabled" config option for the res_ari general section
	  Added note and see-also reminding user to enable the HTTP server.
	  (closes issue ASTERISK-22499) Reported by: Rusty Newton ........
	  Merged revisions 410876 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-18 15:45 +0000 [r410863]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, main/http.c: ARI: allow json content type with zero length
	  body When a request was received with a Content-type of json, the
	  body was sent for json parsing - even if it was zero length. This
	  resulted in ARI requests failing that were valid, such as a
	  channel DELETE with no parameters. The code has now been changed
	  to skip json parsing with zero content length. (closes issue
	  SWP-6748) Reported by: Samuel Galarneau Review:
	  https://reviewboard.asterisk.org/r/3360/ ........ Merged
	  revisions 410858 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-18 15:28 +0000 [r410862]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c, /: cdr: Add asserts for when we don't know about a
	  CDR for a channel In the CDR core, every channel should either be
	  filtered out (due to being an 'internal' channel used as an
	  implementation detail, such as playing media back into a bridge)
	  or it should get a CDR. Even if that CDR ends up being discarded,
	  we still give the channel a CDR in case we end up needing it. If
	  we hit a situation where a channel does not have a CDR, we should
	  blow up in -dev-mode. Asserts are appropriate for that. This
	  patch adds those asserts, as they would have quickly caught the
	  error fixed by r410814. ........ Merged revisions 410861 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-18 12:45 +0000 [r410845]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/config_system.c: res_pjsip: Fix memory leak of
	  nameservers in off-nominal resolver creation failure. Thanks
	  Walter Doekes! ........ Merged revisions 410844 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-18 11:52 +0000 [r410831]  Sean Bright <sean@malleable.com>

	* res/res_fax_spandsp.c, /: res_fax_spandsp: Use g711_free() when
	  available. Per Johann Steinwendtner on the asterisk-dev mailing
	  list:
	  http://lists.digium.com/pipermail/asterisk-dev/2014-March/066102.html
	  g711_free() was introduced in spandsp 0.0.6pre4 and
	  g711_release() became a noop. I opted not to remove the call to
	  g711_release() since it is harmless and to call g711_free() if we
	  have a sufficiently recent version of spandsp. (issue
	  ASTERISK-20149) Reported by: Alexandr Gordeev ........ Merged
	  revisions 410829 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410830 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-18 02:09 +0000 [r410814]  Richard Mudgett <rmudgett@digium.com>

	* main/stasis_cache.c, /: stasis_cache: Use the right variable in
	  the cache entry ao2 cmp function. ........ Merged revisions
	  410813 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-17 22:54 +0000 [r410794-410796]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/dns.h, CHANGES,
	  res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
	  main/dns.c, /, res/res_pjsip/config_system.c: res_pjsip: Enable
	  PJSIP DNS client support. This change enables DNS client support
	  within PJSIP. System nameservers are automatically discovered
	  using res_init or res_ninit. If this fails then PJSIP will resort
	  to using gethostbyname for resolution. By enabling this support
	  we gain SRV support, failover, and weight support. (closes issue
	  ASTERISK-23435) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3343/ ........ Merged
	  revisions 410795 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Make address
	  replacement less aggressive. This change makes the
	  res_pjsip_multihomed module less aggressive when changing the
	  address in messages. It will now only occur if the transport in
	  use is bound to the any address OR if the system determined
	  source address matches the bound address of the transport in use.
	  Review: https://reviewboard.asterisk.org/r/3369/ ........ Merged
	  revisions 410793 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-17 22:24 +0000 [r410775]  Russ Meyerriecks <rmeyerreicks@digium.com>

	* /, main/callerid.c: callerid: Logic error in checksum processing
	  Callerid checksum-ing was being handled incorrectly here. When
	  the checksum is calculated to be 0x00, it will perform 0x100-0x00
	  which results in 0x100. This value will then fail the otherwise
	  correct callerid message. This patch changes the logic to simply
	  add the calculated checksum to the transmitted 2's compliment
	  checksum. Review: https://reviewboard.asterisk.org/r/3356/
	  (closes issue ASTERISK-23488) ........ This is a merge of merged
	  revisions 410750 410747 from
	  http://svn.asterisk.org/svn/asterisk/branches/12 I didn't want a
	  broken patch to be comitted to trunk so I pre-merge merged them.

2014-03-17 19:35 +0000 [r410684-410699]  Mark Michelson <mmichelson@digium.com>

	* res/res_mwi_external.c, res/res_pjsip/config_system.c,
	  configs/sorcery.conf.sample, include/asterisk/sorcery.h,
	  res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c,
	  tests/test_sorcery.c, tests/test_sorcery_realtime.c,
	  main/sorcery.c, /: Revert changes to sorcery that accidentally
	  got committed. These changes were still up for review and have
	  not been approved yet. I must have had the changes in my working
	  copy when making a different change. ........ Merged revisions
	  410696 from http://svn.asterisk.org/svn/asterisk/branches/12

	* bridges/bridge_softmix.c, tests/test_sorcery.c, main/channel.c,
	  res/res_pjsip/config_system.c, res/res_mwi_external.c,
	  include/asterisk/bridge_channel.h, funcs/func_frame_trace.c,
	  configs/sorcery.conf.sample, res/res_pjsip/pjsip_configuration.c,
	  include/asterisk/sorcery.h, tests/test_sorcery_astdb.c,
	  include/asterisk/frame.h, main/bridge_channel.c,
	  tests/test_sorcery_realtime.c, main/sorcery.c,
	  res/res_stasis_playback.c, main/frame.c, /: Fix stuck channel in
	  ARI through the introduction of synchronous bridge actions.
	  Playing back a file to a channel in an ARI bridge would attempt
	  to wait until the playback concluded before returning. The method
	  used involved signaling the waiting thread in the ARI custom
	  playback function. The problem with this is that there were some
	  corner cases that were not accounted for: * If a bridge channel
	  could not be found, then we never would attempt the playback but
	  would still attempt to wait for the playback to complete. * If
	  the bridge playfile action failed to queue, we would still
	  attempt to wait for the playback to complete. * If the bridge
	  playfile action were queued but some circumstance caused the
	  playback not to occur (the bridge dies, the channel is removed
	  from the bridge), then we would never be notified. The solution
	  to this is to move the waiting logic into the bridge code. A new
	  bridge API function is added to queue a synchronous action on a
	  bridge. The waiting thread is notified when the queued frame has
	  been freed, either due to an error occurring or due to successful
	  playback. As a failsafe, the waiting thread has a 10 minute
	  timeout just in case there is a frame leak somewhere. Review:
	  https://reviewboard.asterisk.org/r/3338 ........ Merged revisions
	  410673 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-17 16:48 +0000 [r410672]  Richard Mudgett <rmudgett@digium.com>

	* /, apps/confbridge/conf_chan_announce.c: app_confbridge: Add
	  missing destructor call to announcer channel destructor. ........
	  Merged revisions 410671 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-16 20:27 +0000 [r410651]  Matthew Jordan <mjordan@digium.com>

	* /, res/stasis/app.c: stasis/app.c: Add some extra debugging for
	  subscription counts Events are sent to a connected ARI
	  application based on the things that ARI application cares about.
	  These subscriptions can be set up implicitly - such as when that
	  ARI application creates a new object - or explicitly, via the
	  application resource's subscription operations. Debugging *why*
	  something was being sent to an application - or why something was
	  not being sent to an application - was a bit tricky, as there was
	  no debug information for the subscriptions. This patch adds some
	  debug level 3 statements that show the subscription counts for
	  applications. (Level 3 was chosen as it matches the verbose level
	  3 statements elsewhere) ........ Merged revisions 410650 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-15 15:24 +0000 [r410639]  Russell Bryant <russell@russellbryant.com>

	* include/asterisk/framehook.h: framehook.h: Fix some doc typos.
	  There were a number of instances in this header file where
	  "function all" was intended to be "function call". This patch
	  fixes that up.

2014-03-14 21:56 +0000 [r410626]  Mark Michelson <mmichelson@digium.com>

	* /, tests/test_sorcery_realtime.c: Fix failing realtime sorcery
	  tests. The store realtime callback needs to return a positive
	  value for sorcery to treat the store as a success. ........
	  Merged revisions 410625 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-14 21:36 +0000 [r410624]  Jonathan Rose <jrose@digium.com>

	* main/manager.c, /: manager: fix memory leak in manager_add_filter
	  function (closes issue ASTERISK-23420) Reported by: Etienne
	  Lessard Patches: manager_eventfilter_leak uploaded by Etienne
	  Lessard (license 6394) ........ Merged revisions 410609 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410623 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-14 20:55 +0000 [r410591-410608]  Mark Michelson <mmichelson@digium.com>

	* /, main/db.c: Remove an extra ast_cond_wait() that slipped
	  through the patch. ........ Merged revisions 410606 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410607 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/config.c, res/res_sorcery_realtime.c: Handle the return
	  values of realtime updates and stores more accurately. Realtime
	  backends' update and store callbacks return the number of rows
	  affected, or -1 if there was a failure. There were a couple of
	  issues: * The config API was treating 0 as a successful return,
	  and positive values as a failure. Now the config API treats
	  anything >= 0 as a success. * res_sorcery_realtime was treating 0
	  as a successful return from the store procedure, and any positive
	  values as a failure. Now sorcery treats anything > 0 as a
	  success. It still considers 0 a "failure" since there is no
	  change to report to observers. Review:
	  https://reviewboard.asterisk.org/r/3341 ........ Merged revisions
	  410592 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_mwi.c: Prevent conflicts regarding unsolicited
	  and solicited MWI to an endpoint. If an endpoint is receiving
	  unsolicited MWI for a mailbox and then attempts to subscribe to
	  an AOR that provides MWI for the same mailbox, then the SUBSCRIBE
	  is rejected with a 500 response. Review:
	  https://reviewboard.asterisk.org/r/3345 ........ Merged revisions
	  410590 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-14 17:56 +0000 [r410589]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, CHANGES: uniqueid: Update CHANGES to reflect new features Note
	  the new features provided by uniqueid in the CHANGES file. (issue
	  ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3316/
	  ........ Merged revisions 410588 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-14 16:42 +0000 [r410575]  Jonathan Rose <jrose@digium.com>

	* /, main/acl.c, res/res_pjsip/pjsip_configuration.c,
	  contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py,
	  CHANGES, res/res_pjsip/config_transport.c,
	  include/asterisk/acl.h: PJSIP: TOS values should be represented
	  as decimals in sorcery objects (closes issue ASTERISK-23235)
	  Reported by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3324/ ........ Merged
	  revisions 410574 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-14 16:19 +0000 [r410567]  Mark Michelson <mmichelson@digium.com>

	* /, main/db.c: Prevent delayed astdb syncs. The syncing thread
	  sleeps for a second before waiting to be told to attempt to sync
	  again. If a signal were sent during this sleeping period, we
	  would end up having to wait until the next sync signal occurred
	  in order to sync up the astdb. This code rearrangement also
	  ensures that any pending transactions will be synced prior to
	  Asterisk shutting down. Patches: db_sync.patch by John Hardin
	  (License #6512) ........ Merged revisions 410556 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410559 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-14 16:17 +0000 [r410560]  Jonathan Rose <jrose@digium.com>

	* res/ari/resource_bridges.c, /: ARI/bridges: Forward
	  Playback/Recording Started/Finished to bridge topic (closes issue
	  ASTERISK-23444) Reported by: Ben Merrills Review:
	  https://reviewboard.asterisk.org/r/3340/ ........ Merged
	  revisions 410558 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-14 16:01 +0000 [r410542-410557]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/app.h, /, res/res_mwi_external.c, main/app.c:
	  res_mwi_external: Clear the stasis cache entry when the external
	  MWI is deleted. One of the things missing when external MWI
	  support was added was the ability to clear the stasis cache entry
	  of deleted external MWI mailboxes. Review:
	  https://reviewboard.asterisk.org/r/3325/ ........ Merged
	  revisions 410555 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/cdr.c: cdr.c: Add missing aow_unlock(cdr) in off nominal
	  path of handle_dial_message(). * Trivial common code hoisting in
	  handle_bridge_leave_message(). * Some whitespace fixing. ........
	  Merged revisions 410541 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-13 19:33 +0000 [r410528]  Kinsey Moore <kmoore@digium.com>

	* res/stasis/control.h, res/res_stasis.c, /, res/stasis/control.c:
	  ARI: Ensure managing application receives ChannelEnteredBridge
	  messages This fixes an issue where a Stasis application running
	  over ARI and subscribed to ari/events could miss the
	  ChannelEnteredBridge event because it did not subscribe to the
	  new bridge fast enough. To accomplish this, it subscribes the
	  application controlling the channel to the new bridge before
	  adding it to that bridge which required the stasis_app_control
	  structure to maintain a reference to the stasis_app. (closes
	  issue ASTERISK-23295) Review:
	  https://reviewboard.asterisk.org/r/3336/ ........ Merged
	  revisions 410527 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-13 13:25 +0000 [r410511]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_multihomed.c, /: Multiple revisions 410509-410510
	  ........ r410509 | file | 2014-03-13 06:23:14 -0700 (Thu, 13 Mar
	  2014) | 2 lines res_pjsip_multihomed: Fix a bug where the 200 OK
	  for a REGISTER would contain the wrong contact. ........ r410510
	  | file | 2014-03-13 06:24:17 -0700 (Thu, 13 Mar 2014) | 2 lines
	  res_pjsip_multihomed: Remove change for testing fix. ........
	  Merged revisions 410509-410510 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-12 19:06 +0000 [r410492-410494]  Richard Mudgett <rmudgett@digium.com>

	* res/res_musiconhold.c, main/channel.c, /: res_musiconhold.c:
	  Generate MOH start/stop events whenever the MOH stream is
	  started/stopped. * Made res_musiconhold.c always post the
	  MusicOnHoldStart/MusicOnHoldStop events when it actually
	  starts/stops the music streams. This allows the events to always
	  happen when MOH starts/stops. The event posting code was moved to
	  the MOH alloc/release routines. * Made channel_do_masquerade()
	  stop any MOH on the original channel before masquerading so the
	  original channel will get a stop event with correct information.
	  * Cleaned up a couple odd codings in moh_files_alloc() and
	  moh_alloc() dealing with the music state variable. (issue
	  ASTERISK-23311) Reported by: Benjamin Keith Ford Review:
	  https://reviewboard.asterisk.org/r/3306/ ........ Merged
	  revisions 410493 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/confbridge/conf_state.c,
	  apps/confbridge/conf_state_single.c,
	  apps/confbridge/conf_state_inactive.c,
	  apps/confbridge/conf_state_single_marked.c, /: app_confbridge:
	  Make explicitly stop MOH if a user is kicked or hangs up while
	  MOH is playing. When MOH is playing to a user in a conference and
	  the user is kicked or hangs up from the conference then the AMI
	  MusicOnHoldStop events didn't happen. (Asterisk v11 AMI event:
	  MusicOnHold, state:Stop) (closes issue ASTERISK-23311) Reported
	  by: Benjamin Keith Ford Review:
	  https://reviewboard.asterisk.org/r/3306/ ........ Merged
	  revisions 410490 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410491 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-12 12:51 +0000 [r410452-410472]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Fix a bug
	  where outgoing messages for TCP would go out using UDP. This
	  change fixes a bug where the code which changes the transport did
	  not check whether the message is going out over UDP or not before
	  changing it. For TCP and TLS transports we don't need to change
	  the transport as the correct one is already chosen. ........
	  Merged revisions 410471 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_multihomed.c (added), /: res_pjsip_multihomed: Add
	  module which places the correct address within messages. Due to
	  how messages are handled within PJSIP it is not until a message
	  is actually sent that the destination is reliably known. This
	  means that the addresses placed within the message may not be of
	  the interface the message is being sent out on. This module
	  determines what interface a message is being sent on and updates
	  the message to contain the correct address if applicable. This
	  module was tested by myself in a virtualized environment with
	  multiple interfaces and also by Kinsey Moore in the following
	  configuration: Networks: * 10.24.16.0/21 ** hard phone ** default
	  gateway * 10.24.64.0/21 ** softphone with pjsip-based stack
	  Transport details: bind address: 0.0.0.0 protocol: UDP All
	  endpoints were tested with explicitly configured transports and
	  unconfigured transports. This was tested with inbound and
	  outbound calls, both of which were experiencing detrimental
	  effects from incorrect IP addresses in SIP messages. These
	  effects were only experienced by the soft phone on the 10.24.64.0
	  network since the messages to the hard phone on the 10.24.16.0
	  network had the correct IP address. (closes issue ASTERISK-23020)
	  Reported by: xrobau Review:
	  https://reviewboard.asterisk.org/r/3102/ ........ Merged
	  revisions 410451 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-10 17:21 +0000 [r410395]  Richard Mudgett <rmudgett@digium.com>

	* /, main/http.c: AST-2014-001: Stack overflow in HTTP processing
	  of Cookie headers. Sending a HTTP request that is handled by
	  Asterisk with a large number of Cookie headers could overflow the
	  stack. Another vulnerability along similar lines is any HTTP
	  request with a ridiculous number of headers in the request could
	  exhaust system memory. (closes issue ASTERISK-23340) Reported by:
	  Lucas Molas, researcher at Programa STIC, Fundacion; and Dr.
	  Manuel Sadosky, Buenos Aires, Argentina ........ Merged revisions
	  410380 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 410381 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410383 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-10 16:33 +0000 [r410369]  Scott Griepentrog <sgriepentrog@digium.com>

	* res/ari/resource_channels.c, main/manager.c, /: unqiueid: correct
	  max uniqueid length test This patch adds null string test prior
	  to checking for a max uniqueid value that was added in r410157.
	  ........ Merged revisions 410368 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-10 13:30 +0000 [r410346]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c: AST-2014-002: chan_sip: Exit early on bad
	  session timers request This change allows chan_sip to avoid
	  creation of the channel and consumption of associated file
	  descriptors altogether if the inbound request is going to be
	  rejected anyway. (closes issue ASTERISK-23373) Reported by: Corey
	  Farrell Patches: chan_sip-earlier-st-1.8.patch uploaded by Corey
	  Farrell (license 5909) chan_sip-earlier-st-11.patch uploaded by
	  Corey Farrell (license 5909) ........ Merged revisions 410308
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 410311 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410329 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-10 12:53 +0000 [r410307]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/pjsip_options.c, res/res_pjsip.c: AST-2014-003:
	  res_pjsip: When handling 401/407 responses don't assume a request
	  will have an endpoint. This change removes the assumption that an
	  outgoing request will always have an endpoint and makes the
	  authenticate_qualify option work once again. (closes issue
	  ASTERISK-23210) Reported by: Joshua Colp ........ Merged
	  revisions 410306 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-08 16:50 +0000 [r410288]  George Joseph <george.joseph@fairview5.com>

	* res/res_pjsip/config_auth.c, /, res/res_pjsip/location.c,
	  res/res_pjsip_outbound_registration.c,
	  res/res_pjsip_endpoint_identifier_ip.c,
	  include/asterisk/res_pjsip_cli.h, include/asterisk/sorcery.h,
	  res/res_pjsip/pjsip_cli.c, res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/config_transport.c, main/sorcery.c,
	  include/asterisk/res_pjsip.h: pjsip_cli: Create pjsip show
	  channel and contact, and general cli code cleanup. Created the
	  'pjsip show channel' and 'pjsip show contact' commands.
	  Refactored out the hated ast_hashtab. Replaced with
	  ao2_container. Cleaned up function naming. Internal only, no
	  public name changes. Cleaned up whitespace and brace formatting
	  in cli code. Changed some NULL checking from "if"s to
	  ast_asserts. Fixed some register/unregister ordering to reduce
	  deadlock potential. Fixed ast_sip_location_add_contact where the
	  'name' buffer was too short. Fixed some self-assignment issues in
	  res_pjsip_outbound_registration. (closes issue ASTERISK-23276)
	  Review: http://reviewboard.asterisk.org/r/3283/ ........ Merged
	  revisions 410287 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-08 15:45 +0000 [r410275]  Matthew Jordan <mjordan@digium.com>

	* /, res/ari/resource_channels.c: resource_channels: Check if a
	  passed in ID is NULL before checking its length Calling strlen on
	  a NULL string is explosive. This patch checks whether or not the
	  passed in string is NULL or zero length before checking to see if
	  the string is too long. ........ Merged revisions 410274 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 22:56 +0000 [r410227]  Corey Farrell <git@cfware.com>

	* /, channels/chan_sip.c: chan_sip: Fix deadlock of monlock between
	  unload_module and do_monitor Release monlock before calling
	  pthread_join. This ensures do_monitor cannot freeze by locking
	  monlock during module unload. (closes issue ASTERISK-21406)
	  Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3284/ ........ Merged
	  revisions 410224 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 410225 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410226 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 22:08 +0000 [r410212]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, include/asterisk/sorcery.h: sorcery: correct field register
	  argument list This fixes mistakes I previously made in merging
	  gtjoseph's changes with mine. ........ Merged revisions 410211
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 21:54 +0000 [r410208-410210]  Matthew Jordan <mjordan@digium.com>

	* /, main/config_options.c: config_options: Display the see-also
	  information for CLI config option help The config option help
	  information has always parsed the <see-also> tags in the XML
	  documentation. Unfortunately, it just never bothered displaying
	  them on the CLI. With this patch, when you execute 'config show
	  help [module] [obj] [option]', it will display what other options
	  are useful to you. (closes issue ASTERISK-22008) Reported by:
	  Richard Mudgett ........ Merged revisions 410209 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip.c, /: res_pjsip: Fix documentation for one touch
	  recording see-also links The one touch recording options have
	  several see-also links between the various configuration options.
	  These were 'broken' by the snake casing of those options. This
	  patch corrects the see-also links such that they reference the
	  correct option names. ........ Merged revisions 410194 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 21:23 +0000 [r410207]  Mark Michelson <mmichelson@digium.com>

	* main/sorcery.c, res/res_sorcery_realtime.c, /,
	  include/asterisk/sorcery.h, tests/test_sorcery_realtime.c: Make
	  res_sorcery_realtime filter unknown retrieved results. When
	  retrieving data from a database or other realtime backend, it's
	  quite possible to retrieve variables that Asterisk does not care
	  about but that are legitimate to exist. Asterisk does not need to
	  throw a hissy fit when these variables are encountered but rather
	  just filter them out. Review:
	  https://reviewboard.asterisk.org/r/3305 ........ Merged revisions
	  410187 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 21:11 +0000 [r410191]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/sorcery.c, /, include/asterisk/sorcery.h,
	  res/res_pjsip/pjsip_configuration.c: pjsip: allow and disallow
	  show same codecs In order to prevent confusion over the allow and
	  disallow list of codecs being the same an option for registering
	  a field as an alias is added. The alias field will be read from
	  the configuration file, but afterwards is not listed as a known
	  field. With disallow set as an alias, the CLI command pjsip show
	  endpoint # will list the allow= field, but not the disallow
	  field. (closes issue ASTERISK-23092) Review:
	  https://reviewboard.asterisk.org/r/3193/ ........ Merged
	  revisions 410190 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 20:41 +0000 [r410174-410185]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/devicestate.h, main/stasis_cache.c,
	  main/stasis_message.c, /, tests/test_devicestate.c,
	  include/asterisk/stasis.h, main/app.c, main/devicestate.c,
	  tests/test_stasis.c: stasis cache: Enhance to keep track of an
	  item from different entities. A stasis cache entry now contains
	  more than a single message/snapshot. It contains
	  messages/snapshots for the local entity as well as any remote
	  entities that post to the cached item. In addition callbacks can
	  be supplied when the cache is created to compute and post the
	  aggregate message/snapshot representing all entities stored in
	  the cache entry. * All stasis messages now have an eid to
	  indicate what entity posted it. * The stasis cache enhancements
	  allow device state to cache and aggregate the device states from
	  local and remote entities in a single operation. The cached
	  aggregate device state is available immediately after it is
	  posted to the stasis bus. This improves performance by
	  eliminating a cache dump and associated ao2 container traversals
	  to calculate the aggregate state. (closes issue ASTERISK-23204)
	  Reported by: Mark Michelson Review:
	  https://reviewboard.asterisk.org/r/3281/ ........ Merged
	  revisions 410184 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* tests/test_cel.c, channels/sig_pri.c, channels/sig_ss7.c,
	  include/asterisk/bridge.h, tests/test_cdr.c, channels/sig_pri.h,
	  channels/chan_dahdi.c, channels/sig_ss7.h, /: uniqueid: Fix
	  chan_dahdi, sig_pri, sig_ss7, test_cdr, and test_cel compiler
	  errors. (issue ASTERISK-23120) ........ Merged revisions 410171
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 15:47 +0000 [r410158]  Scott Griepentrog <sgriepentrog@digium.com>

	* tests/test_cdr.c, res/res_clioriginate.c, res/res_ari_bridges.c,
	  tests/test_substitution.c, res/res_stasis_playback.c,
	  channels/chan_multicast_rtp.c, apps/app_meetme.c, /,
	  main/bridge_basic.c, include/asterisk/channel_internal.h,
	  tests/test_app.c, apps/confbridge/conf_chan_record.c,
	  main/core_unreal.c, channels/chan_gtalk.c,
	  include/asterisk/stasis_app_playback.h,
	  res/ari/resource_bridges.c, channels/chan_jingle.c,
	  channels/chan_phone.c, pbx/pbx_spool.c,
	  res/ari/resource_bridges.h, res/parking/parking_tests.c,
	  channels/chan_motif.c, apps/app_confbridge.c,
	  res/ari/resource_channels.c, include/asterisk/pbx.h,
	  res/res_stasis.c, include/asterisk/bridge.h,
	  apps/app_voicemail.c, res/ari/resource_channels.h,
	  apps/app_dial.c, res/res_calendar_exchange.c,
	  channels/chan_vpb.cc, apps/app_page.c, apps/app_chanisavail.c,
	  include/asterisk/dial.h, main/core_local.c,
	  res/parking/parking_bridge_features.c,
	  tests/test_stasis_endpoints.c, res/parking/parking_bridge.c,
	  channels/chan_skinny.c, include/asterisk/stasis_app_snoop.h,
	  addons/chan_mobile.c, main/bridge_channel.c,
	  channels/chan_pjsip.c, channels/chan_mgcp.c,
	  channels/chan_unistim.c, main/pbx.c,
	  res/res_calendar_icalendar.c, main/ccss.c,
	  channels/chan_bridge_media.c, main/bridge.c,
	  tests/test_stasis_channels.c, apps/app_bridgewait.c,
	  apps/app_originate.c, res/res_calendar_caldav.c,
	  include/asterisk/channel.h, res/parking/parking_applications.c,
	  apps/app_followme.c, main/cel.c, apps/app_queue.c,
	  res/res_ari_channels.c, res/res_calendar_ews.c,
	  rest-api/api-docs/bridges.json, main/dial.c,
	  channels/chan_dahdi.c, channels/chan_h323.c, tests/test_cel.c,
	  rest-api/api-docs/channels.json,
	  include/asterisk/bridge_internal.h,
	  apps/confbridge/conf_chan_announce.c, res/res_calendar.c,
	  include/asterisk/core_unreal.h, addons/chan_ooh323.c,
	  res/stasis/control.c, channels/chan_sip.c,
	  main/channel_internal_api.c, include/asterisk/stasis_app.h,
	  res/res_stasis_snoop.c, channels/chan_console.c,
	  channels/chan_iax2.c, channels/chan_oss.c, apps/app_agent_pool.c,
	  main/channel.c, main/manager.c, channels/chan_misdn.c,
	  tests/test_voicemail_api.c, channels/chan_alsa.c,
	  channels/chan_nbs.c, main/message.c: uniqueid: channel linkedid,
	  ami, ari object creation with id's Much needed was a way to
	  assign id to objects on creation, and much change was necessary
	  to accomplish it. Channel uniqueids and linkedids are split into
	  separate string and creation time components without breaking
	  linkedid propgation. This allowed the uniqueid to be specified by
	  the user interface - and those values are now carried through to
	  channel creation, adding the assignedids value to every function
	  in the chain including the channel drivers. For local channels,
	  the second channel can be specified or left to default to a ;2
	  suffix of first. In ARI, bridge, playback, and snoop objects can
	  also be created with a specified uniqueid. Along the way, the
	  args order to allocating channels was fixed in chan_mgcp and
	  chan_gtalk, and linkedid is no longer lost as masquerade occurs.
	  (closes issue ASTERISK-23120) Review:
	  https://reviewboard.asterisk.org/r/3191/ ........ Merged
	  revisions 410157 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-07 05:04 +0000 [r410108]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: chan_sip: Allow static realtime members
	  to be qualified during module load. When a static realtime peer
	  with qualify=yes is loaded, Asterisk will fail to send an OPTIONS
	  request due to the lastms being equal to 0. This results in the
	  peer being unable to receive calls from Asterisk because the
	  status is permanently UNKNOWN. This patch allows an OPTIONS
	  request to be sent during module load by ignoring the lastms
	  value on startup only. Review:
	  https://reviewboard.asterisk.org/r/3294/ (closes issue
	  ASTERISK-17523) Reported by: Maciej Krajewski Tested by:
	  wushumasters patches: realtime_fix_11.7.0.txt uploaded by Trevor
	  Peirce (license 6112) ........ Merged revisions 410105 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 410106 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410107 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-06 23:47 +0000 [r410092]  Richard Mudgett <rmudgett@digium.com>

	* main/sorcery.c, /: sorcery.c: Fix off-nominal path ref and memory
	  leak in ast_sorcery_objectset_json_create(). * Made exit a loop
	  early on error in ast_sorcery_objectset_json_create(). * Removed
	  some dead code in ast_sorcery_objectset_create2(). ........
	  Merged revisions 410089 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-06 23:43 +0000 [r410091]  Russell Bryant <russell@russellbryant.com>

	* /, res/res_musiconhold.c: moh: fix a refcount error with realtime
	  MOH I observed a crash in res_musiconhold on an Asterisk 11
	  system using realtime MOH. Investigation of the backtrace showed
	  a corrupt mohclass, implying that it got destroyed before the
	  code expected it to. I went looking for reference counting errors
	  that could have caused this crash and this patch this result. It
	  contains 2 changes. 1) Remove a usless block of code that was
	  impossible to reach. There was even a comment indicating that it
	  was impossible to reach. The conditional includes
	  "!ast_test_flag(global_flags, MOH_CACHERTCLASSES)" and it's
	  inside of an if block with the opposite check
	  "ast_test_flag(global_flags, MOH_CACHERTCLASSES)". There's no
	  good reason to keep it around. 2) A similar block to #1 contained
	  a reference counting error. It stores state->class in the local
	  variable mohclass without increasing its reference count. The
	  reference count on mohclass is decremented at the end of the
	  function. This block of code probably very rarely runs, which
	  would help explain why this system was working fine for many
	  months before experiencing a crash. Review:
	  https://reviewboard.asterisk.org/r/3282/ ........ Merged
	  revisions 410043 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 410044 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 410090 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-06 22:39 +0000 [r410042]  George Joseph <george.joseph@fairview5.com>

	* res/res_pjsip/config_auth.c, funcs/func_sorcery.c (added),
	  res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
	  main/bucket.c, res/res_pjsip_endpoint_identifier_ip.c,
	  include/asterisk/config.h, include/asterisk/sorcery.h,
	  res/res_pjsip/pjsip_configuration.c, res/res_pjsip_acl.c,
	  CHANGES, tests/test_sorcery.c, res/res_pjsip/config_transport.c,
	  main/config.c, main/sorcery.c: sorcery: Create AST_SORCERY
	  dialplan function. This patch creates the AST_SORCERY dialplan
	  function which allows someone to retrieve any value from a
	  sorcery-based config file. It's similar to AST_CONFIG. The
	  creation of the function itself was fairly straightforward but it
	  required changes to the underlying sorcery infrastructure that
	  rippled into individual sorcery objects. The changes stemmed from
	  inconsistencies in how sorcery created ast_variable objectsets
	  from sorcery objects and the inconsistency in how individual
	  objects used that feature especially when it came to parameters
	  that can be specified multiple times like contact in aor and
	  match in identify. You can read more here...
	  http://lists.digium.com/pipermail/asterisk-dev/2014-February/065202.html
	  So, what this patch does, besides actually creating the
	  AST_SORCERY function, is the following... * Creates
	  ast_variable_list_append which is a helper to append one
	  ast_variable list to another. * Modifies the
	  ast_sorcery_object_field_register functions to accept the
	  already-defined sorcery_fields_handler callback. * Modifies
	  ast_sorcery_objectset_create to accept a parameter indicating
	  return type preference...a single ast_variable with all values
	  concatenated or an ast_variable list with multiple entries. Also
	  fixed a few bugs. * Modifies individual sorcery object
	  implementations to use the new function definition of the
	  ast_sorcery_object_field_register functions. * Modifies
	  location.c and res_pjsip_endpoint_identifier_ip.c to implement
	  sorcery_fields_handler handlers so they return multiple
	  occurrences as an ast_variable_list. * Added a whole bunch of
	  tests to test_sorcery. (closes issue ASTERISK-22537) Review:
	  http://reviewboard.asterisk.org/r/3254/

2014-03-06 19:04 +0000 [r410029]  Jonathan Rose <jrose@digium.com>

	* include/asterisk/acl.h, /, main/acl.c,
	  res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
	  contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py
	  (added), res/res_pjsip/config_transport.c: pjsip configuration:
	  Make transport TOS values consistent with endpoints Transport TOS
	  values were interpreted as DSCP values without being documented
	  as such. Endpoint TOS values (tos_audio/tos_video) behaved
	  normally as TOS values have historically. This patch makes the
	  transport TOS values behave as TOS values and makes all TOS
	  values readable as string values (e.g. AF11). In addition,
	  alembic scripts have been updated to use the proper field types
	  for all TOS/COS values. (issue ASTERISK-23235) Reported by:
	  George Joseph Review: https://reviewboard.asterisk.org/r/3304/
	  ........ Merged revisions 410028 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-06 18:20 +0000 [r410027]  Joshua Colp <jcolp@digium.com>

	* res/ari/resource_channels.c, CHANGES,
	  res/ari/ari_model_validators.c,
	  rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
	  res/ari/ari_model_validators.h, /,
	  include/asterisk/stasis_app_recording.h,
	  res/res_stasis_recording.c: res_stasis_recording: Add a
	  "target_uri" field to recording events. This change adds a
	  target_uri field to the live recording object. It contains the
	  URI of what is being recorded. (closes issue ASTERISK-23258)
	  Reported by: Ben Merrills Review:
	  https://reviewboard.asterisk.org/r/3299/ ........ Merged
	  revisions 410025 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-06 15:58 +0000 [r410012]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_mwi.c, /: Don't attempt to link in an aggregate MWI
	  subscription if an endpoint does not aggregate MWI. Attempting to
	  link a NULL object into an ao2 container had been benign
	  previously, but since enabling DO_CRASH in the testsuite, this is
	  now causing a crash. It's better to be right here anyway.
	  ........ Merged revisions 410011 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-06 02:22 +0000 [r409996]  Matthew Jordan <mjordan@digium.com>

	* res/res_fax_spandsp.c, /: res_fax_spandsp: Fix crash when passing
	  ulaw/alaw data to spandsp When acting as a T.38 fax gateway,
	  res_fax_spandsp would at times cause a crash in libspandsp. This
	  would occur when, during fax tone detection, a ulaw/alaw frame
	  would be passed to modem_connect_tones_rx. That particular
	  routine expects the data to be in slin format. This patch looks
	  at the frame type and, if the data is ulaw/alaw, converts the
	  format to slin before passing it to modem_connect_tones_rx.
	  Review: https://reviewboard.asterisk.org/r/3296 (closes issue
	  ASTERISK-20149) Reported by: Alexandr Gordeev Tested by: Michal
	  Rybarik patches: spandsp_g711decode.diff uploaded by Michal
	  Rybarik (license 6578) ........ Merged revisions 409990 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409991 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-06 00:33 +0000 [r409970-409977]  Richard Mudgett <rmudgett@digium.com>

	* apps/confbridge/conf_state_multi.c,
	  apps/confbridge/conf_state_inactive.c, /: app_confbridge: Remove
	  some noop code. ........ Merged revisions 409976 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_musiconhold.c: res_musiconhold.c: Remove some
	  unnecessary RAII_VAR() usage. * Made the moh_register() define
	  use useful parameter names. ........ Merged revisions 409967 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-05 20:41 +0000 [r409904-409919]  Kinsey Moore <kmoore@digium.com>

	* main/config.c, /: config: Fix inverted test The test of the
	  result of the stat() call was inverted such that its output was
	  only used if the call failed. This inverts the test so that the
	  output of stat() is used correctly. This was causing full reloads
	  on unchanged files. (closes issue ASTERISK-23383) Reported by:
	  David Woolley ........ Merged revisions 409916 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409917 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409918 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* bridges/bridge_native_rtp.c, /: bridge_native_rtp: Fix crash
	  involving masquerade It is possible for a channel to be
	  masqueraded out of a bridge which means it may no longer have RTP
	  glue to check upon leaving said bridge. If this situation
	  occurred (it's possible at least during dial and call pickup)
	  then Asterisk would crash. This change makes sure the glue is
	  checked before use. (closes issue AST-1290) Reported by: John
	  Bigelow ........ Merged revisions 409900 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-05 18:51 +0000 [r409889]  Richard Mudgett <rmudgett@digium.com>

	* contrib/ast-db-manage/cdr/versions,
	  contrib/ast-db-manage/cdr/versions/210693f3123d_create_cdr_table.py,
	  /,
	  contrib/ast-db-manage/config/versions/28887f25a46f_create_queue_tables.py
	  (added), contrib/ast-db-manage/cdr.ini.sample (added),
	  contrib/ast-db-manage/cdr/env.py, contrib/ast-db-manage/cdr
	  (added), contrib/ast-db-manage/cdr/script.py.mako: alembic: Add
	  missing queue and CDR table creation scripts. * Added the queues
	  and queue_members tables to the config alembic scripts. * Added
	  the CDR table alembic creation script. The CDR table is more of
	  an example for new setups since the actual table can be fully
	  customized in cdr_adaptive_odbc.conf. (closes issue
	  ASTERISK-23233) Reported by: jmls Review:
	  https://reviewboard.asterisk.org/r/3227/ ........ Merged
	  revisions 409885 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-05 18:47 +0000 [r409888]  Mark Michelson <mmichelson@digium.com>

	* funcs/func_presencestate.c, /: Fix documentation for
	  PRESENCE_STATE to properly illustrate how to create a presence
	  hint. There was a missing comma. This was discovered by Dan
	  Kaplan. ........ Merged revisions 409886 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409887 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-05 16:58 +0000 [r409836]  David M. Lee <dlee@digium.com>

	* main/config.c, /, configure, include/asterisk/autoconfig.h.in,
	  configure.ac: Corrected cross-platform stat nanosecond code When
	  nanosecond time resolution was added for identifying config file
	  changes, it didn't cover all of the myriad of ways that one might
	  obtain nanosecond time resolution off of struct stat. Rather than
	  complicate the #if even further figuring out one system from the
	  next, this patch directly tests for the three struct members I
	  know about today, and #ifdef's accordingly. Review:
	  https://reviewboard.asterisk.org/r/3273/ ........ Merged
	  revisions 409833 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409834 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409835 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-05 16:26 +0000 [r409831-409832]  Moises Silva <moises.silva@gmail.com>

	* res/res_http_websocket.c: Fix res/res_http_websocket.c build
	  failure in 32bit due to incorrect print format for uint64_t

	* res/res_http_websocket.c, /: Fix WebRTC over WSS not working
	  Several fixes for the WebSockets implementation in
	  res/res_http_websocket.c * Flush the websocket session FILE* as
	  fwrite() may not actually guarantee sending the data to the
	  network. If we do not flush, it seems that buffering on the SSL
	  socket for outbound messages causes issues * Refactored
	  ast_websocket_read to take into account that SSL file descriptors
	  may be ready to read via fread() but poll() will not actually say
	  so because the data was already read from the network buffers and
	  is now in the libc buffers (closes issue ASTERISK-23099) (closes
	  issue ASTERISK-21930) Review:
	  https://reviewboard.asterisk.org/r/3248/ ........ Merged
	  revisions 409681 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409697 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-05 12:06 +0000 [r409780]  Sean Bright <sean@malleable.com>

	* contrib/scripts/astgenkey, contrib/scripts/astgenkey.8, /: Fix
	  references to 'keys' CLI commands in astgenkey ........ Merged
	  revisions 409777 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409778 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409779 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-05 06:17 +0000 [r409747]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c: Add update_peer function to
	  unistim_rtp_glue, improve other unistim_rtp_glue functions
	  conforming to other channel drivers. Do not forget auto-detected
	  and user-selected phone settings on 'unistim reload' ........
	  Merged revisions 409705 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409745 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-03-05 01:05 +0000 [r409683]  Richard Mudgett <rmudgett@digium.com>

	* /, include/asterisk/stasis_internal.h: stasis: Made
	  internal_stasis_subscribe() prototype and definition match
	  exactly. ........ Merged revisions 409682 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-04 19:34 +0000 [r409627]  Michael L. Young <elgueromexicano@gmail.com>

	* funcs/func_audiohookinherit.c, /: func_audiohookinheritance:
	  Check If A Channel Was Specified This patch prevents a crash when
	  using the function audiohookinheritance without setting the
	  channel. (closes issue ASTERISK-23104) Reported by: Joel Vandal
	  Tested by: Joel Vandal Patches:
	  asterisk-23104_audiohook_inherit_no_channel-11.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/3272/ ........ Merged
	  revisions 409623 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409625 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409626 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-04 17:22 +0000 [r409587]  Jonathan Rose <jrose@digium.com>

	* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix one way audio
	  problems with hold/unhold when using ICE ICE sessions will now be
	  restarted if sessions are changed to use new sets of remote
	  candidates. (closes issue ASTERISK-22911) Reported by: Vytis
	  Valentinavičius Review: https://reviewboard.asterisk.org/r/3275/
	  ........ Merged revisions 409565 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409570 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-04 16:55 +0000 [r409569]  Kinsey Moore <kmoore@digium.com>

	* /, main/astobj2.c: AO2: Add an assert for bad objects This adds
	  an assert that will only be active if Asterisk is compiled with
	  DO_CRASH and allows the testsuite to fail tests that would
	  otherwise require log file parsing. ........ Merged revisions
	  409566 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 409567 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409568 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-04 14:55 +0000 [r409475]  Sean Bright <sean@malleable.com>

	* /, channels/chan_sip.c: Minor whitespace change to 'sip show
	  peers' output. (closes issue ASTERISK-23406) Reported by: ibercom
	  Tested by: ibercom Patches: asterisk-11.patch uploaded by ibercom
	  ........ Merged revisions 409472 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409473 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409474 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-03 19:44 +0000 [r409423]  Joshua Colp <jcolp@digium.com>

	* /, res/res_stasis_recording.c: res_stasis_recording: Fix memory
	  leak of the absolute name. ........ Merged revisions 409422 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-03 02:08 +0000 [r409364]  Matthew Jordan <mjordan@digium.com>

	* main/asterisk.c, /: doxygen: Tweak the link back to ye olde
	  Digium website ........ Merged revisions 409361 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409362 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409363 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-02 17:03 +0000 [r409350]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* /, Makefile.rules: Makefile: replace -O6 with -O3 -O6 is not a
	  legal option of gcc. Unofficially gcc considers it to be
	  equivalent of -O3. clang chalks on it, though. This commit sets
	  the default optimization flag to be -O3, like gcc actually
	  considered it. Review: https://reviewboard.asterisk.org/r/3280/
	  ........ Merged revisions 409308 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409344 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409346 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-01 20:28 +0000 [r409288]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, /: res_pjsip_session: Set options
	  (100rel, timers) on incoming sessions. This change passes options
	  to the UAS creation function. This in turn sets up 100rel and
	  session timer properties on the incoming session. Reported by
	  Julian Russell on asterisk-users mailing list. ........ Merged
	  revisions 409287 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-03-01 00:05 +0000 [r409257-409275]  Richard Mudgett <rmudgett@digium.com>

	* /, main/devicestate.c: devicestate.c: Simplified some logic in
	  _ast_device_state(). ........ Merged revisions 409274 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis_cache.c, /: stasis_cache.c: Remove some unnecessary
	  RAII_VAR() usage. ........ Merged revisions 409272 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis.c, /: stasis.c: Misc code cleanups. * Remove some
	  unnecessary RAII_VAR() usage. * Made the struct
	  stasis_subscription ao2 object use the ao2 lock instead of a
	  redundant join_lock in the struct for ast_cond_wait(). * Removed
	  locks on some ao2 objects that don't need the lock. * Made the
	  topic pool entries container use the ao2 template functions. *
	  Add some missing allocation failure checks. * Add missing cleanup
	  in off nominal path of dispatch_message(). ........ Merged
	  revisions 409270 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: chan_sip: Add precautionary p->owner
	  checks. * Add precautionary p->owner checks in sip_hangup(),
	  get_refer_info(), get_also_info(), and
	  interpret_t38_parameters(). * Simplify some tangled logic in
	  get_refer_info(), get_also_info(), and add_rpid(). * Removed some
	  dead code in handle_request_invite(). (closes issue
	  ASTERISK-23323) Reported by: Walter Doekes Patches:
	  issueA23323-more_p_owner_checks-1.8.x.patch (license #5674)
	  uploaded by wdoekes (modified)
	  issueA23323-more_p_owner_checks-11.x.patch (license #5674)
	  uploaded by wdoekes (modified)
	  issueA23323-more_p_owner_checks-12.x.patch (license #5674)
	  uploaded by wdoekes (modified)
	  issueA23323-more_p_owner_checks-trunk.patch (license #5674)
	  uploaded by wdoekes (modified) ........ Merged revisions 409207
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 409255 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409256 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-28 21:24 +0000 [r409237]  Kinsey Moore <kmoore@digium.com>

	* apps/app_queue.c, /: app_queue: Fix documented AMI event name
	  During the rewrite of AMI events to use the Stasis bus, the name
	  of the QueueMemberPaused event was changed to QueueMemberPause.
	  This corrects documentation to reflect that. ........ Merged
	  revisions 409234 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-28 18:03 +0000 [r409159]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_sip.c: chan_sip: Fix crash in
	  ast_channel_hangupcause_set(). * Fix crash in
	  ast_channel_hangupcause_set() because p->owner not checked before
	  calling. Regression introduced by the fix for ASTERISK-22621.
	  (closes issue ASTERISK-23135) Reported by: OK (issue
	  ASTERISK-23323) Reported by: Walter Doekes ........ Merged
	  revisions 409156 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409157 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409158 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-27 19:54 +0000 [r409132]  Jonathan Rose <jrose@digium.com>

	* res/res_rtp_asterisk.c, /: Multiple revisions 409129-409130
	  ........ r409129 | jrose | 2014-02-27 13:19:02 -0600 (Thu, 27 Feb
	  2014) | 15 lines res_rtp_asterisk: Fix checklist creating
	  problems in ICE sessions Prior to this patch, local candidate
	  lists including SRFLX would fail to start properly when building
	  ICE candidate check lists. This patch fixes that problem by
	  making sure that each SRFLX candidate is associated with the
	  proper base address so that the check list can create matches
	  properly. This patch was written by jcolp. The issue will be left
	  open to await testing by the issue participants. (issue
	  ASTERISK-23213) Reported by: Andrea Suisani Review:
	  https://reviewboard.asterisk.org/r/3256/ ........ r409130 | jrose
	  | 2014-02-27 13:38:10 -0600 (Thu, 27 Feb 2014) | 8 lines
	  res_rtp_asterisk: correct build error from r409129 Accidentally
	  placed a declaration below functional code (issue ASTERISK-23213)
	  Reported by: Andrea Suisani Review:
	  https://reviewboard.asterisk.org/r/3256/ ........ Merged
	  revisions 409129-409130 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409131 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-27 16:26 +0000 [r409091]  David M. Lee <dlee@digium.com>

	* utils/astman.c, /: Fix memory stomping bug in astman. This memset
	  complained in dev mod on my Ubuntu box. The memset is both
	  unnecessary and dangerous. At this point, m hasn't been
	  initialized yet, so the memset will write off to whatever address
	  happens to be on the stack at the time. ........ Merged revisions
	  409077 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 409083 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409087 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-27 16:08 +0000 [r409055]  Corey Farrell <git@cfware.com>

	* /, configs/res_fax.conf.sample: res_fax: Comment out default
	  settings from res_fax.conf. Comment out many settings in
	  res_fax.conf.sample. The defaults are set in res_fax.c, so
	  setting the same value in sample config does nothing but make the
	  sample config more fragile. (closes issue ASTERISK-23231)
	  Reported by: David Brillert Review:
	  https://reviewboard.asterisk.org/r/3261/ ........ Merged
	  revisions 409052 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 409053 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 409054 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-27 12:29 +0000 [r409000]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Apply
	  packetization rules on inbound SDP handling The setting
	  'use_ptime' is supposed to tell Asterisk to honour the ptime
	  attribute in an offer, preferring it to whatever packetization
	  preferences have been set internally. Currently, however,
	  something rather quirky will happen: (1) The SDP answer will be
	  constructed in create_outgoing_sdp_stream. This will use the
	  preferences from the endpoint, such that the 200 OK response will
	  add the packetization preferences from the endpoint, and not what
	  was offered. (2) When the 200 response is issued,
	  apply_negotiated_sdp_stream is called. This will call
	  apply_packetization, which will use the ptime attribute from the
	  offer internally. We end up telling the offerer to use the
	  internal ptime attribute, but we end up using the offered ptime
	  attribute. Hilarity ensues. This patch modifies the behaviour by
	  calling apply_packetization from negotiate_incoming_sdp_stream,
	  which is called prior to create_outgoing_sdp_stream. This causes
	  the format preferences on the session's media object to be set to
	  the inbound ptime value (if 'use_ptime' is enabled), such that
	  the construction of the answer gets the right value immediately.
	  Review: https://reviewboard.asterisk.org/r/3244/ ........ Merged
	  revisions 408999 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-26 23:35 +0000 [r408984]  Richard Mudgett <rmudgett@digium.com>

	* /, tests/test_stasis.c: test_stasis.c: Misc cleanups. * Make the
	  consumer ao2 object use the ao2 lock instead of a redundant lock
	  in the struct for ast_cond_wait(). * Fixed some curly brace
	  placements. * Fixed use of malloc(0). malloc(0) has variant
	  behavior. It is up to the implementation to determine if it
	  returns NULL or a valid pointer that can be later passed to
	  free(). ........ Merged revisions 408983 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-26 19:00 +0000 [r408971]  Scott Griepentrog <sgriepentrog@digium.com>

	* channels/chan_pjsip.c, /: pjsip: avoid edge case potential crash
	  in answer() When accidentally compiling against a wrong version
	  of pjsip headers with a different pjsip_inv_session size, the
	  invite_tsx structure could be null in the answer() function. This
	  led to a crash because it attempted to send the session response
	  with an uninitialized packet pointer. This patch presets packet
	  to null and adds a diagnostic log message to explain why the call
	  fails. Review: https://reviewboard.asterisk.org/r/3267/ ........
	  Merged revisions 408970 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-26 17:04 +0000 [r408958]  Joshua Colp <jcolp@digium.com>

	* res/res_ari.c, /: res_ari: Make some additional error responses
	  consistent with the rest of the system. This change makes some
	  error cases use ast_ari_response_error to construct their error
	  responses instead of manually doing it. This ensures they are
	  consistent with the other error responses. Based on the original
	  patch as done by Paul Belanger on the associated review. Review:
	  https://reviewboard.asterisk.org/r/2904/ ........ Merged
	  revisions 408957 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-26 13:47 +0000 [r408942-408944]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/res_pjsip_session.h, /: PJSIP: Fix some bad
	  spacing ........ Merged revisions 408943 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_refer.c: PJSIP: Prevent crash if channel has
	  gone away It is currently possible for an ast_sip_session to
	  exist without an associated channel as is the case when a new
	  invite is coming in or just after a hangup is issued on a
	  chan_pjsip channel. Part of the attended transfer code assumed
	  the channel would be non-NULL and used it as such causing a
	  crash. This bug was exposed thanks to the attended transfer ARI
	  test in the test suite. (closes issue ASTERISK-23287) Reported
	  by: Matt Jordan ........ Merged revisions 408941 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-26 08:57 +0000 [r408932]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c: Implement functions handling keypress,
	  display icons and text for i2004 KEM support.

2014-02-25 17:51 +0000 [r408881-408883]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_exten_state.c, /,
	  res/res_pjsip_pidf_digium_body_supplement.c (added),
	  include/asterisk/res_pjsip_body_generator_types.h:
	  res_pjsip_exten_state: Presence for digium phones Added presence
	  support for digium phones. Review:
	  https://reviewboard.asterisk.org/r/3239/ ........ Merged
	  revisions 408882 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_send_to_voicemail.c (added),
	  res/res_pjsip_header_funcs.c: res_pjsip_send_to_voicemail:
	  transferring to voicemail for digium phones Added the ability for
	  transferring directly to voicemail on digium phones. Added a new
	  module that checks for the presence of a custom header and/or
	  diversion header within a sip REFER. If either is found and they
	  specify a sending to voicemail action then variables are added to
	  the channel allowing the user access to them in the dialplan.
	  Dialplan can then be written that branches based upon these
	  values allowing, for instace, for a single number to be used for
	  dialing and/or accessing voicemail directly. Also fixed a problem
	  where the PJSIP_HEADER function was allowing non pjsip channels
	  through (checked to make sure it has the correct channel type
	  before proceeding). Review:
	  https://reviewboard.asterisk.org/r/3245/ ........ Merged
	  revisions 408880 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-25 17:44 +0000 [r408879]  Rusty Newton <rnewton@digium.com>

	* configs/voicemail.conf.sample, /: configs/voicemail.conf.sample -
	  Make mailcmd sample text more explicit Made the wording a bit
	  more explicit. Didn't really change the meaning. ........ Merged
	  revisions 408876 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408877 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408878 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-22 23:31 +0000 [r408859]  Matthew Jordan <mjordan@digium.com>

	* /, main/asterisk.c: main: Initialize dialplan providing core
	  components prior to module pre-load It is possible to pre-load
	  pbx_config. As a result, pbx_config - which will load and parse
	  the dialplan - will attempt to use various dialplan components,
	  such as device state providers and presence state providers,
	  prior to them being initialized by the core. This would lead to a
	  crash, as the components had not created their Stasis cache
	  entries. This patch moves a number of core component
	  initializations before the module pre-load. This guarantees that
	  if someone does pre-load pbx_config - or other pbx modules - that
	  the Stasis caches for the various core components are created.
	  (closes issue ASTERISK-23320) Reported by: xrobau (closes issue
	  ASTERISK-23265) Reported by: Andrew Nagy Tested by: Andrew Nagy,
	  Rusty Newton ........ Merged revisions 408855 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-22 18:01 +0000 [r408840]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, /: ignore AST_CONTROL_PVT_CAUSE_CODE
	  without any messages (closes issue ASTERISK-23336) Reported by:
	  Alexander Semych ........ Merged revisions 408838 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408839 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-22 02:31 +0000 [r408788]  Corey Farrell <git@cfware.com>

	* /, utils/extconf.c, utils/conf2ael.c, res/ael/pval.c, main/pbx.c:
	  Remove extra defines of AST_PBX_MAX_STACK. * Ensure
	  AST_PBX_MAX_STACK is only defined in extconf.h and pbx.h. * Fix
	  incorrect function parameters in utils/extconf.c. (closes issue
	  ASTERISK-23141) Reported by: Maxim Review:
	  https://reviewboard.asterisk.org/r/3241/ ........ Merged
	  revisions 408785 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408786 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408787 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-21 18:37 +0000 [r408731]  Kevin Harwell <kharwell@digium.com>

	* main/rtp_engine.c, /: rtp_engine: Dynamic payload change in rtp
	  mapping not supported Asterisk didn't support the dynamic payload
	  change in rtp mapping in the 200 OK response. Scenario: Asterisk
	  sends the INVITE proposing alaw and telephone-event, it proposes
	  rtpmap:101 for telephone-event. Peer responds with 2xx, it
	  answers with alaw and telephone-event also, but it proposes a
	  different rtpmap number (rtpmap:103) for telephone-event.
	  Expected Behaviour: Asterisk should honour the rtpmapping in the
	  response and send DTMF packets using 103 as payload type for
	  DTMF. Actual Behaviour: Asterisk sends DTMF packets using payload
	  type 101. With this patch asterisk now supports changes that can
	  occur in the rtp mapping in the response. (closes issue
	  ASTERISK-23279) Reported by: NITESH BANSAL Review:
	  https://reviewboard.asterisk.org/r/3225/ Patches:
	  dynamic_payload_change.patch uploaded by nbansal (license 6418)
	  ........ Merged revisions 408729 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408730 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-21 18:19 +0000 [r408712-408723]  Richard Mudgett <rmudgett@digium.com>

	* main/manager.c, /: manager: Fix AMI Status action of a single
	  channel. Fixed use of uninitialized ao2 container iterator in an
	  off-nominal condition. Either a memory allocation error or the
	  requested channel is an internal channel not exposed to the
	  outside. ........ Merged revisions 408715 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/sorcery.c, res/ari/resource_endpoints.c, /,
	  apps/app_meetme.c, res/res_fax.c, res/res_stasis_recording.c,
	  main/stasis_channels.c, res/res_sorcery_astdb.c,
	  include/asterisk/json.h: json: Fix off-nominal json ref counting
	  issues. * Fixed off-nominal json ref counting issue with using
	  the following API calls: ast_json_object_set() and
	  ast_json_array_append(). * Fixed off-nominal error reporting in
	  ast_ari_endpoints_list(). * Fixed some miscellaneous off-nominal
	  json ref counting issues in report_receive_fax_status() and
	  dial_to_json(). ........ Merged revisions 408713 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/json.c, /: json: Fix json API wrapper code for json library
	  versions earlier than 2.3.0. * Fixed json ref counting issue with
	  json API wrapper code for ast_json_object_update_existing() and
	  ast_json_object_update_missing() when the json library is earlier
	  than version 2.3.0. ........ Merged revisions 408711 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-21 16:49 +0000 [r408699]  Corey Farrell <git@cfware.com>

	* channels/chan_sip.c: chan_sip: prevent add_route from adding
	  empty header. Fix regression caused by ASTERISK-22582. Empty
	  Route headers were added when the route had a single strict hop.
	  (closes issue ASTERISK-23306) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3236/

2014-02-21 16:27 +0000 [r408645-408652]  Kevin Harwell <kharwell@digium.com>

	* main/rtp_engine.c, /: rtp_engine: Output mixup in
	  ${CHANNEL(rtpqos,audio,all)} Fixed the output of
	  CHANNEL(rtpqos,audio,all) to use txjitter instead of rxjitter.
	  (closes issue ASTERISK-23261) Reported by: rsw686 Patches:
	  rtpqos.patch uploaded by rsw686 (license 5887) ........ Merged
	  revisions 408646 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408647 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408649 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/channel.c, /: channel.c: MOH is not working for transferee
	  after attended transfer Updated the code to check to see if MOH
	  is playing on the transferor and if so then start it on the
	  channel that replaces it during a masquerade. Example scenario of
	  the problem: Alice calls Bob and then Bob begins the attended
	  transfer process into a queue. Upon going on hold Alice hears
	  music and so does Bob once he is in the queue. Bob then transfers
	  Alice into the queue and then music for Alice stops even though
	  she should be hearing it since has now replaced Bob in the queue.
	  The problem that was occurring is that once the channel was
	  masqueraded the app (queues, confbridge, etc...) had no way of
	  knowing that the channel had just been swapped out thus it did
	  not start music for the present channel. Credit to Olle Johansson
	  for pointing me in the right direction on this issue. (closes
	  issue ASTERISK-19499) Reported by: Timo Teräs Review:
	  https://reviewboard.asterisk.org/r/3226/ ........ Merged
	  revisions 408642 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408643 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408644 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-21 10:45 +0000 [r408592]  Alexandr Anikin <may@telecom-service.ru>

	* /, addons/ooh323c/src/ooCalls.h: Fix type of roundTripDelay
	  variables ........ Merged revisions 408589 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408590 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408591 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-21 00:50 +0000 [r408539]  Michael L. Young <elgueromexicano@gmail.com>

	* /, apps/app_chanspy.c: app_chanspy: Documentation Update To
	  Clarify "x" Option When using the "x" option (specify a DTMF
	  digit to exit the application), it is not obvious in the
	  documentation that this only works when spying on a channel. If a
	  channel being used to spy on other channels is waiting to connect
	  to a channel or is no longer attached to a channel, the DTMF is
	  ignored. As noted on the issue tracker, since there are
	  workarounds available and this is a rarely used option we are
	  opting for a documentation change here. (closes issue
	  ASTERISK-22661) Reported by: Chris Hillman Patches:
	  asterisk-22661-doc-clarify-chan_spy.diff uploaded by Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2990/ ........ Merged
	  revisions 408536 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408537 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408538 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-20 21:12 +0000 [r408519-408523]  George Joseph <george.joseph@fairview5.com>

	* /, res/res_pjsip/location.c,
	  res/res_pjsip_outbound_registration.c: pjsip_cli: Add pjsip
	  commands 'show registrations' and 'show contacts'. Added 'show
	  registrations' and 'show contacts' to pjsip cli to make things a
	  little more consistent. The output is exactly the same as the
	  list command. Just needed to add entries to their respective
	  ast_cli_entry structures. (closes issue ASTERISK-23275) Review:
	  http://reviewboard.asterisk.org/r/3210/ ........ Merged revisions
	  408522 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip/pjsip_cli.c, main/config.c: pjsip_cli: Fix
	  memory leak in ast_sip_cli_print_sorcery_objectset. Fixed memory
	  leaks in ast_sip_cli_print_sorcery_objectset and
	  ast_variable_list_sort. (closes issue ASTERISK-23266) Review:
	  http://reviewboard.asterisk.org/r/3200/ ........ Merged revisions
	  408520 from http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/sorcery.h,
	  res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
	  tests/test_sorcery.c, main/sorcery.c, /,
	  res/res_pjsip/config_system.c: sorcery: Create sorcery instance
	  registry. In order to retrieve an arbitrary sorcery instance from
	  a dialplan function (or any place else) there needs to be a
	  registry of sorcery instances. ast_sorcery_init now creates a
	  hashtab as a registry. ast_sorcery_open now checks the hashtab
	  for an existing sorcery instance matching the caller's module
	  name. If it finds one, it bumps the refcount and returns it. If
	  not, it creates a new sorcery instance, adds it to the hashtab,
	  then returns it. ast_sorcery_retrieve_by_module_name is a new
	  function that does a hashtab lookup by module name. It can be
	  called by the future dialplan function. res_pjsip/config_system
	  needed a small change to share the main res_pjsip sorcery
	  instance. tests/test_sorcery was updated to include a test for
	  the registry. (closes issue ASTERISK-22537) Review:
	  http://reviewboard.asterisk.org/r/3184/ ........ Merged revisions
	  408518 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-20 19:02 +0000 [r408503]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip.c, /: res_pjsip: Update documentation for
	  'use_avpf' option When 'use_avpf' is set to True, inbound offers
	  must use the AVPF/SAVPF RTP profile. However, when 'use_avpf' is
	  set to False, Asterisk will accept both AVP/SAVP or AVPF/SAVPF
	  RTP profiles in inbound offers. The documentation previously
	  implied that Asterisk would reject AVPF/SAVPF if 'use_avpf' was
	  set to False and a UA offered said profile in an INVITE request.
	  ........ Merged revisions 408502 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-20 02:44 +0000 [r408450]  Rusty Newton <rnewton@digium.com>

	* /, apps/app_queue.c: apps/app_queue - Fix incorrect Macro
	  parameter documentation Macro is executed on the called channel,
	  not the calling channel. (closes issue ASTERISK-23069) Reported
	  By: Bryan Anderson ........ Merged revisions 408447 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408448 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408449 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-19 19:09 +0000 [r408386-408390]  Richard Mudgett <rmudgett@digium.com>

	* /, main/config.c: config: Add file size and nanosecond resolution
	  fields to the cached modified config file information. Repeatedly
	  modifying config files and reloading too fast sometimes fails to
	  reload the configuration because the cached modification
	  timestamp has one second resolution. * Added file size and
	  nanosecond resolution fields to the cached config file
	  modification timestamp information. Now if the file size changes
	  or the file system supports nanosecond resolution the modified
	  file has a better chance of being detected for reload. * Added a
	  missing unlock in an off-nominal code path. (closes issue
	  AST-1303) Review: https://reviewboard.asterisk.org/r/3235/
	  ........ Merged revisions 408387 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408388 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408389 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix regex
	  handling and keep simple prefix matching performance. The sorcery
	  astDB wizzard does not handle regex correctly if the pattern
	  begins with an anchor character. This patch attempts to convert
	  the anchored regex pattern to a prefix pattern supported by astDB
	  for performance reasons. If it is not able to convert the pattern
	  it falls back to getting all astDB members of the family and
	  doing a normal regex pattern matching on the retrieved records.
	  Review: https://reviewboard.asterisk.org/r/3161/ ........ Merged
	  revisions 408385 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-19 12:04 +0000 [r408315-408332]  Alexandr Anikin <may@telecom-service.ru>

	* addons/ooh323c/src/ooCapability.c, /,
	  addons/ooh323c/src/ooh245.c: process receiveAndTransmit user
	  input remote caps instead of receive only send receiveAndTransmit
	  user input our caps instead of receive only ........ Merged
	  revisions 408328 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408330 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408331 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* addons/ooh323c/src/ooh323.c, /: Allow different socket and
	  signalling ip on h.323 connection if gk mode is active Reported
	  by: Gabriele Odone Patches: ASTERISK-22738-1.patch Tested by:
	  Gabriele Odone (closes issue ASTERISK-22738) ........ Merged
	  revisions 408312 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408314 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-18 19:19 +0000 [r408299]  Richard Mudgett <rmudgett@digium.com>

	* contrib/ast-db-manage/config/env.py,
	  contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
	  contrib/ast-db-manage/config,
	  contrib/ast-db-manage/voicemail/env.py,
	  contrib/ast-db-manage/voicemail,
	  contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
	  contrib/ast-db-manage/config/versions,
	  contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py,
	  contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
	  contrib/ast-db-manage/voicemail/versions, contrib/ast-db-manage,
	  /: alembic: Add svn:ignore *.pyc to directories and
	  svn:executable to *.py files. ........ Merged revisions 408297
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-17 15:36 +0000 [r408272]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip/location.c, UPGRADE.txt, res/res_pjsip.c,
	  res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h: Store
	  SIP User-Agent information in contacts. When an endpoint sends a
	  REGISTER request to Asterisk, we now will associate the
	  User-Agent header with all contacts that were bound in that
	  REGISTER request. ........ Merged revisions 408270 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-16 03:25 +0000 [r408199-408227]  Matthew Jordan <mjordan@digium.com>

	* /, main/pbx.c: pbx: Handle a completely empty dialplan during a
	  context merge It is highly unlikely, but - at least in Asterisk
	  12 - theoretically possible to load Asterisk with no dialplan
	  whatsoever. If that occurs, and some other module (that is not a
	  pbx module) attempts to merge its contexts into the dialplan, the
	  existing merge routine will crash. This is because it is not
	  insane, and rightly believes that you provided some sort of
	  dialplan, somewhere. This patch will gracefully merge the
	  contexts in such a case. Note that this is highly unlikely to
	  occur in 1.8/11, as features will most likely provide some
	  dialplan via parking. However, in Asterisk 12, parking is now
	  provided by res_parking, and hence may create its dialplan later.
	  (closes issue ASTERISK-23297) Reported by: CJ Oster Review:
	  https://reviewboard.asterisk.org/r/3222 ........ Merged revisions
	  408200 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 408201 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408220 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, Makefile: buildsystem: Unbreak the build (infloop) on Asterisk
	  11+ Apparently r408084 ( https://reviewboard.asterisk.org/r/3212/
	  ) broke the build. This patch fixes it by ignoring the .lastclean
	  dependencies if the MENUSELECT_EMBED variable is not defined.
	  patches: tmp.diff uploaded by wdoekes (License 5674) Review:
	  https://reviewboard.asterisk.org/r/3228/ ........ Merged
	  revisions 408193 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408194 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-14 21:44 +0000 [r408139-408141]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/stasis_endpoints.c, /: ARI: correct upper/lower case URI
	  discrepancies URI's are supposed to be case sensitive and all
	  lower case. In practice some portions of URI's in ARI are case
	  insensitive and others are not, such as TECH, which in one
	  instance would match a lower case name and in another would not.
	  In this patch, the ast_endpoint_lastest_snapshot() function is
	  modified to change the TECH portion to full upper case before
	  lookup. This resolves the discrepancy noted by the reporter.
	  However I chose to avoid forcing the /ari prefix of the URI's to
	  be lower case for now. Except for the two cases here, all URI's
	  should be lower case, unless they are part of a resource name or
	  id. Review: https://reviewboard.asterisk.org/r/3211/ Reported by:
	  Zane Conkle (closes issue ASTERISK-23125) ........ Merged
	  revisions 408140 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/format.c, /: format.c: correct possible null pointer
	  dereference In ast_format_sdp_parse and ast_format_sdp_generate
	  the check checks for a valid interface and function were
	  potentially confusing, and hid an error in the test of the
	  presence of the function that is called later. This patch clears
	  up and corrects the test. Review:
	  https://reviewboard.asterisk.org/r/3208/ (closes issue
	  ASTERISK-23098) Reported by: marcelloceschia Patches:
	  main_format.patch uploaded by marcelloceschia (license 6036)
	  ASTERISK-23098.patch uploaded by coreyfarrell (license 5909)
	  ........ Merged revisions 408137 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408138 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-14 13:31 +0000 [r408086]  Walter Doekes <walter+asterisk@wjd.nu>

	* Makefile, /: buildsystem: Don't force main to depend on
	  everything else. Directory 'main' only needs to depend on
	  embedded modules. If no module embedding is selected, the
	  dependency is dropped. Review:
	  https://reviewboard.asterisk.org/r/3212/ ........ Merged
	  revisions 408083 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 408084 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 408085 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-14 12:41 +0000 [r408070]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: chnan_sip: Set SIP_DEFER_BYE_ON_TRANSFER
	  prior to calling bridge blind transfer This patch moves setting
	  SIP_DEFER_BY_ON_TRANSFER prior to calling
	  ast_bridge_transfer_blind. This prevents a BYE from being sent
	  prior to the NOTIFY request that informs the transferor if the
	  transfer succeeded or failed. This patch also clears said flag
	  from the off nominal NOTIFY paths in the local_attended_transfer
	  code, as once we've sent the NOTIFY request it is safe to send by
	  the BYE request. This was caught by the
	  blind-transfer-accountcode test in the Asterisk Test Suite.
	  (closes issue ASTERISK-23290) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3214/ ........ Merged
	  revisions 408069 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-14 08:52 +0000 [r408059]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* Makefile, build_tools/install_subst (added): install_subst:
	  helper script for installing with path substitution A helper
	  script to copy a source file substituting any
	  __ASTERISK_<foo>_DIR__ with the content of $AST<foo>DIR. Review:
	  https://reviewboard.asterisk.org/r/3202/

2014-02-13 18:52 +0000 [r407990-408006]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pubsub.c, /, res/res_pjsip_mwi.c: Remove all PJSIP
	  MWI-specific use from our MWI code. PJSIP has built-in MWI code
	  that could be useful to some degree, but our utilization of the
	  API actually made our code a bit more cluttered since we had to
	  have special cases peppered throughout. With this change, we move
	  to using the pjsip_evsub API instead, which streamlines the code
	  by removing special cases. Review:
	  https://reviewboard.asterisk.org/r/3205 ........ Merged revisions
	  408005 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip/location.c: Fix crash in AMI PJSIPShowEndpoint
	  action. If an AOR has no permanent contacts, then the
	  permanent_contacts container is never allocated. This makes the
	  code safe in the face of NULLs. I also changed the variable that
	  counts contacts from "num" to "total_contacts" since there are
	  now two variables that are indicate numbers of things. ........
	  Merged revisions 407988 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-13 15:51 +0000 [r407989]  Kinsey Moore <kmoore@digium.com>

	* main/logger.c, CHANGES: Logger: Add dynamic logger channels This
	  adds the ability to dynamically add and remove logger channels
	  from Asterisk via the CLI. (closes issue AST-1150) Review:
	  https://reviewboard.asterisk.org/r/3185/

2014-02-12 08:25 +0000 [r407970]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, main/config.c: realtime: Fix ast_update2_realtime() on
	  raspberry pi. The old code depended on undefined va_arg
	  behaviour: calling a function twice with the same va_list
	  parameter and expecting it to continue where it left off. The
	  changed code behaves like the manpage says it should. Also added
	  a bunch of early returns to trap errors (e.g. OOM) instead of
	  crashing. The problem was found by Julian Lyndon-Smith. The
	  deviant behaviour on the raspberry PI also uncovered another bug
	  (fixed in r407875) in the res_config_pgsql.so driver. Reported
	  by: jmls Tested by: jmls Review:
	  https://reviewboard.asterisk.org/r/3201/ ........ Merged
	  revisions 407968 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-11 20:17 +0000 [r407958]  Joshua Colp <jcolp@digium.com>

	* main/sched.c: scheduler: Remove hashtab usage. This is a first
	  stab at tweaking the performance profile of the scheduler.
	  Removing the hashtab usage removes an extra memory allocation
	  when scheduling something and makes it so rescheduling does not
	  incur any memory allocation at all. Review:
	  https://reviewboard.asterisk.org/r/3199/

2014-02-11 03:18 +0000 [r407940]  Matthew Jordan <mjordan@digium.com>

	* res/ari/resource_channels.c, /: ari/resource_channels: Add
	  channel variables earlier in the creation process This patch
	  tweaks the behaviour of POST /channels with channel variables
	  such that the variables are passed into the pbx.c routines that
	  perform the origination. This allows the variables to be assigned
	  to the newly created channels immediately upon their
	  construction, as opposed to be assigned after the originate has
	  completed. The upshot of this is that the variables are available
	  on the channels if they execute in the dialplan, as opposed to
	  only being available once the channels are answered. Review:
	  https://reviewboard.asterisk.org/r/3183/ ........ Merged
	  revisions 407937 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-10 18:28 +0000 [r407926]  Corey Farrell <git@cfware.com>

	* channels/sip/include/reqresp_parser.h,
	  channels/sip/include/route.h (added), channels/chan_sip.c,
	  channels/sip/route.c (added), channels/sip/include/sip.h:
	  chan_sip: Isolate code that manages struct sip_route. * Move
	  route code to sip/route.c + sip/include/route.h * Rename
	  functions to sip_route_* * Replace ad-hoc list code with macro's
	  from linkedlists.h * Create sip_route_process_header() to
	  processes Path and Record-Route headers (previously done with
	  different code in build_route and build_path) * Add use of const
	  where possible * Move struct uriparams, struct contact and
	  contactliststruct from sip.h to reqresp_parser.h. sip/route.c
	  uses reqresp_parser.h but not sip.h, this was a problem. These
	  moved declares are not used outside of reqresp_parser. * While
	  modifying reqprep() the lack of {} caused me trouble. I added
	  them. * Code outside route.c treats sip_route as an opaque
	  structure, using macro's or procedures for all access. (closes
	  issue ASTERISK-22582) Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/3173/

2014-02-10 16:49 +0000 [r407876]  Walter Doekes <walter+asterisk@wjd.nu>

	* res/res_config_pgsql.c, /: res_config_pgsql: Fix
	  ast_update2_realtime calls. Fix so multiple updates from a single
	  call works (add missing ','). Remove bogus ast_free's that
	  weren't supposed to be there. Moved a few spaces for readability.
	  Review: https://reviewboard.asterisk.org/r/3194/ ........ Merged
	  revisions 407873 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407874 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407875 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-10 16:01 +0000 [r407859]  Kinsey Moore <kmoore@digium.com>

	* apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c,
	  apps/confbridge/conf_state_empty.c,
	  apps/confbridge/conf_config_parser.c,
	  configs/confbridge.conf.sample, /,
	  apps/confbridge/include/confbridge.h, UPGRADE.txt: ConfBridge:
	  Correct prompt playback target Currently, when the first marked
	  user enters the conference that contains waitmarked users, a
	  prompt is played indicating that the user is being placed into
	  the conference. Unfortunately, this prompt is played to the
	  marked user and not the waitmarked users which is not very
	  helpful. This patch changes that behavior to play a prompt
	  stating "The conference will now begin" to the entire conference
	  after adding and unmuting the waitmarked users since the design
	  of confbridge is not conducive to playing a prompt to a subset of
	  users in a conference in an asynchronous manner. (closes issue
	  PQ-1396) Review: https://reviewboard.asterisk.org/r/3155/
	  Reported by: Steve Pitts ........ Merged revisions 407857 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407858 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-07 20:52 +0000 [r407767]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_iax2.c: chan_iax2: Add some more iaxs[] NULL
	  checks to a routine already full of them. ........ Merged
	  revisions 407764 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407765 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407766 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-07 20:17 +0000 [r407752]  Matthew Jordan <mjordan@digium.com>

	* /, main/security_events.c: security_events: Fix assertion failure
	  in dev-mode on optional IE parsing When formatting an optional
	  IE, the value is, of course, optional. As such, it is entirely
	  appropriate for ast_json_object_get to return NULL. If that
	  occurs, we now simply skip the IE that was requested, as it was
	  not provided by the entity that raised the event. Thanks to
	  George Joseph (gtjoseph) for catching this and reporting it in
	  #asterisk-dev ........ Merged revisions 407750 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-07 20:01 +0000 [r407749]  Joshua Colp <jcolp@digium.com>

	* main/timing.c, res/res_timing_pthread.c, res/res_timing_dahdi.c,
	  res/res_timing_timerfd.c, include/asterisk/timing.h,
	  res/res_timing_kqueue.c: timing: Improve performance for most
	  timing implementations. This change allows timing implementation
	  data to be stored directly on the timer itself thus removing the
	  requirement for many implementations to do a container lookup for
	  the same information. This means that API calls into timing
	  implementations can directly access the information they need
	  instead of having to find it. Review:
	  https://reviewboard.asterisk.org/r/3175/

2014-02-07 19:40 +0000 [r407748]  Matthew Jordan <mjordan@digium.com>

	* /, funcs/func_cdr.c: funcs/func_cdr: Handle empty time values
	  when extracting parsed values When extracting timestamps that are
	  parsed, time stamp values that are not set (time values of
	  0.000000) should not actually result in a parsed string. The
	  value should be skipped, and the result of the CDR function
	  should be an empty string. Prior to this patch, the result was
	  fed to the time formatting, which would result in an output of a
	  date/time in 1969. ........ Merged revisions 407747 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-07 18:29 +0000 [r407731]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_iax2.c, include/asterisk/frame.h,
	  configs/iax.conf.sample, /: chan_iax2: Block unnecessary control
	  frames to/from the wire. Establishing an IAX2 call between
	  Asterisk v1.4 and v1.8 (or later) results in an unexpected call
	  disconnect. The problem happens because newer values in the enum
	  ast_control_frame_type are not consistent between the branch
	  versions of Asterisk. For example: 1) v1.4 calls v1.8 (or later)
	  using IAX2 2) v1.8 answers and sends a connected line update
	  control frame. (on v1.8 AST_CONTROL_CONNECTED_LINE = 22) 3) v1.4
	  receives the control frame as an end-of-q (on v1.4
	  AST_CONTROL_END_OF_Q = 22) 4) v1.4 disconnects the call once the
	  receive queue becomes empty. Several things are done by this
	  patch to fix the problem and attempt to prevent it from happening
	  again in the future: * Added a warning at the definition of enum
	  ast_control_frame_type about how to add new control frame values.
	  * Made block sending and receiving control frames that have no
	  reason to go over the wire. * Extended the connectedline iax.conf
	  parameter to also include the redirecting information updates. *
	  Updated the connectedline iax.conf parameter documentation to
	  include a notice that the parameter must be "no" when the peer is
	  an Asterisk v1.4 instance. (closes issue AST-1302) Review:
	  https://reviewboard.asterisk.org/r/3174/ ........ Merged
	  revisions 407678 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407727 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407729 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-07 16:47 +0000 [r407677]  Matthew Jordan <mjordan@digium.com>

	* /, main/security_events.c: security_events: Fix error caused by
	  DTD validation error The appdocsxml.dtd specifies that a
	  "required" attribute in a parameter may have a value of yes, no,
	  true, or false. On some systems, specifying "False" instead of
	  "false" would cause a validation error. This patch fixes the
	  casing to explicitly match the DTD. ........ Merged revisions
	  407676 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-07 13:15 +0000 [r407625]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* /, configs/indications.conf.sample: indications.conf: add stutter
	  tone; end properly * If the "stutter" (voicemail indication) tone
	  is indeed a stutter tone, and it ends with a constant tone, make
	  sure that it is the dial tone. This was done for India (in),
	  Mexico (mx) and the Philippines (ph). * If no "stutter" tone
	  exists for a country, provide one. This was done for Spain (es),
	  Malaysia (my) and Venezuela (ve). Review:
	  https://reviewboard.asterisk.org/r/3158/ ........ Merged
	  revisions 407622 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407623 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407624 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-06 21:24 +0000 [r407602]  Matthew Jordan <mjordan@digium.com>

	* /, main/security_events.c, UPGRADE.txt, CHANGES: security_events:
	  Add AMI documentation; output optional fields This patch adds
	  documentation for the Security Events that are emited over AMI.
	  It also notes these events in the UPGRADE/CHANGES file. ........
	  Merged revisions 407589 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-06 19:58 +0000 [r407588]  Rusty Newton <rnewton@digium.com>

	* /, configs/pjsip.conf.sample: configs/pjsip.conf.sample:
	  Configuration section naming in pjsip.conf.sample needs a little
	  clarification There is a bit of nuance to how you name things in
	  pjsip.conf. This is a documentation patch to at least clear it up
	  a little for users. Review:
	  https://reviewboard.asterisk.org/r/3180/ ........ Merged
	  revisions 407587 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-06 18:11 +0000 [r407574]  Kevin Harwell <kharwell@digium.com>

	* /,
	  contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
	  pjsip realtime: already created enum failure for postgresql If an
	  enum had been previously created the alembic script would attempt
	  to re-create it and an error would be generated while running
	  migrations for a postgresql server. The work around for this is
	  to use the ENUM object type for postgres as opposed to the
	  generic enum type used by sqlalchemy. Using this type in the
	  script seems to work properly for both postgres and mysql.
	  ........ Merged revisions 407572 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-06 17:55 +0000 [r407573]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip_logger.c,
	  res/res_pjsip/include/res_pjsip_private.h,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
	  res/res_pjsip/config_auth.c, /, res/res_pjsip/location.c,
	  res/res_pjsip_outbound_registration.c,
	  res/res_pjsip_endpoint_identifier_ip.c,
	  include/asterisk/res_pjsip_cli.h, res/res_pjsip/pjsip_cli.c,
	  res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/config_domain_aliases.c: res_pjsip: Updates and
	  adds more PJSIP CLI commands. * Adds identify, transport, and
	  registration support to the PJSIP CLI. * Creates three additional
	  callbacks, one for an iterator, one for a comparator, and one for
	  a container. This eliminates the link dependency from higher
	  level modules to lower level ones. * Eliminates duplicate sorting
	  in PJSIP CLI commands. * Cleans up PJSIP CLI output formatting. *
	  Pushes CLI command registration down to the implementing source
	  file. * Adds several ast_sip_destroy_sorcery functions to
	  complement existing ast_sip_sorcery_initialize functions. The
	  destroy functions unregister PJSIP CLI commands and PJSIP CLI
	  formatters. Reported by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3104/ ........ Merged
	  revisions 407568 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-05 23:04 +0000 [r407514]  Rusty Newton <rnewton@digium.com>

	* /, formats/format_wav.c: formats/format_wav: enhancing log
	  message "Not a wav file" to be clear on what is supported
	  Modifying the log message to be more specific as to what is
	  supported. Specifically it seems format_wav supports only PCM
	  encoded versions with a lower-case '.wav' extension. (closes
	  issues ASTERISK-22310) Reported by: Jim Credland Review:
	  https://reviewboard.asterisk.org/r/3188/ ........ Merged
	  revisions 407511 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407512 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407513 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-05 20:56 +0000 [r407462]  Jonathan Rose <jrose@digium.com>

	* CHANGES, /: CHANGES: Improved description of Name/Creator changes
	  to bridge ARI, adds AMI The changes log was written with language
	  that was a little too internal Asterisk specific, so it's been
	  changed to be more in the frame of reference of an ARI user.
	  Also, previously the AMI event changes were omitted from the
	  change log as well as the ability to include a bridge name in the
	  ARI post bridges command. ........ Merged revisions 407461 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-05 20:43 +0000 [r407459]  Kinsey Moore <kmoore@digium.com>

	* main/logger.c, /: Logger: Fix handling of absolute paths This
	  fixes path handling for log files so that an extra / is not
	  appended to the file path when the path is absolute (begins with
	  /). This would previously result in different but functionally
	  equivalent paths in the output of 'logger show channels'.
	  ........ Merged revisions 407455 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407456 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407458 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-05 19:42 +0000 [r407443]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip/config_global.c, /: res_pjsip: When no global type
	  the debug option defaults to "yes" If the global section was not
	  specified in pjsip.conf then the configuration object does not
	  exist in sorcery so when retrieving "debug" option it would
	  return NULL. Then the NULL result was passed to ast_false utils
	  function which would return false because it wasn't set to some
	  representation of false, thus enabling sip debug logging. Made it
	  so if the global config object does not exist then it will return
	  a default of "no" for sip debugging. (issue ASTERISK-23038)
	  Reported by: Rusty Newton ........ Merged revisions 407442 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-05 17:42 +0000 [r407422-407425]  Jonathan Rose <jrose@digium.com>

	* CHANGES: CHANGES: Update changes log to include r403414 entry
	  Adds note of additional 0 for operator option on app_record

	* CHANGES, /: CHANGES: Update changes log to include new bridge
	  fields added in r404042 ........ Merged revisions 407419 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-05 15:29 +0000 [r407407]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/playbacks.json, UPGRADE.txt,
	  rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
	  include/asterisk/manager.h, rest-api/api-docs/bridges.json,
	  rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/mailboxes.json,
	  rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json,
	  rest-api/api-docs/channels.json,
	  rest-api/api-docs/recordings.json,
	  rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
	  /: ARI/AMI: Update versions; update UPGRADE/CHANGES notes for
	  12.1.0 changes Due to backwards compatible changes made to
	  AMI/ARI, the version needs to be bumped to 1.1.0/2.1.0,
	  respectively. ........ Merged revisions 407402 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-04 20:15 +0000 [r407275-407340]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/devicestate.h, /, main/devicestate.c:
	  devicestate: Make ast_devstate_changed_literal() return value and
	  doxygen consistent. Nothing actually cares about the value
	  anyway. (closes issue ASTERISK-23178) Reported by: Jonathan Rose
	  ........ Merged revisions 407337 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407338 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407339 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix assertion
	  for pjsip.conf authorization list options. (closes issue
	  ASTERISK-23168) Reported by: George Joseph Review:
	  https://reviewboard.asterisk.org/r/3143/ ........ Merged
	  revisions 407324 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* configs/sip.conf.sample, main/tcptls.c, /: tcptls.c: Made TLS
	  handle a certificate chain file. Thanks to Guillaume Martres for
	  doing the necessary research to validate the change. (closes
	  issue ASTERISK-17727) Reported by: LN Patches:
	  use_certificate_chain.patch (license #5864) patch uploaded by st
	  documente_certificate_chain.patch (license #6576) patch uploaded
	  by Guillaume Martres ........ Merged revisions 407272 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407273 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407274 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-04 16:55 +0000 [r407260]  Matthew Jordan <mjordan@digium.com>

	* /, funcs/func_cdr.c: funcs/func_cdr: Fix non-epoch timestamps
	  broken by improper char array deref Thanks to snuffy for pointing
	  this issue out and fixing it. (closes issue ASTERISK-23250)
	  Reported by: snuffy patches: func_cdr-fix.diff uploaded by snuffy
	  (License 5024) ........ Merged revisions 407259 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-04 02:22 +0000 [r407217]  Joshua Colp <jcolp@digium.com>

	* res/res_clialiases.c, /: res_clialiases: Fix crash when reloading
	  and re-aliasing an alias that is in use. The code assumed that
	  unregistering the alias would always succeed while in practice
	  this is not actually true. A common case is the "reload" command
	  itself. If the cli_aliases.conf configuration file was changed
	  and reload executed the command would fail to unregister and
	  ultimately point to freed memory. The reload process now checks
	  whether unregistering succeeded or not and if not the old CLI
	  alias is retained. (closes issue ASTERISK-19773) Reported by:
	  Joel Vandal (closes issue ASTERISK-22757) Reported by: Gareth
	  Blades ........ Merged revisions 407205 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407210 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407213 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-04 02:07 +0000 [r407198]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Skinny - Fix deadlock when pickup of
	  no call. Locking issues in skinny when picking up a call that
	  doesn't exist. Cleaned up sub locking by fully removing and using
	  the chan lock instead. Also changed ast_call_pickup to check
	  whether chan was masq'd. (closes issue ASTERISK-23249) Reported
	  by: wedhorn Tested by: snuffy, myself Patches:
	  skinny-locking01.diff uploaded by wedhorn (license 5019) ........
	  Merged revisions 407197 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-03 01:31 +0000 [r407169]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c, /: cdrs: Check for applications to lock onto during
	  dial begin handling This patch brings CDR processing further in
	  line with r407085. During some dial operations, the application
	  would not be locked to the Dial application and would instead
	  continue to show the previously known application. In particular,
	  this would occur when a Parked call would time out. This was due
	  to a previous snapshot already locking the application to Park -
	  processing this in a Dial Begin allows the Dial application to
	  reassert its rightful place. (CDRs. Ugh.) But hooray for the
	  Parked Call tests for catching this in the Asterisk Test Suite.
	  ........ Merged revisions 407166 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-01 16:26 +0000 [r407154]  Joshua Colp <jcolp@digium.com>

	* res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
	  res/stasis/app.c, res/ari/ari_model_validators.c,
	  res/res_stasis.c, main/stasis_bridges.c: res_stasis: Enable
	  transfers and provide events when they occur. This change enables
	  transfers within ARI created bridges and adds events for when
	  they occur. Unlike other events these will be received if *any*
	  subscribed object is involved in the transfer. (closes issue
	  ASTERISK-22984) Reported by: David M. Lee Review:
	  https://reviewboard.asterisk.org/r/3120/ ........ Merged
	  revisions 407153 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-02-01 00:25 +0000 [r407105]  Corey Farrell <git@cfware.com>

	* apps/app_stack.c, /: app_stack: protect against missing
	  parameters to STACK_PEEK and LOCAL_PEEK STACK_PEEK requires 2
	  parameters and LOCAL_PEEK requires 1 parameter. This protects
	  against situations where those parameters are blank or missing by
	  logging an error and returning. (closes issue ASTERISK-23220)
	  Reported by: James Sharp ........ Merged revisions 407100 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 407103 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407104 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-31 23:40 +0000 [r407083-407085]  Matthew Jordan <mjordan@digium.com>

	* apps/app_dial.c, main/cdr.c, main/pbx.c, /, main/bridge_after.c,
	  UPGRADE.txt, main/manager_channels.c: CDRs: fix a variety of dial
	  status problems, h/hangup handler creating CDRs This patch fixes
	  a number of small-ish problems that were noticed when witnessing
	  the records that the FreePBX dialplan produces: (1) Mid-call
	  events (as well as privacy options) have the ability to change
	  the overall state of the Dial operation after the called party
	  answers. This means that publishing the DialEnd event when the
	  called party is premature; we have to wait for the execution of
	  these subroutines to complete before we can signal the overall
	  status of the DialEnd. This patch moves that publication and adds
	  handlers for the mid-call events. (2) The AST_FLAG_OUTGOING
	  channel flag is cleared if an after bridge goto datastore is
	  detected. This flag was preventing CDRs from being recorded for
	  all outbound channels that had a 'continue' option enabled on
	  them by the Dial application. (3) The CDR engine now locks the
	  'Dial' application as being the CDR application if it detects
	  that the current CDR has entered that app. This is similar to the
	  logic that is done for Parking. In general, if we entered into
	  Dial, then we want that CDR to record the application as such -
	  this prevents pre-dial handlers, mid-call handlers, and other
	  shenaniganry from changing the application value. (4) The CDR
	  engine now checks for the AST_SOFTHANGUP_HANGUP_EXEC in more
	  places to determine if the channel is in hangup logic or dead. In
	  either case, we don't want to record changes in the channel. (5)
	  The default option for "endbeforehexten" has been changed to
	  "yes". In general, you don't want to see CDRs in the 'h' exten or
	  in hangup logic. Since the semantics of that option changed in
	  12, it made sense to update the default value as well. (6)
	  Finally, because we now have the ability to synchronize on the
	  messages published to the CDR topic, on shutdown the CDR engine
	  will now synchronize to the messages currently in flight. This
	  helps to ensure that all in-flight CDRs are written before
	  shutting down. (closes issue ASTERISK-23164) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/3154 ........
	  Merged revisions 407084 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_dial.c, /: app_dial: Allow macro/gosub pre-bridge
	  execution to occur on priorities The parsing for the destination
	  of the macro/gosub uses the '^' character to separate out
	  context, extension, and priority. However, the logic for the
	  macro/gosub execution was written such that it would only do the
	  actual macro/gosub jump if a '^' character existed. This doesn't
	  apply when the macro/gosub jump occurs in a priority/priority
	  label. This patch changes the logic so that the parsing still
	  occurs, but the jump will occur even for priorities/priority
	  labels. (issue ASTERISK-23164) Review:
	  https://reviewboard.asterisk.org/r/3154 ........ Merged revisions
	  407041 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 407074 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 407082 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-31 23:15 +0000 [r407035-407037]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_logger.c, CHANGES, res/res_pjsip.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
	  contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py
	  (added), /, configs/pjsip.conf.sample, UPGRADE.txt: res_pjsip:
	  Config option to enable PJSIP logger at load time. Added a
	  "debug" configuration option for res_pjsip that when set to "yes"
	  enables SIP messages to be logged. It is specified under the
	  "system" type. Also added an alembic script to add the option to
	  realtime. (closes issue ASTERISK-23038) Reported by: Rusty Newton
	  Review: https://reviewboard.asterisk.org/r/3148/ ........ Merged
	  revisions 407036 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_exten_state.c, /: res_pjsip_exten_state: Exporting
	  global symbols caused load order issues Removed the exportation
	  of global symbols from the module as it is no longer needed and
	  it could potentially cause load problems as on some systems it
	  would try to load before res_pjsip_pubsub ........ Merged
	  revisions 407034 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-31 23:04 +0000 [r407033]  Richard Mudgett <rmudgett@digium.com>

	* CHANGES, apps/app_chanspy.c: ChanSpy: Add ability to specify
	  channel uniqueids as well as channel names. * Made ChanSpy accept
	  a channel uniqueid or a fully specified channel name as the
	  chanprefix parameter if the 'u' option is specified. (closes
	  issue AFS-42) Review: https://reviewboard.asterisk.org/r/3160/

2014-01-31 22:39 +0000 [r407030-407032]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/res_pjsip_presence_xml.h (added), /: Add file
	  that apparently got missed in the merge. ........ Merged
	  revisions 407031 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_pidf_body_generator.c (added),
	  include/asterisk/res_pjsip_exten_state.h (removed),
	  res/res_pjsip_pubsub.exports.in, /,
	  include/asterisk/res_pjsip_body_generator_types.h (added),
	  res/res_pjsip_mwi.c, res/res_pjsip_xpidf_body_generator.c
	  (added), res/res_pjsip_mwi_body_generator.c (added),
	  res/res_pjsip_pubsub.c, res/res_pjsip_pidf.c (removed),
	  res/res_pjsip_pidf_eyebeam_body_supplement.c (added),
	  res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c
	  (added), include/asterisk/res_pjsip_pubsub.h: Decouple
	  subscription handling from NOTIFY/PUBLISH body generation. When
	  the PJSIP pubsub framework was created, subscription handlers
	  were required to state what event they handled along with what
	  body types they knew how to generate. While this serves well when
	  implementing a base RFC, it has problems when trying to extend
	  the body to support non-standard or proprietary body elements.
	  The code also was NOTIFY-specific, meaning that when the time
	  comes that we start writing code to send out PUBLISH requests
	  with MWI or presence bodies, we would likely find ourselves
	  duplicating code that had previously been written. This changeset
	  introduces the concept of body generators and body supplements. A
	  body generator is responsible for allocating a native structure
	  for a given body type, providing the primary body content,
	  converting the native structure to a string, and deallocating
	  resources. A body supplement takes the primary body content (the
	  native structure, not a string) generated by the body generator
	  and adds nonstandard elements to the body. With these elements
	  living in their own module, it becomes easy to extend our support
	  for body types and to re-use resources when sending a PUBLISH
	  request. Body generators and body supplements register themselves
	  with the pubsub core, similar to how subscription and publish
	  handlers had done. Now, subscription handlers do not need to know
	  what type of body content they generate, but they still need to
	  inform the pubsub core about what the default body type for a
	  given event package is. The pubsub core keeps track of what body
	  generators and body supplements have been registered. When a
	  SUBSCRIBE arrives, the pubsub core will check that there is a
	  subscription handler for the event in the SUBSCRIBE, then it will
	  check that there is a body generator that can provide the content
	  specified in the Accept header(s). Because of the nature of body
	  generators and supplements, it means res_pjsip_exten_state and
	  res_pjsip_mwi have been completely gutted. They no longer worry
	  about body types, instead calling
	  ast_sip_pubsub_generate_body_content() when they need to generate
	  a NOTIFY body. Review: https://reviewboard.asterisk.org/r/3150
	  ........ Merged revisions 407016 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-31 22:23 +0000 [r407015-407029]  Kevin Harwell <kharwell@digium.com>

	* contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
	  contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
	  /, UPGRADE.txt: alembic: script modifications due to errors A
	  couple of the scripts had errors that would not allow a full
	  migration to take place. The extensions table needed to make its
	  'id' column a primary key in order to work with mysql. The other
	  script ...add_endpoints... was missing tables that it was trying
	  to add columns to. Added the primary key on id for extensions and
	  added the tables in for the missing pjsip configuration options.
	  While it is not ideal to modify already released scripts this was
	  a case where it had to be done due to errors in the script and
	  lacking a better alternative. Review:
	  https://reviewboard.asterisk.org/r/3167/ ........ Merged
	  revisions 407019 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_mwi.c: res_pjsip_mwi: Subscribe fails when
	  missing aor name When subscribing to MWI (res_pjsip_mwi) and the
	  sip uri did not contain a name (ex: sip:<ip address>) then the
	  subscription would fail since it would be unable to locate an
	  associated aor. This patch makes it so that when a subscribe
	  comes with no aor name then it will subscribe to all aors on the
	  located endpoint. (closes issue ASTERISK-23072) Reported by: Bob
	  M Review: https://reviewboard.asterisk.org/r/3164/ ........
	  Merged revisions 407014 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-31 15:08 +0000 [r407001]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip_nat.c, /: PJSIP: Fix address for ACK in NAT
	  situations In NAT scenarios where a call is placed to a
	  Grandstream phone, res_pjsip will sometimes send the ACK to a 200
	  OK to the private address of the device behind the NAT instead of
	  the address of the NAT device. This corrects that behavior by
	  rewriting the address in the Contact header in the incoming 200
	  OK and the dialog's target address if necessary (since it has
	  already been rewritten to the incorrect private address). (closes
	  issue ASTERISK-23106) Review:
	  https://reviewboard.asterisk.org/r/3168/ Reported by: Matt Jordan
	  ........ Merged revisions 407000 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-31 05:31 +0000 [r406988]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Skinny: fix up possible double unlock
	  of chan. Return before chan is possibly unlocked a second time
	  when hanging up a channel in SUBSTATE_OFFHOOK. ........ Merged
	  revisions 406987 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-30 20:36 +0000 [r406936]  Corey Farrell <git@cfware.com>

	* main/udptl.c, res/res_rtp_asterisk.c, /: res_rtp_asterisk &
	  udptl: fix port selection to work with SELinux restrictions
	  ast_bind to a port reserved for another program by SELinux causes
	  errno == EACCES. This caused random failures when binding rtp or
	  udptl sockets. Treat EACCES as a non-fatal error, try next port.
	  (closes issue ASTERISK-23134) Reported by: Corey Farrell ........
	  Merged revisions 406933 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406934 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406935 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-30 17:35 +0000 [r406920]  Sean Bright <sean@malleable.com>

	* main/manager.c, /: Make a NOTICE about an invalid channel name
	  more useful. ........ Merged revisions 406918 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406919 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-29 00:44 +0000 [r406863]  Russell Bryant <russell@russellbryant.com>

	* /, configs/queues.conf.sample: queues.conf.sample Fix documented
	  default for persistentmembers Closes issue ASTERISK-22662
	  ........ Merged revisions 406860 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406861 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406862 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-28 23:40 +0000 [r406789-406848]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_pubsub.c, /: res_pjsip_pubsub: potential crash on
	  timeout What seems to be happening is if a subscription has been
	  terminated and the subscription timeout/expires is less than the
	  time it takes for all pending transactions (currently on the
	  subscription) to end then the subscription timer will not have
	  been canceled yet and sub will be null. Since the subscription
	  has already been canceled nothing needs to be done so a null
	  check in the asterisk code is sufficient in working around this
	  problem. (closes issue ASTERISK-23129) Reported by: Dan Jenkins
	  ........ Merged revisions 406847 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* cdr/cdr_radius.c, cel/cel_radius.c, /, configure,
	  include/asterisk/autoconfig.h.in, configure.ac: cdr_radius,
	  cel_radius: build agains libfreeradius-client Asterisk's RADIUS
	  module currently build against libradiusclient-ng, but this
	  project has been superseeded by libfreeradius-client. The API is
	  99% compatible except that the header name has changed, the
	  library name has changed, and the configuration file location has
	  changed. (closes issue ASTERISK-22980) Reported by: Jeremy Lainé
	  Patches: freeradius-client.patch uploaded by sharky (license
	  6561) ........ Merged revisions 406801 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406802 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406803 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip/include/res_pjsip_private.h, /,
	  include/asterisk/compat.h: res_pjsip,compat: INFINITY and NAN
	  undefined On some systems the values for INFINITY and NAN are not
	  defined thus causing a build error on those systems. Added
	  definitions for those if they had not previously been defined.
	  (closes issue ASTERISK-23056) Reported by: capouch Patches:
	  inf-nan-patch.txt uploaded by capouch (license 6564) ........
	  Merged revisions 406788 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-28 19:19 +0000 [r406778]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_stasis_device_state.c: ARI: Make double subscribe
	  respond with success Currently, attempting to subscribe an
	  application to a device state that it has already subscribed to
	  will generate a 500 error response. This will now be treated as a
	  subscription refresh even though ARI subscriptions don't
	  currently support lifetimes and will respond with the normal
	  response for a successful subscription (200 OK). (closes issue
	  ASTERISK-23143) Reported by: Matt Jordan ........ Merged
	  revisions 406775 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-28 16:43 +0000 [r406724]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/rtp_engine.c, /: rtp_engine: improved handling of
	  get_rtp_info failure In ast_rtp_instance_make_compatible(), after
	  a failure of channel tech call get_rtp_info() to return
	  peer_instance, the null pointer would be passed to ao2_ref,
	  producing an error that looked like a refernce counting problem
	  but is not. This patch corrects that and adds helpful LOG_ERROR
	  messages to indicate which failure path occurred. (issue
	  AST-1276) Review: https://reviewboard.asterisk.org/r/3156/
	  ........ Merged revisions 406721 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406722 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406723 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-28 00:20 +0000 [r406710]  Richard Mudgett <rmudgett@digium.com>

	* /, tests/test_cel.c, tests/test_cdr.c: test_cdr.c, test_cel.c:
	  Correctly destroy created bridges. * Fixed the
	  test_cel_attended_transfer_bridges_link unit test to also account
	  for the local channel link being destroyed now that the bridges
	  are actually destroyed. * Made CDR unit test use its own version
	  of do_sleep() from the CEL unit tests. ........ Merged revisions
	  406707 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-27 22:54 +0000 [r406647-406696]  Kevin Harwell <kharwell@digium.com>

	* CHANGES: manager: ExtensionStatus event status human readable
	  Added a note in the changes file about the new 'StatusText' field
	  that was added to the 'ExtensionStatus' event. (issue
	  ASTERISK-23154) Reported by: Jonathan Rose

	* main/manager.c: manager: ExtensionStatus event status human
	  readable When an 'ExtensionStatus' event was raised it included
	  the status as a numerical value, but did not include a text
	  description of the status. Added a 'StatusText' field to the
	  event which is a string representation of the extension status.
	  Also added this to the 'Extension State' command response.
	  (closes issue ASTERISK-23154) Reported by: Jonathan Rose

2014-01-27 20:38 +0000 [r406646]  Russell Bryant <russell@russellbryant.com>

	* main/config.c, /: Allow nested #includes in extconfig.conf
	  extconfig.conf was hard-coded to not allow nested includes for
	  some reason. The code has been this way since a patch was merged
	  for ASTERISK-3333 (revision 4889), which was a significant update
	  to this code ("Merge config updates"). I can't figure out any
	  good reason why this should be limited. This patch just removes
	  the limit and uses the default nesting depth limit. Closes issue
	  ASTERISK-17837 Review: https://reviewboard.asterisk.org/r/3159/
	  ........ Merged revisions 406643 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406644 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406645 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-27 08:17 +0000 [r406618]  Walter Doekes <walter+asterisk@wjd.nu>

	* main/manager.c, UPGRADE.txt, configs/manager.conf.sample:
	  manager: The eventfilter= option now takes an extended regex. In
	  pre-trunk versions (...12) it accepts a basic regex, which is
	  confusing because all other regexes in asterisk are of the
	  extended kind. Review: https://reviewboard.asterisk.org/r/3147/

2014-01-27 01:25 +0000 [r406595]  Russell Bryant <russell@russellbryant.com>

	* main/file.c, include/asterisk/channel.h, main/channel.c, /:
	  Protect ast_filestream object when on a channel The
	  ast_filestream object gets tacked on to a channel via
	  chan->timingdata. It's a reference counted object, but the
	  reference count isn't used when putting it on a channel. It's
	  theoretically possible for another thread to interfere with the
	  channel while it's unlocked and cause the filestream to get
	  destroyed. Use the astobj2 reference count to make sure that as
	  long as this code path is holding on the ast_filestream and
	  passing it into the file.c playback code, that it knows it's
	  valid. Bug reported by Leif Madsen. Review:
	  https://reviewboard.asterisk.org/r/3135/ ........ Merged
	  revisions 406566 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406567 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406574 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-26 23:04 +0000 [r406517]  Richard Mudgett <rmudgett@digium.com>

	* /, main/tcptls.c: tcptls.c: Add missing cleanup on off nominal
	  path. ........ Merged revisions 406514 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406515 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406516 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-26 14:19 +0000 [r406503]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* contrib/scripts/live_ast: live_ast: run wrapped programs with
	  exec live_ast can be used as a wrapper script to run asterisk,
	  gdb or valgrind. In those cases it runs them and returns the
	  result. It is more useful to use 'exec' to avoid having another
	  odd process in the chain. Review:
	  https://reviewboard.asterisk.org/r/3110/

2014-01-26 02:11 +0000 [r406490]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, /: res_pjsip_session: Be less strict
	  with core requested outgoing capabilities. The core may
	  (depending on circumstances) request a single codec on outgoing
	  calls. Many channel drivers ignore or treat this as a suggestion
	  while still including configured codecs. The res_pjsip_session
	  logic treated this as an explicit request, leaving out other
	  configured codecs. This change makes res_pjsip_session behave
	  like other channel driver and simply adds the requested codec to
	  the list. (closes issue ASTERISK-23082) Reported by: xrobau
	  Review: https://reviewboard.asterisk.org/r/3140/ ........ Merged
	  revisions 406489 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-24 23:33 +0000 [r406466]  Richard Mudgett <rmudgett@digium.com>

	* /, main/cel.c: CEL: Protect data structures during reload and
	  shutdown. The CEL data structures need to be protected during a
	  configuration reload and shutdown. Asterisk crashed during a
	  shutdown because CEL events were still in flight and the CEL data
	  structures were already destroyed. * Protected the cel_backends,
	  cel_dialstatus_store, and cel_linkedids ao2 containers with a
	  global ao2 object wrapper. * Added NULL checks before use of the
	  cel_backends, cel_dialstatus_store, and cel_linkedids ao2
	  containers in case the CEL module is already shutdown. * Fixed
	  overloading of the cel_linkedids held objects reference count.
	  During shutdown any held objects would be leaked. * Fixed memory
	  leak of cel_linkedids held objects if the LINKEDID_END is not
	  being tracked. The objects in the cel_linkedids container were
	  not removed if the LINKEDID_END event is not used. * Added access
	  protection to the cel_backends container during the CLI "cel show
	  status" command. * Made cel_backends, cel_dialstatus_store, and
	  cel_linkedids use the standard ao2 callback templates for the
	  hash and cmp functions. * Eliminated unnecessary uses of
	  RAII_VAR(). * Made ast_cel_engine_init() cleanup alocated
	  resources on failure. (closes issue AST-1253) Reported by:
	  Guenther Kelleter Review:
	  https://reviewboard.asterisk.org/r/3128/ ........ Merged
	  revisions 406417 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406418 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406465 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-24 22:34 +0000 [r406416]  Jonathan Rose <jrose@digium.com>

	* main/utils.c, CHANGES: Thread Debugging: Add LWP to core show
	  locks output This patch adds the LWP to core show locks output if
	  it is available. Review: https://reviewboard.asterisk.org/r/3142/

2014-01-24 22:18 +0000 [r406407]  Richard Mudgett <rmudgett@digium.com>

	* main/manager.c, /: manager: Register atexit shutdown routine only
	  once. * Made register atexit shutdown routine only once in
	  __init_manager(). * Fixed some initial load failure conditions in
	  __init_manager(). * Made reset options to defaults on reload when
	  the reload will actually happen. * Removed unnecessary container
	  traversals of the white/black filters during manager_free_user().
	  * ast_free() does not need a NULL check before calling. ........
	  Merged revisions 406359 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406400 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406401 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-24 21:46 +0000 [r406399]  Jonathan Rose <jrose@digium.com>

	* res/res_config_pgsql.c, /: res_config_pgsql: Fix a memory leak
	  and use RAII_VAR for cleanup when practical Review:
	  https://reviewboard.asterisk.org/r/3141/ ........ Merged
	  revisions 406360 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406361 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406389 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-24 18:13 +0000 [r406343]  Richard Mudgett <rmudgett@digium.com>

	* main/manager.c, /: manager: Protect data structures during
	  shutdown. Occasionally, the manager module would get an
	  "INTERNAL_OBJ: bad magic number" error on a "core restart
	  gracefully" command if an AMI connection is established. * Added
	  ao2_global_obj protection to the sessions global container. *
	  Fixed the order of unreferencing a session object in
	  session_destroy(). * Removed unnecessary container traversals of
	  the white/black filters during session_destructor(). (closes
	  issue AST-1242) Reported by: Guenther Kelleter Review:
	  https://reviewboard.asterisk.org/r/3144/ ........ Merged
	  revisions 406341 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406342 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-23 23:43 +0000 [r406328]  Mark Michelson <mmichelson@digium.com>

	* /: Today is not my day for writing code that compiles. ........
	  Merged revisions 406327 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-23 22:56 +0000 [r406312]  Michael L. Young <elgueromexicano@gmail.com>

	* /, addons/res_config_mysql.c: res_config_mysql: Fix Setting The
	  Column Name Incorrectly When support for a realtime sorcery
	  module was added in revision 386731, the wrong property was
	  accidentally used for setting the column name to be updated in
	  the database table. This patch fixes the typo. (closes issue
	  ASTERISK-23177) Reported by: Denis Tested by: Denis Patches:
	  asterisk-23177-use-field-name.diff by Michael L. Young (license
	  5026) ........ Merged revisions 406311 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-23 21:18 +0000 [r406298]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pidf.c, /: Multiple revisions 406294-406295
	  ........ r406294 | mmichelson | 2014-01-23 15:00:24 -0600 (Thu,
	  23 Jan 2014) | 11 lines Fix presence body errors found during
	  testing: * PIDF bodies were reporting an "open" state in many
	  cases where it should have been reporting "closed" * XPIDF bodies
	  had XML nodes placed incorrectly within the hierarchy. * SIP URIs
	  in XPIDF bodies did not go through XML sanitization * XML
	  sanitization had some errors: * Right angle bracket was being
	  replaced with "&rt;" instead of "&gt;" * Double quote,
	  apostrophe, and ampersand were not being escaped. ........
	  r406295 | mmichelson | 2014-01-23 15:09:35 -0600 (Thu, 23 Jan
	  2014) | 11 lines Fix presence body errors found during testing: *
	  PIDF bodies were reporting an "open" state in many cases where it
	  should have been reporting "closed" * XPIDF bodies had XML nodes
	  placed incorrectly within the hierarchy. * SIP URIs in XPIDF
	  bodies did not go through XML sanitization * XML sanitization had
	  some errors: * Right angle bracket was being replaced with "&rt;"
	  instead of "&gt;" * Double quote, apostrophe, and ampersand were
	  not being escaped. ........ Merged revisions 406294-406295 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-22 22:24 +0000 [r406269]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/pbx.c, /, utils/extconf.c: pbx.c: Pre-initialize timezone to
	  avoid crash on destroy In ast_build_timing, initialize the
	  timezone value to NULL in order to avoid deferencing an
	  uninitialized value later when calling ast_destroy_timing. The
	  timezone value could be uninitialized if ast_build_timing were to
	  fail due to a zero length time string. (closes issue
	  ASTERISK-22861) Reported by: Sebastian Murray-Roberts Review:
	  https://reviewboard.asterisk.org/r/3134/ Patches:
	  ast_build_timing-initialize-timezone.patch uploaded by
	  coreyfarrell (license 5909) ........ Merged revisions 406241 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406245 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406264 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-22 19:36 +0000 [r406153-406224]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_confbridge.c: ConfBridge: Fix channel parameter
	  documentation Confbridge AMI and CLI commands for mute, unmute,
	  and setting the single video source can accept channel prefixes
	  in lieu of a full channel name, but documentation states only
	  that it is required and is a channel name. This corrects the
	  documentation. (closes issue PQ-1397) Reported by: Steve Pitts
	  ........ Merged revisions 406217 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406223 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: chan_sip: Decline image streams on
	  unsupported transports This change allows chan_sip to decline
	  individual image streams over unsupported transports in the SDP
	  of the 200 response. Previously, an image stream offer with
	  RTP/AVP as the transport would cause chan_sip to respond with a
	  488. (closes issue ASTERISK-22988) Reported by: adomjan Original
	  patch by: adomjan ........ Merged revisions 406170 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406171 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406172 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis_playback.c, /: res_stasis_playback: Correct error
	  argument order Several of the playback error messages for invalid
	  media input in res_stasis_playback.c had the media name and
	  channel name reversed. They now correctly identify the channel
	  name and media name. Reported by: skrusty ........ Merged
	  revisions 406152 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-21 21:48 +0000 [r406134]  Rusty Newton <rnewton@digium.com>

	* /, res/res_pjsip.c: res_pjsip: Documentation improvement for
	  Endpoint and AOR mailbox options. Making the help text for both
	  more explicit regarding the format of mailbox identifiers. i.e.
	  clarifying the format for app_voicemail mailboxes vs mailboxes
	  from external MWI sources through modules such as
	  res_external_mwi. ........ Merged revisions 406133 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-21 21:08 +0000 [r406082]  Walter Doekes <walter+asterisk@wjd.nu>

	* main/manager.c, /, configs/manager.conf.sample: manager: Clarify
	  eventfilter documentation. Textual changes only. Review:
	  https://reviewboard.asterisk.org/r/3133/ ........ Merged
	  revisions 406079 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406080 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406081 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-21 20:28 +0000 [r406006-406078]  Kinsey Moore <kmoore@digium.com>

	* channels/chan_mgcp.c, /: chan_mgcp: Enforce locking for oseq This
	  restricts direct usage of global oseq so that all accesses are
	  locked and threads are not racing to get oseq values that they
	  did not claim. This also fixes a build error in res_pktccops
	  under dev mode. (closes issue ASTERISK-23100) Reported by:
	  adomjan Patch by: adomjan ........ Merged revisions 406037 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 406038 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 406049 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_outbound_registration.c, res/res_pjsip.c: PJSIP:
	  Handle headers in a list appropriately The PJSIP header parsing
	  function (pjsip_parse_hdr) can generate more than one header
	  instance from a single header field. These header instances exist
	  as a list attached to the returned header and must be handled
	  appropriately when they are added to a message or else only the
	  first header instance will be used. This changes the linked list
	  functions used in outbound proxy code to merge the lists
	  properly. ........ Merged revisions 406020 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/ari/resource_sounds.h, res/ari/resource_bridges.h,
	  res/ari/resource_device_states.h, res/ari/resource_mailboxes.h,
	  res/ari/resource_asterisk.h, rest-api/api-docs/channels.json,
	  res/ari/resource_applications.h, res/ari/resource_channels.c,
	  res/res_ari_playbacks.c, res/res_ari_sounds.c,
	  rest-api-templates/asterisk_processor.py,
	  res/ari/resource_channels.h, res/res_ari_bridges.c, /,
	  res/res_ari_device_states.c,
	  rest-api-templates/ari_resource.h.mustache,
	  res/res_ari_mailboxes.c, res/res_ari_asterisk.c,
	  res/res_ari_applications.c,
	  rest-api-templates/res_ari_resource.c.mustache,
	  rest-api-templates/body_parsing.mustache (added),
	  res/res_ari_channels.c, res/ari/resource_playbacks.h,
	  rest-api-templates/param_parsing.mustache: ARI: Support channel
	  variables in originate This adds back in support for specifying
	  channel variables during an originate without compromising the
	  ability to specify query parameters in the JSON body. This was
	  accomplished by generating the body-parsing code in a separate
	  function instead of being integrated with the URI query parameter
	  parsing code such that it could be called by paths with body
	  parameters. This is transparent to the user of the API and
	  prevents manual duplication of code or data structures. (closes
	  issue ASTERISK-23051) Review:
	  https://reviewboard.asterisk.org/r/3122/ Reported by: Matt Jordan
	  ........ Merged revisions 406003 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-20 23:25 +0000 [r405985]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Skinny: fix up handling of fragmented
	  packets. Bad offset in reading second or more fragment of skinny
	  packets. Fixed to offset by char (single byte) rather than size
	  of req. ........ Merged revisions 405982 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-20 22:23 +0000 [r405947]  Richard Mudgett <rmudgett@digium.com>

	* channels/sig_pri.c, /: chan_dahdi/PRI: Suppress CONNECTED_LINE
	  updates when nothing in the udpate is valid. * Also simplified
	  some subddress handling code. (closes issue ASTERISK-23008)
	  Reported by: Michael Cargile ........ Merged revisions 405926
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 405927 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405928 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-20 21:56 +0000 [r405925]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Skinny: fix up session logging.
	  Logging from the skinny session loop was providing some incorrect
	  reasons for exiting the loop. Cleaned up messages and handling so
	  correct reason displayed. ........ Merged revisions 405924 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-20 18:18 +0000 [r405910]  Jonathan Rose <jrose@digium.com>

	* channels/chan_pjsip.c, /: chan_pjsip: Provide a means for
	  tracking device state when holding/unholding Previously PJSIP did
	  not track hold/unhold and it would always simply be 'inuse'. This
	  patch fixes that. review:
	  https://reviewboard.asterisk.org/r/3129/ ........ Merged
	  revisions 405908 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-19 00:01 +0000 [r405894]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Skinny: fix reversed device reset from
	  CLI. Existing code would do a full device restart when "skinny
	  reset device" was entered at the CLI and do a reset when "skinny
	  reset device restart" entered. ........ Merged revisions 405893
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-17 22:09 +0000 [r405878]  Sean Bright <sean@malleable.com>

	* /, channels/chan_sip.c: Make sure the maxptime attribute is added
	  to the correct offers. ........ Merged revisions 405877 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-17 21:33 +0000 [r405862-405876]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/format_pref.c, main/sorcery.c, main/frame.c, /,
	  include/asterisk/format_pref.h, res/res_pjsip_sdp_rtp.c: pjsip:
	  fix support for allow=all This change adds improvements to
	  support for allow=all in pjsip.conf so that it functions as
	  intended. Previously, the allow/disallow socery configuration
	  would set & clear codecs from the media.codecs and media.prefs
	  list, but if all was specified the prefs list was not updated.
	  Then a call would fail when create_outgoing_sdp_stream() created
	  an SDP with no audio codecs. A new function
	  ast_codec_pref_append_all() is provided to add all codecs to the
	  prefs list - only those not already on the list. This enables the
	  configuration to specify a codec preference, but still add all
	  codecs, and even then remove some codecs, as shown in this
	  example: allow = ulaw, alaw, all, !g729, !g723 Also, the display
	  order of allow in cli output is updated to match the
	  configuration by using prefs instead of caps when generating a
	  human readable string. Finally, a change to
	  create_outgoing_sdp_stream() skips a codec when it does not have
	  a payload code instead of the call failing. (closes issue
	  ASTERISK-23018) Reported by: xrobau Review:
	  https://reviewboard.asterisk.org/r/3131/ ........ Merged
	  revisions 405875 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/http.c: http: supported chunked Transfer-Encoding This
	  change implements support for HTTP Transfer-Encoding chunked in
	  both JSON and Form (post vars) body content. A new function
	  ast_http_get_contents() handles both regular and chunked mode
	  body, returning after the entire body is received. (closes issue
	  ASTERISK-23068) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3125/ ........ Merged
	  revisions 405861 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-17 18:55 +0000 [r405778-405844]  Rusty Newton <rnewton@digium.com>

	* res/res_pjsip.c, /: Fixing some XML syntax issues with my
	  previous commit at r405777 for ASTERISK-23071 ........ Merged
	  revisions 405843 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c, doc/asterisk.8, main/features.c,
	  configs/sip.conf.sample, apps/app_queue.c, apps/app_transfer.c,
	  channels/chan_iax2.c: Documentation: doc fixes across various
	  parts of the code for ASTERISK issues 23061,23028,23046,23027
	  Fixes typos of "transfered" instead of "transferred" in various
	  code. Fixes incorrect gosub param help text for app_queue. Fixes
	  Asterisk man pages containing unquoted minus signs. Adds note
	  about the "textsupport" option in sip.conf.sample. (issue
	  ASTERISK-23061) (issue ASTERISK-23028) (issue ASTERISK-23046)
	  (issue ASTERISK-23027) (closes issue ASTERISK-23061) (closes
	  issue ASTERISK-23028) (closes issue ASTERISK-23046) (closes issue
	  ASTERISK-23027) Reported by: Eugene, Jeremy Laine, Denis
	  Pantsyrev Patches: transferred.patch uploaded by Jeremy Laine
	  (license 6561) hyphen.patch uploaded by Jeremy Laine (license
	  6561) sip.conf.sample.patch uploaded by Eugene (license 6360)
	  ........ Merged revisions 405791 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 405792 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405829 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip.c, /: res_pjsip: enhance documentation for
	  mailboxes options, for both endpoints and aors Made documentation
	  more explicit as to the use of the both options. (issue
	  ASTERISK-23071) (closes issue ASTERISK-23071) Reported by: Matt
	  Jordan ........ Merged revisions 405777 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-17 14:17 +0000 [r405766]  Walter Doekes <walter+asterisk@wjd.nu>

	* res/res_musiconhold.c, CHANGES: Enable wide band audio in
	  musiconhold streams. Review:
	  https://reviewboard.asterisk.org/r/3112/

2014-01-16 20:06 +0000 [r405747-405749]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip/pjsip_options.c, /: res_pjsip: AOR option
	  qualify_frequency not respected on startup If an endpoint had
	  previously dynamically registered a contact and the contact
	  information was successfully stored in astdb then upon restart
	  the qualify notifications would not be sent out if the
	  qualify_frequency was set. This was due to the fact that only
	  permanent contacts were being checked and scheduled for qualifies
	  on startup. Modified the code to check and schedule all
	  registered contacts at startup. (closes issue ASTERISK-23062)
	  Reported by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/3124/ ........ Merged
	  revisions 405748 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/manager.c, /: manager: Originate doesn't abort on failed
	  format_cap allocation action_originate responds to the remote
	  system with an error when cap==NULL, but doesn't return (abort
	  the originate). Patched to return. (closes issue ASTERISK-23034)
	  Reported by: Corey Farrell Patches: ASTERISK-23034.patch uploaded
	  by coreyfarrell (license 5909) ........ Merged revisions 405745
	  from http://svn.asterisk.org/svn/asterisk/branches/11 ........
	  Merged revisions 405746 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-16 19:33 +0000 [r405744]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_pjsip.c: PJSIP: Fix outbound OPTIONS support When path
	  support was added and contacts were made available during request
	  creation and transmission, the code path used by outbound qualify
	  support was not modified correctly and was causing request
	  creation to fail. This ensures that outbound request creation
	  with only a contact and no dialog, endpoint, or uri can succeed
	  which restores qualify support. Reported by: gtjoseph Reported
	  by: kharwell ........ Merged revisions 405743 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-16 19:13 +0000 [r405644-405695]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_fax.c, configs/res_fax.conf.sample: res_fax:
	  check_modem_rate() returned incorrect rate for V.27 According to
	  the new standard for V.27 and V.32 they are able to transmit at a
	  bit rate of 4,800 or 9,600. The check_mode_rate function needed
	  to be updated to reflect this. Also, because of this change the
	  default 'minrate' value was updated to be 4800. (closes issue
	  ASTERISK-22790) Reported by: Paolo Compagnini Patches:
	  res_fax.txt uploaded by looserouting (license 6548) ........
	  Merged revisions 405656 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 405693 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405694 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_pjsip.c: chan_pjsip: initial device state on
	  endpoints is INVALID When endpoints get loaded their device state
	  gets set to 'INVALID' because the channel driver has not been
	  loaded yet. Fixed by updating the device state for every endpoint
	  upon load of the channel driver. (closes issue ASTERISK-23065)
	  Reported by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/3123/ ........ Merged
	  revisions 405643 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-15 16:51 +0000 [r405586-405589]  Jonathan Rose <jrose@digium.com>

	* CHANGES: Make 12 - 12.1 CHANGES log the same as in 12

	* CHANGES, /: Include CHANGES info for r405553 ........ Merged
	  revisions 405585 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-15 16:36 +0000 [r405584]  Joshua Colp <jcolp@digium.com>

	* /, cel/cel_manager.c: cel_manager: Don't crash if configuration
	  file is invalid. The cel_manager module did not properly handle
	  the case where the configuration file was invalid. The module
	  will now output a warning message and disable itself if this
	  occurs. Reported by: Bryan Walters ........ Merged revisions
	  405581 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 405582 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405583 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-15 13:16 +0000 [r405566]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
	  res/res_pjsip_path.c (added), res/res_pjsip_mwi.c,
	  res/res_pjsip/pjsip_distributor.c, res/res_pjsip_diversion.c,
	  channels/chan_pjsip.c, res/res_pjsip_registrar.c,
	  res/res_pjsip_refer.c, include/asterisk/res_pjsip.h,
	  include/asterisk/res_pjsip_session.h, res/res_pjsip_notify.c, /,
	  res/res_pjsip_messaging.c, res/res_pjsip_caller_id.c,
	  res/res_pjsip_t38.c, res/res_pjsip.c,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip_nat.c,
	  res/res_pjsip_session.c,
	  contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py
	  (added), res/res_pjsip_header_funcs.c: PJSIP: Add Path header
	  support This adds Path support to chan_pjsip in res_pjsip_path.c
	  with minimal additions in res_pjsip_registrar.c to store the path
	  and additions in res_pjsip_outbound_registration.c to enable
	  advertisement of path support to registrars and intervening
	  proxies. Path information is stored on contacts and is enabled
	  via Address of Record (AoRs) and Registration configuration
	  sections. While adding path support, it became necessary to be
	  able to add SIP supplements that handled messages outside of
	  sessions, so a framework for handling these types of hooks was
	  added in parallel to the already-existing session supplements and
	  several senders of out-of-dialog requests were refactored as a
	  result. (closes issue ASTERISK-21084) Review:
	  https://reviewboard.asterisk.org/r/3050/ ........ Merged
	  revisions 405565 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-14 23:44 +0000 [r405554]  Jonathan Rose <jrose@digium.com>

	* res/res_stasis_mailbox.exports.in (added),
	  res/ari/ari_model_validators.h, rest-api/api-docs/mailboxes.json
	  (added), include/asterisk/stasis_app_mailbox.h (added),
	  res/ari/resource_mailboxes.c (added), /, res/ari.make,
	  res/res_ari_mailboxes.c (added), res/ari/resource_mailboxes.h
	  (added), res/res_stasis_mailbox.c (added),
	  rest-api/resources.json, res/ari/ari_model_validators.c: ARI: Add
	  mailboxes resource for controlling and polling external MWI Adds
	  the following AMI commands: PUT mailboxes/mailboxName modifies
	  mailbox state and implicitly creates new mailboxes GET
	  mailboxes/mailboxName retrieves a JSON representation of a single
	  mailbox if it exists GET mailboxes retrieves a JSON array of all
	  mailboxes DELETE mailbox/mailboxName deletes a mailbox Note that
	  res_mwi_external must be loaded for these functions to actually
	  do anything. Review: https://reviewboard.asterisk.org/r/3117/
	  ........ Merged revisions 405553 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-14 21:46 +0000 [r405542]  Richard Mudgett <rmudgett@digium.com>

	* main/strings.c, /: string container: Remove unnecessary RAII_VAR
	  usage and string object lock. ........ Merged revisions 405541
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-14 18:15 +0000 [r405437]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, channels/chan_sip.c: chan_sip: fix Local From tag on outbound
	  register regression In ASTERISK-12117, an improvement to insure
	  consistant local from tags on outbound registrations resulted in
	  an undesirable behavior - caused by leftover unexpired sip_pvt
	  dialogs (with the previous cseq number), resulting in many
	  uncessary REGISTER requests. Instead of significant rework of
	  transmit_register(), this change deletes the dialogs after a 200
	  OK response indiciating a successful registration, keeping the
	  old dialogs from interfering with normal operation. (closes issue
	  ASTERISK-22946) Reported by: Stephan Eisvogel Review:
	  https://reviewboard.asterisk.org/r/3109/ ........ Merged
	  revisions 405433 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 405434 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405435 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-14 18:14 +0000 [r405436]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_verbose.c, main/asterisk.c, configs/logger.conf.sample,
	  main/cli.c, include/asterisk/logger.h, main/pbx.c,
	  main/manager.c, /, funcs/func_timeout.c, apps/app_dumpchan.c,
	  main/logger.c, UPGRADE.txt: verbosity: Fix performance of console
	  verbose messages. The per console verbose level feature as
	  previously implemented caused a large performance penalty. The
	  fix required some minor incompatibilities if the new rasterisk is
	  used to connect to an earlier version. If the new rasterisk
	  connects to an older Asterisk version then the root console
	  verbose level is always affected by the "core set verbose"
	  command of the remote console even though it may appear to only
	  affect the current console. If an older version of rasterisk
	  connects to the new version then the "core set verbose" command
	  will have no effect. * Fixed the verbose performance by not
	  generating a verbose message if nothing is going to use it and
	  then filtered any generated verbose messages before actually
	  sending them to the remote consoles. * Split the "core set debug"
	  and "core set verbose" CLI commands to remove the per module
	  verbose support that cannot work with the per console verbose
	  level. * Added a silent option to the "core set verbose" command.
	  * Fixed "core set debug off" tab completion. * Made "core show
	  settings" list the current console verbosity in addition to the
	  root console verbosity. * Changed the default verbose level of
	  the 'verbose' setting in the logger.conf [logfiles] section. The
	  default is now to once again follow the current root console
	  level. As a result, using the AMI Command action with "core set
	  verbose" could again set the root console verbose level and
	  affect the verbose level logged. (closes issue AST-1252) Reported
	  by: Guenther Kelleter Review:
	  https://reviewboard.asterisk.org/r/3114/ ........ Merged
	  revisions 405431 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405432 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-14 16:43 +0000 [r405420]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip/pjsip_distributor.c: Fix erroneous behavior when
	  sending auth rejection to artificial endpoint. We were not
	  including an authentication challenge when sending a 401 response
	  to unmatched endpoints. This was due to the conversion to use a
	  vector for authentication section names on an endpoint. The
	  vector for artificial endpoints was empty, resulting in the
	  challenge being sent back containing no challenges. This is
	  worked around by placing a bogus value in the artificial
	  endpoint's auth vector. This value is never looked up by
	  anything, since they instead will directly call
	  ast_sip_get_artificial_auth().

2014-01-14 03:27 +0000 [r405369]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Skinny: do not add call to missed
	  calls list if answered elsewhere. Patch updates skinny devices
	  with a SKINNY_CONNECTED callstate if an inbound ringing or
	  callwaiting call is answered elsewhere. ........ Merged revisions
	  405367 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-13 13:34 +0000 [r405339]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_pjsip/pjsip_cli.c: res_pjsip: Fix CLI tab completion
	  issues This fixes several issues with the new res_pjsip CLI tab
	  completion such as output of headers during tab completion and
	  being able to tab-complete more items than the code actually
	  handled (further items would simply be ignored). (closes issue
	  ASTERISK-23081) Review: https://reviewboard.asterisk.org/r/3115/
	  Reported by: xrobau ........ Merged revisions 405338 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-12 22:24 +0000 [r405326]  Joshua Colp <jcolp@digium.com>

	* res/ari/resource_playbacks.c, res/ari/resource_channels.c,
	  include/asterisk/ari.h, res/ari/resource_bridges.c,
	  res/ari/resource_recordings.c, res/ari/resource_device_states.c,
	  res/res_ari.c, res/ari/resource_endpoints.c, /,
	  res/ari/resource_applications.c: res_ari: Fix various memory
	  leaks. This change fixes a few memory leaks that were found based
	  on a mailing list post. 1. Some JSON response messages were never
	  freed. This was caused by the documentation stating that message
	  references were stolen when in reality they were not. The code
	  now follows the documentation and usage has been updated. 2. HTTP
	  response headers were never freed. 3. The variable list for
	  wildcards paths was never freed. (closes issue ASTERISK-23128)
	  Reported by: Kenneth Watson (on list) Review:
	  https://reviewboard.asterisk.org/r/3119/ ........ Merged
	  revisions 405325 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-12 22:13 +0000 [r405313-405314]  Matthew Jordan <mjordan@digium.com>

	* apps/app_forkcdr.c, /, funcs/func_cdr.c, include/asterisk/cdr.h,
	  apps/app_cdr.c, main/cdr.c: CDRs: Synchronize dialplan
	  applications that manipulate CDRs with the engine In
	  https://reviewboard.asterisk.org/r/3057/, applications and
	  functions that manipulate CDRs were made to interact over Stasis.
	  This was done to synchronize manipulations of CDRs from the
	  dialplan with the updates the engine itself receives over the
	  message bus. This change rested on a faulty premise: that
	  messages published to the CDR topic or to a topic that forwards
	  to the CDR topic are synchronized with the messages handled by
	  the CDR topic subscription in the CDR engine. This is not the
	  case. There is no ordering guaranteed for two messages published
	  to the same topic; ordering is only guaranteed if a message is
	  published to the same subscriber. Stasis was modified in r405311
	  to allow a publisher to synchronize on the subscriber. This patch
	  uses that API to synchronize the CDR publishers with the CDR
	  engine message router, which maintains the overall topic
	  subscription. (closes issue ASTERISK-22884) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/3099/ ........
	  Merged revisions 405312 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis.c, main/stasis_message_router.c, /,
	  include/asterisk/stasis.h,
	  include/asterisk/stasis_message_router.h, tests/test_stasis.c:
	  stasis: Add methods to allow for synchronous publishing to
	  subscriber This patch adds an API call to Stasis that allows a
	  publisher to publish a stasis message that will not return until
	  a specific subscriber handles the message. Since a subscriber can
	  have their own forwarding topic which orders messages from many
	  topics, this allows a publisher who knows of that subscriber to
	  synchronize to that subscriber regardless of the forwarding
	  relationships between topics. This is of particular use for
	  dialplan applications that need to synchronize on a particular
	  subscriber's handling of a message. (issue ASTERISK-22884)
	  Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3099/ ........ Merged
	  revisions 405311 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-10 20:00 +0000 [r405299]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip/security_events.c: Print "<unknown>" for
	  artificial endpoint in PJSIP security events. Previously, this
	  printed a UUID, which was not very clear when dealing with an
	  artificial endpoint. Review:
	  https://reviewboard.asterisk.org/r/3113 ........ Merged revisions
	  405298 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-10 18:17 +0000 [r405284]  Richard Mudgett <rmudgett@digium.com>

	* /, main/logger.c: Logging callid: Fix some sizeof() references
	  per coding guidelines. ........ Merged revisions 405281 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405282 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-09 23:52 +0000 [r405270]  Jonathan Rose <jrose@digium.com>

	* res/res_pjsip_session.c: PJSIP: Add unhold on reinvite without
	  SDP behavior Review: https://reviewboard.asterisk.org/r/3106/

2014-01-09 23:50 +0000 [r405269]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_dahdi.c, /: Fix chan_dahdi copile issue in
	  dev-mode. Error "unused variable i in dahdi_create_channel_range"
	  when compiling in dev-mode. Small restructure to
	  dahdi_create_channel_range to move the for(x) loop and int i,x to
	  a block within the IFDEF. ........ Merged revisions 405268 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-09 23:39 +0000 [r405267]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip.c, /, res/res_pjsip_messaging.c:
	  res_pjsip_messaging: potential for field values in from/to
	  headers to be missing Added in ability to specify display name
	  format ("name" <sip:name@ipaddr:port>) for a given URI and made
	  sure it was fully propagated to the outgoing message. Also made
	  it so outoing messages in res_pjsip always send as "sip:".
	  (closes issue ASTERISK-22924) Reported by: Anthony Messina
	  Review: https://reviewboard.asterisk.org/r/3094/ ........ Merged
	  revisions 405266 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-09 20:34 +0000 [r405254]  Kinsey Moore <kmoore@digium.com>

	* main/astobj2.c, res/res_pjsip_session.c, /,
	  include/asterisk/astobj2.h: astobj2: Correct ao2_iterator opacity
	  violations This corrects the ao2_iterator opacity violations in
	  res_pjsip_session.c by adding a global function to get the number
	  of elements inside the container hidden behind the iterator.
	  (closes issue ASTERISK-23053) Review:
	  https://reviewboard.asterisk.org/r/3111/ Reported by: Richard
	  Mudgett ........ Merged revisions 405253 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-09 16:52 +0000 [r405236]  Kevin Harwell <kharwell@digium.com>

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fails to resume
	  WebRTC call from hold In ast_rtp_ice_start if the ice session
	  create check list failed, start check was never initiated and
	  ice_started was never set to true. Upon re-entering the function
	  (for instance, [un]hold) it would try to create the check list
	  again with duplicate remote candidates. Fixed so that if the
	  create check list fails the necessary data structures are
	  properly re-initialized for any subsequent retries. Note, it was
	  decided to not stop ice support (by calling ast_rtp_ice_stop) on
	  a check list failure because it possible things might still work.
	  However, a debug message was added to help with any future
	  troubleshooting. (closes issue ASTERISK-22911) Reported by: Vytis
	  Valentinavičius Patches: works_on_my_machine.patch uploaded by
	  xytis (license 6558) ........ Merged revisions 405234 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405235 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-09 15:50 +0000 [r405217]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_confbridge.c,
	  apps/confbridge/conf_state_multi_marked.c: app_confbridge: Fix
	  crash caused when waitmarked/marked users leave together When
	  waitmarked users join a ConfBridge, the conference state is
	  transitioned from EMPTY -> INACTIVE. In this state, the users are
	  maintined in a waiting users list. When a marked user joins, the
	  ConfBridge conference transitions from INACTIVE -> MULTI_MARKED,
	  and all users are put onto the active list of users. This process
	  works correctly. When the marked user leaves, if they are the
	  last marked user, the MULTI_MARKED state does the following: (1)
	  It plays back a message to the bridge stating that the leader has
	  left the conference. This requires an unlocking of the bridge.
	  (2) It moves waitmarked users back to the waiting list (3) It
	  transitions to the appropriate state: in this case, INACTIVE
	  However, because it plays the prompt back to the bridge before
	  moving the users and before finishing the state transition, this
	  creates a race condition: with the bridge unlocked, waitmarked
	  users who leave the conference (or are kicked from it) can cause
	  a state transition of the bridge to another state before the
	  conference is transitioned to the INACTIVE state. This causes the
	  state machine to get a bit wonky, often leading to a crash when
	  the MULTI_MARKED state attempts to conclude its processing. This
	  patch fixes this problem: (1) It prevents kicked users from being
	  kicked again. That's just a nicety. (2) More importantly, it
	  fixes the race condition by only playing the prompt once the
	  state has transitioned correctly to INACTIVE. If waitmarked users
	  sneak out during the prompt being played, no harm no foul.
	  Review: https://reviewboard.asterisk.org/r/3108/ Note that the
	  patch committed here is essentially the same as uploaded by Simon
	  Moxon on ASTERISK-22740, with the addition of the double kick
	  prevention. (closes issue AST-1258) Reported by: Steve Pitts
	  (closes issue ASTERISK-22740) Reported by: Simon Moxon patches:
	  ASTERISK-22740.diff uploaded by Simon Moxon (license 6546)
	  ........ Merged revisions 405215 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405216 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-09 14:15 +0000 [r405163]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, apps/app_dumpchan.c: "Minimun" typo. ........ Merged revisions
	  405160 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 405161 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405162 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-08 17:23 +0000 [r405144]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip/security_events.c: Use proper case for checking
	  if digest authentication is used. ........ Merged revisions
	  405131 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-08 16:34 +0000 [r405129-405130]  Kinsey Moore <kmoore@digium.com>

	* /, configure, configure.ac, pbx/pbx_lua.c: pbx_lua: Add support
	  for Lua 5.2 This adds support for Lua 5.2 in pbx_lua which is
	  available on newer operating systems. (closes issue
	  ASTERISK-23011) Review: https://reviewboard.asterisk.org/r/3075/
	  Reported by: George Joseph Patch by: George Joseph ........
	  Merged revisions 405090 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 405091 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405124 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c: Add the missing part of r400140 When the
	  patch to add retry-on-forbidden-response was committed, part of
	  the patch for chan_sip was not committed which caused the feature
	  to be entirely nonfunctional. This corrects the code in question.
	  (closes issue ASTERISK-17138) Review:
	  https://reviewboard.asterisk.org/r/2874 ........ Merged revisions
	  405033 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 405081 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 405083 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-07 19:56 +0000 [r405020-405035]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip_acl.c: res_pjsip_acl: Fix another case of
	  assuming a contact will always contain a URI. ........ Merged
	  revisions 405034 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_nat.c: res_pjsip_nat: Don't assume a Contact
	  header will always contain a URI. If the 'rewrite_contact' option
	  was enabled and a Contact header was received which contained a
	  '*' a crash would occur. This change makes the res_pjsip_nat
	  module ignore the Contact header if it contains only a '*'.
	  (closes issue ASTERISK-23101) Reported by: Matt Jordan ........
	  Merged revisions 405019 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-06 21:55 +0000 [r404953-405007]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_voicemail.c, /: app_voicemail: Explicitly set
	  defaultenabled=yes ........ Merged revisions 405006 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_mwi_external_ami.c (added): External MWI AMI support.
	  The external MWI AMI interface provides a thin wrapper around the
	  core external MWI resource. The resource adds the following AMI
	  actions: MWIGet, MWIDelete, and MWIUpdate. (closes issue AFS-46)
	  Review: https://reviewboard.asterisk.org/r/3061/ ........ Merged
	  revisions 404954 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_mwi_external.c (added), configs/sorcery.conf.sample,
	  include/asterisk/res_mwi_external.h (added),
	  res/res_mwi_external.exports.in (added), apps/app_voicemail.c:
	  External MWI core support. * The core external MWI resource
	  provides for MWI message counts persistence using sorcery. With
	  sorcery, the user is able to configure which sorcery wizzard
	  backend to use if the default astdb is not desired. * The core
	  external MWI resoruce provides some debugging CLI commands
	  enabled by defining MWI_DEBUG_CLI. The debugging CLI commands
	  are: "mwi delete all", "mwi delete like <regex>", "mwi delete
	  mailbox <mailbox>", "mwi list all", "mwi list like <regex>", "mwi
	  show mailbox <mailbox>", and "mwi update mailbox <mailbox> [<new>
	  [<old>]]". (closes issue AFS-43) Review:
	  https://reviewboard.asterisk.org/r/3061/ ........ Merged
	  revisions 404952 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-05 16:01 +0000 [r404924-404936]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip_outbound_registration.c:
	  res_pjsip_outbound_registration: Don't assume that a registration
	  client will always exist. ........ Merged revisions 404935 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_outbound_registration.c:
	  res_pjsip_outbound_registration: Create registration client in pj
	  thread. Depending on which threading was loading the outbound
	  registration it was possible for the registration client to be
	  allocated outside of a pj thread. This change moves the creation
	  inside the synchronous task where it is guaranteed it will occur
	  in a pj thread. Reported by: Rob Thomas ........ Merged revisions
	  404923 from http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-04 10:52 +0000 [r404912]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* main/asterisk.c, /: asterisk.c: suppress live_dangerously warning
	  on rasterisk Even since the fixes of AST-2013-007, Asterisk
	  prints the following warning on startup if the user decided to
	  live dangerously: Privilege escalation protection disabled! See
	  https://wiki.asterisk.org/wiki/x/1gKfAQ for more details. This
	  message is intended for the logs and interactive startup. No need
	  for it to appear on a remote console. This commit removes it from
	  there. (closes issue ASTERISK-23084) Review:
	  https://reviewboard.asterisk.org/r/3101/ ........ Merged
	  revisions 404861 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404888 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404911 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-03 22:00 +0000 [r404860]  Kevin Harwell <kharwell@digium.com>

	* cel/cel_pgsql.c, /: cel_pgsql: module not correctly reloading
	  Upon reload the module unconditionally "unloaded" the module
	  (freeing memory and setting pointers to NULL) and then when
	  attempting a "load" if the config file had not changed then
	  nothing would be reinitialized. By moving the "unload" to occur
	  conditionally (reload only) after an attempted configuration
	  load, but before module "loading" alleviates the issue. The
	  module now loads/unloads/reloads correctly. (closes issue
	  ASTERISK-22871) Reported by: Matteo ........ Merged revisions
	  404857 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 404858 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404859 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-03 21:45 +0000 [r404844-404856]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_pjsip_logger.c: res_pjsip_logger: Add the
	  ASTERISK_FILE_VERSION macro Registering yourself with the
	  Asterisk core is the nice thing to do, even when you're a logging
	  module. ........ Merged revisions 404855 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_authenticator_digest.c, tests/test_utils.c:
	  res_pjsip_authenticator_digest: Fix md5 hash buffer An md5 hash
	  is 32 bytes long. The char buffer must be at least 33 bytes to
	  avoid clobbering of the stack. This patch also fixes a potential
	  clobbering in test_utils.c. Thanks to Andrew Nagy for reporting
	  and testing this out in #asterisk-dev Reported by: Andrew Nagy
	  Tested by: Andrew Nagy ........ Merged revisions 404843 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-03 20:02 +0000 [r404787-404832]  Kevin Harwell <kharwell@digium.com>

	* main/manager.c: manager: UserEvent including action on output AMI
	  action UserEvent event response would include the action header
	  in its keyvalue pairs list. Adjusted the start of the header loop
	  to skip over the action part. (closes issue ASTERISK-22899)
	  Reported by: outtolunc Patches:
	  svn_manager.c.skip_action.diff.txt uploaded by outtolunc (license
	  5198)

	* channels/chan_dahdi.c, /: chan_dahdi: dahdi show channels slices
	  PRI channel dnid on output dahdi show channels output slices the
	  callerid (which is dnid copied over on PRI channels). If the
	  channel naming structures look like: 'DAHDI/i1/1408409XXXX-6'
	  then the output slices 1408409XXXX down to 1408409XXX. This patch
	  just opens it up to 15 chars so you can see the whole thing.
	  (closes issue ASTERISK-22918) Reported by: outtolunc Patches:
	  svn_chan_dahdi.c.format12_15.diff.txt uploaded by outtolunc
	  (license 5198) ........ Merged revisions 404784 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404785 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404786 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-03 18:33 +0000 [r404783]  Richard Mudgett <rmudgett@digium.com>

	* tests/test_stasis.c, /: test_stasis.c: Fix ref leak in normal
	  execution path. ........ Merged revisions 404764 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-03 18:31 +0000 [r404782]  Kevin Harwell <kharwell@digium.com>

	* /, apps/app_meetme.c: app_meetme: compiler warning Fixed a
	  compiler warning (errors in 'dev-mode') given by gcc version
	  4.8.1. The one in app_meetme involved the
	  'sizeof-pointer-memaccess' (see:
	  http://gcc.gnu.org/gcc-4.8/porting_to.html) warning. Fixed so it
	  would no longer issue a warning and can compile again in
	  'dev-mode'. Review: https://reviewboard.asterisk.org/r/3098/
	  ........ Merged revisions 404742 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404773 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404781 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-03 17:27 +0000 [r404726-404738]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip/pjsip_configuration.c, /, res/res_pjsip/location.c:
	  res_pjsip: Ensure more URI validation happens in pj threads.
	  ........ Merged revisions 404737 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_outbound_registration.c:
	  res_pjsip_outbound_registration: Ensure URI validation happens in
	  a pjlib thread. This change moves outbound registration URI
	  validation into the task executed within a pjlib thread. Reported
	  by: Andrew Nagy ........ Merged revisions 404725 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-02 19:38 +0000 [r404677]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, funcs/func_strings.c: func_strings: use memmove to prevent
	  overlapping memory on strcpy When calling REPLACE() with an empty
	  replace-char argument, strcpy is used to overwrite the the
	  matching <find-char>. However as the src and dest arguments to
	  strcpy must not overlap, it causes other parts of the string to
	  be overwritten with adjacent characters and the result is
	  mangled. Patch replaces call to strcpy with memmove and adds a
	  test suite case for REPLACE. (closes issue ASTERISK-22910)
	  Reported by: Gareth Palmer Review:
	  https://reviewboard.asterisk.org/r/3083/ Patches:
	  func_strings.patch uploaded by Gareth Palmer (license 5169)
	  ........ Merged revisions 404674 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404675 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404676 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2014-01-02 19:08 +0000 [r404664]  Kevin Harwell <kharwell@digium.com>

	* channels/chan_pjsip.c, include/asterisk/res_pjsip.h, /,
	  configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
	  CHANGES, res/res_pjsip.c: res_pjsip: add 'set_var' support on
	  endpoints Added a new 'set_var' option for ast_sip_endpoint(s).
	  For each variable specified that variable gets set upon creation
	  of a pjsip channel involving the endpoint. (closes issue
	  ASTERISK-22868) Reported by: Joshua Colp Review:
	  https://reviewboard.asterisk.org/r/3095/ ........ Merged
	  revisions 404663 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-31 22:51 +0000 [r404620-404653]  Joshua Colp <jcolp@digium.com>

	* channels/chan_pjsip.c, res/res_pjsip_session.c, /: chan_pjsip:
	  Handle hanging up before calling. Channel creation in Asterisk is
	  broken up into two steps: requesting and calling. In some cases a
	  channel may be requested but never called. This happens in the
	  ChanIsAvail dialplan application for determining if something is
	  reachable or not. The PJSIP channel driver did not take this
	  situation into account and attempted to end a session that was
	  never called out on. The code now checks the session state to
	  determine if the session has been called out on and if not
	  terminates it instead of ending it. (closes issue ASTERISK-23074)
	  Reported by: Kilburn ........ Merged revisions 404652 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_endpoint_identifier_ip.c:
	  res_pjsip_endpoint_identifier_ip: Accept hostnames in the 'match'
	  field. Hostnames specified in the 'match' field will be resolved
	  and all addresses returned. Each address will be added to the
	  endpoint identifier for the matching process. Reported by: Rob
	  Thomas ........ Merged revisions 404613 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-31 21:39 +0000 [r404606]  Kevin Harwell <kharwell@digium.com>

	* cel/cel_pgsql.c, /: cel_pgsql: deadlock on unload and
	  core_event_dispatcher A deadlock can happen between a thread
	  unloading or reloading the cel_pgsql module and the
	  core_event_dispatcher taskprocessor thread. Description of what
	  is happening: Thread 1 (for example, a netconsole thread): a
	  "module reload cel_pgsql" is launched the thread enter the
	  "my_unload_module" function (cel_pgsql.c) the thread acquire the
	  write lock on psql_columns the thread enter the
	  "ast_event_unsubscribe" function (event.c) the thread try to
	  acquire the write lock on ast_event_subs[sub->type] Thread 2
	  (core_event_dispatcher taskprocessor thread): the taskprocessor
	  pop a CEL event the thread enter the "handle_event" function
	  (event.c) the thread acquire the read lock on
	  ast_event_subs[sub->type] the thread callback the "pgsql_log"
	  function (cel_pgsql.c), since it's a subscriber of CEL events the
	  thread try to acquire a read lock on psql_columns (closes issue
	  ASTERISK-22854) Reported by: Etienne Lessard Patches:
	  cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license
	  6394) ........ Merged revisions 404603 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404604 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404605 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-31 20:27 +0000 [r404593]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_outbound_registration.c, /:
	  res_pjsip_outbound_registration: Add validation for 'server_uri'
	  and 'client_uri'. When applying configuration for outbound
	  registrations the 'server_uri' and 'client_uri' fields were not
	  validated. The code will now confirm that they exist and that
	  they contain parseable SIP URIs. Reported by: Andrew Nagy
	  ........ Merged revisions 404592 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-30 23:25 +0000 [r404582]  Kevin Harwell <kharwell@digium.com>

	* main/channel.c, /: channels.c: core show channeltypes slicing
	  'core show channeltypes' type column is being sliced, resulting
	  in incomplete type names. (closes issue ASTERISK-22919) Reported
	  by: outtolunc Patches: svn_channel.c.format_15.diff.txt uploaded
	  by outtolunc (license 5198) ........ Merged revisions 404579 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404581 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-24 17:12 +0000 [r404567-404569]  David M. Lee <dlee@digium.com>

	* UPGRADE-12.txt, /: Added note to UPGRADE.txt about the default
	  value of live_dangerously changing ........ Merged revisions
	  404568 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/http.c: http: Properly reject requests with
	  Transfer-Encoding set Asterisk does not support any of the
	  transfer encodings specified in HTTP/1.1, other than the default
	  "identity" encoding. According to RFC 2616: A server which
	  receives an entity-body with a transfer-coding it does not
	  understand SHOULD return 501 (Unimplemented), and close the
	  connection. A server MUST NOT send transfer-codings to an
	  HTTP/1.0 client. This patch adds the 501 Unimplemented response,
	  instead of the hard work of actually implementing other
	  recordings. This behavior is especially problematic for Node.js
	  clients, which use chunked encoding by default. (closes issue
	  ASTERISK-22486) Review: https://reviewboard.asterisk.org/r/3092/
	  ........ Merged revisions 404565 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-24 02:20 +0000 [r404554]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Ensure dialog
	  manipulation happens on proper thread. When destroying a
	  subscription we remove the serializer from its dialog and
	  decrease its reference count. Depending on which thread dropped
	  the subscription reference count to 0 it was possible for this to
	  occur in a thread where it is not possible. (closes issue
	  ASTERISK-22952) Reported by: Matt Jordan ........ Merged
	  revisions 404553 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-23 16:38 +0000 [r404542]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
	  UPGRADE-12.txt: chan_dahdi: enable ignore_failed_channels by
	  default If ignore_failed_channels is set to "true" for a channel,
	  the channel will continue to be configured even if configuring it
	  has failed. This allows Asterisk to start before all the DAHDI
	  initialization is done and thus not force the starting order
	  dahdi -> asterisk. Review:
	  https://reviewboard.asterisk.org/r/3063/

2013-12-21 03:35 +0000 [r404532]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_pjsip/pjsip_cli.c: res_pjsip/pjsip_cli: fix
	  compilation error caused by passing ast_free When wanting to pass
	  *free as a function pointer, ast_free_ptr has to be used instead
	  of ast_free. This allows it to be compiled with MALLOC_DEBUG
	  enabled. ........ Merged revisions 404531 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 22:04 +0000 [r404511-404512]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c, res/ari/resource_channels.h, /,
	  rest-api/api-docs/applications.json: ari: Remove support for
	  specifying channel vars during origination. When we added support
	  for specifying channel variables for an origination, we didn't
	  consider how that would interact with another feature, namely
	  specifying request parameters in a JSON request body. The method
	  of specifying channel variables (as a flat JSON object passed in
	  the JSON body) interferes with parsing parameters out of the
	  request body. Unfortunately, fixing this would be a backward
	  incompatible change. In the interest of keeping the API sane and
	  keeping our release schedule, we're dropping the feature for
	  specifying channel variables in the origination request. We will
	  bring the feature back soon, as a backward compatible addition to
	  the API. (closes issue ASTERISK-23051) Review:
	  https://reviewboard.asterisk.org/r/3088 ........ Merged revisions
	  404509 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /: Remove automerge properties ........ Merged revisions 404488
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 21:32 +0000 [r404507]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/config.h, main/config.c, main/channel.c,
	  res/res_pjsip/location.c, include/asterisk/res_pjsip_cli.h
	  (added), res/res_pjsip/pjsip_cli.c (added),
	  include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/include/res_pjsip_private.h,
	  res/res_pjsip_registrar.c, main/sorcery.c,
	  include/asterisk/res_pjsip.h, CREDITS,
	  res/res_pjsip/config_auth.c, /,
	  res/res_pjsip_endpoint_identifier_ip.c: res_pjsip: Add PJSIP CLI
	  commands Implements the following cli commands: pjsip list aors
	  pjsip list auths pjsip list channels pjsip list contacts pjsip
	  list endpoints pjsip show aor(s) pjsip show auth(s) pjsip show
	  channels pjsip show endpoint(s) Also... Minor modifications made
	  to the AMI command implementations to facilitate reuse. New
	  function ast_variable_list_sort added to config.c and config.h to
	  implement variable list sorting. (issue ASTERISK-22610) patches:
	  pjsip_cli_v2.patch uploaded by george.joseph (License 6322)
	  ........ Merged revisions 404480 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 21:18 +0000 [r404461]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, main/say.c: say.c: correct time for polish In
	  ast_say_date_with_format_pl(), change ast_say_number() to use
	  tm_sec instead of tm_mn. (closes issue ASTERISK-22856) Reported
	  by: Robert Mordec Review:
	  https://reviewboard.asterisk.org/r/3082/ Patches: say.c.patch
	  uploaded by veilen (license 6555) ........ Merged revisions
	  404456 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 404457 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404458 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 20:28 +0000 [r404452]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip_refer.c: Fix issue where PJSIP blind transferer
	  dialog may not complete as planned. When transferring to a
	  dialplan extension that will not place any outbound calls, the
	  only control frames that the PJSIP REFER framehook will receive
	  are inconsequential (such as unhold or srcchange). As such, we
	  shouldn't allow for the reception of those types of frames
	  prevent us from signaling to the transferring party that the
	  transfer has completed successfully once voice frames are read.
	  Thanks to Jonathan Rose for pointing this out. ........ Merged
	  revisions 404439 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 20:05 +0000 [r404438]  Matthew Jordan <mjordan@digium.com>

	* /, res/ari/resource_applications.h,
	  res/res_stasis_device_state.c: res_stasis_device_state: Set
	  resource type for subscriptions to deviceState The documentation
	  for ARI already specifies that the device state resource when
	  used for subscribing for events is "deviceState", not
	  "device_state". The code, however, used "device_state"; although
	  this was inconsistent as well in doxygen comments in
	  resource_applications. Because the actual resource being
	  subscribed to is /deviceStates/{device}/, it makes sense for the
	  resource type specifier to be deviceState. Note that the key
	  value in the events is still "device_state". ........ Merged
	  revisions 404437 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 20:00 +0000 [r404436]  Richard Mudgett <rmudgett@digium.com>

	* res/ari/resource_channels.c, tests/test_scoped_lock.c,
	  tests/test_stasis.c, res/parking/parking_manager.c,
	  res/ari/resource_bridges.c, res/ari/resource_endpoints.c, /,
	  res/res_pjsip/location.c, tests/test_cel.c: ao2_iterator:
	  Mini-audit of the ao2_iterator loops in the new code files. *
	  Fixed several places where ao2_iterator_destroy() was not called.
	  * Fixed several iterator loop object variable reference problems.
	  * Fixed res_parking AMI actions returning non-zero. Only the AMI
	  logoff action can return non-zero. Review:
	  https://reviewboard.asterisk.org/r/3087/ ........ Merged
	  revisions 404434 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 19:25 +0000 [r404433]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/manager.h, /: manager: bump version to 2.0.0 AMI
	  has received substantial updates over the past year. Not only has
	  the syntax been vastly improved and made consistent (which
	  entails many event changes), but the underlying things that those
	  events convey have changed substantially as well. After some
	  conversation in #asterisk-dev, it was agreed that this is a good
	  time to jump to 2. At the same time, since ARI will most likely
	  use semantic versioning, we might as well use that for AMI as
	  well. That also affords us greater meaning for the AMI version.
	  ........ Merged revisions 404421 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 19:06 +0000 [r404420]  Richard Mudgett <rmudgett@digium.com>

	* /, main/sounds_index.c: Whitespace fixes. ........ Merged
	  revisions 404419 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-20 17:22 +0000 [r404406]  Rusty Newton <rnewton@digium.com>

	* /, configs/pjsip.conf.sample: Documentation: Updates for info
	  about NAT-related settings and fixes for pjsip.conf.sample Added
	  another NAT example to pjsip.conf.sample. We had a few mentions
	  of NAT configuration throughout the sample, but I added another
	  for a little bit more clarity. Additionally many pjsip options
	  were affected by the change to snake case, so I fixed any
	  instances of those options in pjsip.conf. I regenerated the
	  config option list (at the bottom of the file) from a new xml
	  config doc dump, so all the snake case changes should be
	  reflected there, as well as any other changes to those options.
	  (issue ASTERISK-23004) (closes issue ASTERISK-23004) Reported by:
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/3086/
	  ........ Merged revisions 404405 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 20:48 +0000 [r404387]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/security_events.c: security_events: log events with
	  descriptive names This patch updates the log messages to include
	  descriptive names for event types. This is an improvement over
	  having only cryptic type numbers. (closes issue ASTERISK-22909)
	  Reported by: outtolunc Review:
	  https://reviewboard.asterisk.org/r/3081/ Patches:
	  svn_security_events.c.names.diff.txt uploaded by outtolunc
	  (license 5198)

2013-12-19 18:16 +0000 [r404376]  Richard Mudgett <rmudgett@digium.com>

	* /, CHANGES: Put notice in CHANGES as well as UPGRADE.txt.
	  ........ Merged revisions 404375 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 18:00 +0000 [r404370-404372]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip/pjsip_outbound_auth.c, /: res_pjsip: Ignore 401/407
	  responses for transactions and dialogs we don't know about. Under
	  normal conditions it is unlikely we will ever receive a response
	  for a transaction or dialog we don't know about but if any are
	  received ignore them. ........ Merged revisions 404371 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_session.c: res_pjsip_session: Fix SDP
	  negotiation when resending an INVITE with authentication. The
	  process for resending an INVITE with authentication involves
	  restarting the UAC session. We were incorrectly passing in that a
	  new offer is being sent, causing the SDP negotiation to get into
	  a (technically speaking) funky state. ........ Merged revisions
	  404369 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 17:45 +0000 [r404368]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/channel.h, res/res_pjsip.c, main/channel.c, /,
	  include/asterisk/autochan.h: Fix a deadlock that occurred due to
	  a conflict of masquerades. For the explanation, here is a
	  copy-paste of the review board explanation: Initially, it was
	  discovered that performing an attended transfer of a multiparty
	  bridge with a PJSIP channel would cause a deadlock. A PBX thread
	  started a masquerade and reached the point where it was calling
	  the fixup() callback on the "original" channel. For chan_pjsip,
	  this involves pushing a synchronous task to the session's
	  serializer. The problem was that a task ahead of the fixup task
	  was also attempting to perform a channel masquerade. However,
	  since masquerades are designed in a way to only allow for one to
	  occur at a time, the task ahead of the fixup could not continue
	  until the masquerade already in progress had completed. And of
	  course, the masquerade in progress could not complete until the
	  task ahead of the fixup task had completed. Deadlock. The initial
	  fix was to change the fixup task to be asynchronous. While this
	  prevented the deadlock from occurring, it had the frightful side
	  effect of potentially allowing for tasks in the session's
	  serializer to operate on a zombie channel. Taking a step back
	  from this particular deadlock, it became clear that the problem
	  was not really this one particular issue but that masquerades
	  themselves needed to be addressed. A PJSIP attended transfer
	  operation calls ast_channel_move(), which attempts to both set up
	  and execute a masquerade. The problem was that after it had set
	  up the masquerade, the PBX thread had swooped in and tried to
	  actually perform the masquerade. Looking at changes that had been
	  made to Asterisk 12, it became clear that there never is any time
	  now that anyone ever wants to set up a masquerade and allow for
	  the channel thread to actually perform the masquerade. Everyone
	  always is calling ast_channel_move(), performs the masquerade
	  itself before returning. In this patch, I have removed all blocks
	  of code from channel.c that will attempt to perform a masquerade
	  if ast_channel_masq() returns true. Now, there is no distinction
	  between setting up a masquerade and performing the masquerade. It
	  is one operation. The only remaining checks for
	  ast_channel_masq() and ast_channel_masqr() are in ast_hangup()
	  since we do not want to interrupt a masquerade by hanging up the
	  channel. Instead, now ast_hangup() will wait for a masquerade to
	  complete before moving forward with its operation. The
	  ast_channel_move() function has been modified to basically
	  in-line the logic that used to be in ast_channel_masquerade().
	  ast_channel_masquerade() has been killed off for real.
	  ast_channel_move() now has a lock associated with it that is used
	  to prevent any simultaneous moves from occurring at once. This
	  means there is no need to make sure that ast_channel_masq() or
	  ast_channel_masqr() are already set on a channel when
	  ast_channel_move() is called. It also means the channel container
	  lock is not pulling double duty by both keeping the container
	  locked and preventing multiple masquerades from occurring
	  simultaneously. The ast_do_masquerade() function has been renamed
	  to do_channel_masquerade() and is now internal to channel.c. The
	  function now takes explicit arguments of which channels are
	  involved in the masquerade instead of a single channel. While it
	  probably is possible to do some further refactoring of this
	  method, I feel that I would be treading dangerously. Instead, all
	  I did was change some comments that no longer are true after this
	  changeset. The other more minor change introduced in this patch
	  is to res_pjsip.c to make ast_sip_push_task_synchronous() run the
	  task in-place if we are already a SIP servant thread. This is
	  related to this patch because even when we isolate the channel
	  masquerade to only running in the SIP servant thread, we would
	  still deadlock when the fixup() callback is reached since we
	  would essentially be waiting forever for ourselves to finish
	  before actually running the fixup. This makes it so the fixup is
	  run without having to push a task into a serializer at all.
	  (closes issue ASTERISK-22936) Reported by Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/3069 ........ Merged revisions
	  404356 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 17:13 +0000 [r404355]  Richard Mudgett <rmudgett@digium.com>

	* main/udptl.c, addons/chan_ooh323.c, /, channels/chan_sip.c,
	  include/asterisk/udptl.h: udptl: Dead code elimination.
	  ast_udptl_bridge was not used. Removing dead code starting with
	  ast_udptl_bridge() eliminated the code in this change. Note: This
	  code has actually been dead since Asterisk v1.4 when it was first
	  put in. Review: https://reviewboard.asterisk.org/r/3079/ ........
	  Merged revisions 404354 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 17:03 +0000 [r404353]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, res/res_fax.c: res_fax.c: crash on framehook with no dsp in
	  fax detect In fax_detect_framehook() a null pointer reference can
	  occur where a voice frame is processed but no dsp is attached to
	  the fax detection structure. The code block that rejects frames
	  that detection cannot be processed on is checking for dsp but
	  falls through when it should instead return, as this change
	  implements. (closes issue ASTERISK-22942) Reported by: adomjan
	  Review: https://reviewboard.asterisk.org/r/3076/ ........ Merged
	  revisions 404351 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404352 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 16:52 +0000 [r404350]  Richard Mudgett <rmudgett@digium.com>

	* configs/skinny.conf.sample, res/res_xmpp.c, res/res_jabber.c,
	  CHANGES, channels/chan_iax2.c, channels/sig_pri.c,
	  channels/h323/chan_h323.h, configs/iax.conf.sample,
	  channels/sig_pri.h, channels/chan_dahdi.c,
	  include/asterisk/app.h, channels/chan_skinny.c,
	  channels/chan_dahdi.h, channels/chan_h323.c, main/app.c,
	  UPGRADE-12.txt, configs/sip.conf.sample,
	  channels/sip/include/sip.h, channels/chan_mgcp.c,
	  apps/app_voicemail.c, channels/chan_unistim.c,
	  configs/chan_dahdi.conf.sample, /, channels/chan_sip.c,
	  configs/voicemail.conf.sample, funcs/func_vmcount.c: Voicemail:
	  Remove mailbox identifier format (box@context) assumptions in the
	  system. This change is in preparation for external MWI support.
	  Removed code from the system for normal mailbox handling that
	  appends @default to the mailbox identifier if it does not have a
	  context. The only exception is the legacy hasvoicemail users.conf
	  option. The legacy option will only work for app_voicemail
	  mailboxes. The system cannot make any assumptions about the
	  format of the mailbox identifer used by app_voicemail. chan_sip
	  and chan_dahdi/sig_pri had the most changes because they both
	  tried to interpret the mailbox identifier. chan_sip just stored
	  and compared the two components. chan_dahdi actually used the box
	  information. The ISDN MWI support configuration options had to be
	  reworked because chan_dahdi was parsing the box@context format to
	  get the box number. As a result the mwi_vm_boxes chan_dahdi.conf
	  option was added and is documented in the chan_dahdi.conf.sample
	  file. Review: https://reviewboard.asterisk.org/r/3072/ ........
	  Merged revisions 404348 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 16:33 +0000 [r404346]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/db.c, /: astdb: crash in sqlite3 during shutdown When
	  Asterisk is shut down, the astdb_atexit() function releases
	  (finalize) the previously initiated (prepared) SQL statements in
	  sqlite3. Another thread making a subsequent request can cause a
	  crash in sqlite3. This patch eliminates that issue by resetting
	  the statement pointer after it is released/cleared. The sqlite3
	  code detects the null pointer, and aborts the operation cleanly.
	  (closes issue AST-1265) Reported by: Alexander Hömig (closes
	  issue ASTERISK-22350) Reported by: Birger "WIMPy" Harzenetter
	  Review: https://reviewboard.asterisk.org/r/3078/ ........ Merged
	  revisions 404344 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404345 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 12:18 +0000 [r404333]  Joshua Colp <jcolp@digium.com>

	* main/channel.c, /: channel: Add a missing ast_channel_unlock when
	  allocating a Surrogate channel. ........ Merged revisions 404332
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 08:35 +0000 [r404321]  Alexandr Anikin <may@telecom-service.ru>

	* addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooGkClient.c,
	  addons/chan_ooh323.c, /, addons/ooh323c/src/ooGkClient.h: Handle
	  temporary failures on gk registration Introduce new 'stopped'
	  state for gk client and restart gk client on failures Remove
	  ooh323 stack command lock as it is not need now. (closes issue
	  ASTERISK-21960) Reported by: Dmitry Melekhov Patches:
	  ASTERISK-21960.patch ASTERISK-21960-stacklockup-2.patch Tested
	  by: Dmitry Melekhov ........ Merged revisions 404318 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404320 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 02:59 +0000 [r404307]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fixup some skinny bugs causing Fracks
	  and ao2 cleanup issues. Moved channel locking into setsubstate so
	  that a process can complete working on a sub before another
	  starts changing it. The existing code was causing some Fracks
	  with schedule deletion. Removed multiple rtp cleanup. Now only
	  cleansup up once, fixing ao2 object cleanup issues. ........
	  Merged revisions 404306 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 00:50 +0000 [r404295]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/cdr.h, CHANGES, apps/app_cdr.c, main/cdr.c,
	  apps/app_forkcdr.c, main/pbx.c, /, funcs/func_cdr.c,
	  apps/app_disa.c, UPGRADE-12.txt: app_cdr,app_forkcdr,func_cdr:
	  Synchronize with engine when manipulating state When doing the
	  rework of the CDR engine that pushed all of the logic into cdr.c
	  and made it respond to changes in channel state over Stasis, we
	  knew that accessing the CDR engine from the dialplan would be
	  "slightly" non-deterministic. Dialplan threads would be accessing
	  CDRs while Stasis threads would be updating the state of said
	  CDRs - whereas in the past, everything happened on the dialplan
	  threads. Tests have shown that "slightly" is in reality "very".
	  This patch synchronizes things by making the dialplan
	  applications/functions that manipulate CDRs do so over Stasis.
	  ForkCDR, NoCDR, ResetCDR, CDR, and CDR_PROP now all use Stasis to
	  send their requests over to the CDR engine, and synchronize on
	  the channel Stasis topic via a subscription so that they return
	  their values/control to the dialplan at the appropriate time.
	  While going through this, the following changes were also made: *
	  DISA, which can reset the CDR when a user successfully
	  authenticates, now just uses the ResetCDR app to do this. This
	  prevents having to duplicate the same Stasis synchronization
	  logic in that application. * Answer no longer disables CDRs. It
	  actually didn't work anyway - calling DISABLE on the channel's
	  CDR doesn't stop the CDR from getting the Answer time - it just
	  kills all CDRs on that channel, which isn't what the caller would
	  intend. (closes issue ASTERISK-22884) (closes issue
	  ASTERISK-22886) Review: https://reviewboard.asterisk.org/r/3057/
	  ........ Merged revisions 404294 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-19 00:32 +0000 [r404293]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fixup skinny registration following
	  network issues. On session registration, if device is already
	  reporting that it is connected to a device, an innocuous packet
	  (update time) is sent to the already connected device. If the tcp
	  connection is down, the device will be unregistered and the new
	  connection allowed. Without this patch, network issues can see a
	  situation where a device can not reregister until after
	  3*timeout. ........ Merged revisions 404292 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 23:00 +0000 [r404280]  Jason Parker <jparker@digium.com>

	* main/manager.c, /: Add AMI event for presence state. Review:
	  https://reviewboard.asterisk.org/r/3039/ ........ Merged
	  revisions 404275 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404279 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 21:12 +0000 [r404264]  Richard Mudgett <rmudgett@digium.com>

	* addons/ooh323c/src/ooTimer.c, /: ooh323c: Fix gcc 4.6.3 compiler
	  warnings. ........ Merged revisions 404212 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404219 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404263 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 20:48 +0000 [r404260-404262]  Kevin Harwell <kharwell@digium.com>

	* channels/chan_oss.c, /: chan_oss.c: channel being locked twice
	  and unlocked once Removed channel lock as it is now being down in
	  ast_channel_alloc ........ Merged revisions 404261 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
	  addons/chan_mobile.c, main/bridge_channel.c, tests/test_cdr.c,
	  channels/chan_pjsip.c, res/parking/parking_manager.c,
	  channels/chan_mgcp.c, channels/chan_unistim.c, main/pbx.c,
	  funcs/func_timeout.c, /, apps/app_meetme.c, main/bridge.c,
	  tests/test_stasis_channels.c, include/asterisk/channel.h,
	  channels/chan_gtalk.c, channels/sig_pri.c, apps/app_queue.c,
	  main/cel.c, main/stasis_bridges.c, channels/chan_jingle.c,
	  channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
	  channels/sig_analog.c, include/asterisk/stasis_channels.h,
	  res/res_agi.c, channels/chan_motif.c, tests/test_cel.c,
	  apps/app_confbridge.c, res/res_stasis.c, res/res_pjsip_refer.c,
	  apps/app_voicemail.c, apps/app_dial.c, channels/chan_vpb.cc,
	  addons/chan_ooh323.c, main/pickup.c, include/asterisk/aoc.h,
	  include/asterisk/stasis_bridges.h, apps/app_userevent.c,
	  apps/app_disa.c, channels/chan_console.c,
	  include/asterisk/channelstate.h, main/core_local.c,
	  channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
	  res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
	  main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c:
	  channel locking: Add locking for channel snapshot creation
	  Original commit message by mmichelson (asterisk 12 r403311):
	  "This adds channel locks around calls to create channel snapshots
	  as well as other functions which operate on a channel and then
	  end up creating a channel snapshot. Functions that expect the
	  channel to be locked prior to being called have had their
	  documentation updated to indicate such." The above was initially
	  committed and then reverted at r403398. The problem was found to
	  be in core_local.c in the publish_local_bridge_message function.
	  The ast_unreal_lock_all function locks and adds a reference to
	  the returned channels and while they were being unlocked they
	  were not being unreffed when no longer needed. Fixed by unreffing
	  the channels. Also in bridge.c a lock was obtained on
	  "other->chan", but then an attempt was made to unlock "other" and
	  not the previously locked channel. Fixed by unlocking
	  "other->chan" (closes issue ASTERISK-22709) Reported by: John
	  Bigelow ........ Merged revisions 404237 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 19:36 +0000 [r404211]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, configs/ooh323.conf.sample: Introduce new
	  config option 'aniasdni'. If yes then asterisk set dialed number
	  as own id back to the caller on incoming h.323 calls. Option can
	  be set globally or per user section. (closes issue
	  ASTERISK-22020) Reported by: Ross Beer

2013-12-18 19:28 +0000 [r404210]  Joshua Colp <jcolp@digium.com>

	* channels/chan_mgcp.c, main/pbx.c, channels/chan_sip.c,
	  apps/confbridge/conf_chan_record.c, tests/test_app.c,
	  tests/test_stasis_channels.c, main/core_unreal.c,
	  include/asterisk/channel.h, channels/chan_console.c,
	  channels/chan_oss.c, channels/chan_jingle.c,
	  channels/chan_misdn.c, channels/chan_h323.c, tests/test_cel.c,
	  channels/chan_nbs.c, channels/chan_pjsip.c, res/res_calendar.c,
	  apps/app_voicemail.c, channels/chan_unistim.c,
	  tests/test_substitution.c, channels/chan_vpb.cc,
	  addons/chan_ooh323.c, channels/chan_multicast_rtp.c, /,
	  apps/app_meetme.c, res/res_stasis_snoop.c, channels/chan_gtalk.c,
	  channels/chan_iax2.c, main/channel.c, channels/chan_dahdi.c,
	  channels/chan_phone.c, channels/chan_skinny.c,
	  res/parking/parking_tests.c, channels/chan_motif.c,
	  tests/test_voicemail_api.c, channels/chan_alsa.c, main/message.c,
	  addons/chan_mobile.c, tests/test_cdr.c: channels: Return
	  allocated channels locked. This change makes ast_channel_alloc
	  return allocated channels locked. By doing so no other thread can
	  acquire, lock, and manipulate the channel before it is completely
	  set up. (closes issue AST-1256) Review:
	  https://reviewboard.asterisk.org/r/3067/ ........ Merged
	  revisions 404204 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 19:10 +0000 [r404198]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c: Implement module reload command for
	  chan_ooh323 (close issue ASTERISK-22817) Patches:
	  ooh323_module_reload.patch

2013-12-18 12:46 +0000 [r404185]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/applications.json,
	  rest-api/api-docs/playbacks.json,
	  rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
	  rest-api/resources.json, rest-api/api-docs/bridges.json,
	  rest-api/api-docs/recordings.json,
	  rest-api/api-docs/deviceStates.json,
	  rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
	  /, rest-api/api-docs/asterisk.json: ari: Bump the version of ARI
	  to 1.0.0 (closes issue ASTERISK-23007) ........ Merged revisions
	  404184 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 12:01 +0000 [r404138]  Joshua Colp <jcolp@digium.com>

	* res/res_calendar.c, /: res_calendar: Protect channel when adding
	  datastore. This change adds a missing channel lock when adding a
	  datastore to a channel. ........ Merged revisions 404135 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404136 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404137 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 00:36 +0000 [r404100]  Rusty Newton <rnewton@digium.com>

	* /, funcs/func_strings.c: func_strings: Documentation fix for
	  QUOTE() Example output was inaccurate. (issue ASTERISK-22970)
	  (closes issue ASTERISK-22970) Reported by: Gareth Palmer Patches:
	  func_strings.patch uploaded by Gareth Palmer (license 5169)
	  ........ Merged revisions 404081 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 404087 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 404099 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-18 00:17 +0000 [r404051]  Matthew Jordan <mjordan@digium.com>

	* /, LICENSE: LICENSE: Update language to include ARI ........
	  Merged revisions 404050 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-17 23:57 +0000 [r404049]  Jonathan Rose <jrose@digium.com>

	* /, tests/test_cel.c, tests/test_cdr.c: tests: fix
	  ast_bridge_base_new calls not using the additional arguments
	  r404042 gave ast_bridge_base_new two new arguments for setting a
	  bridge creator and name. Unfortunately since a couple test
	  modules aren't compiled by default, I missed the fact that this
	  change impacted those tests and caused compilation failures
	  against them. ........ Merged revisions 404048 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-17 23:38 +0000 [r404047]  Rusty Newton <rnewton@digium.com>

	* include/asterisk/test.h, main/channel.c, main/rtp_engine.c, /,
	  channels/chan_iax2.c, apps/app_chanspy.c, apps/app_mixmonitor.c:
	  Several components: fixing Typos in comments and code,
	  "avaliable" instead of "available" (issue ASTERISK-23021) (closes
	  issue ASTERISK-23021) Reported by: Jeremy Lainé Tested by: Rusty
	  Newton Patches: available.patch uploaded by Jeremy Lainé (license
	  6561) ........ Merged revisions 404046 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-17 23:25 +0000 [r404043]  Jonathan Rose <jrose@digium.com>

	* apps/app_bridgewait.c, res/ari/ari_model_validators.c,
	  doc/appdocsxml.xslt, main/stasis_bridges.c,
	  rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
	  apps/app_agent_pool.c, res/parking/parking_bridge.c,
	  res/ari/ari_model_validators.h, main/manager_bridges.c,
	  res/ari/resource_bridges.h, include/asterisk/bridge_internal.h,
	  apps/app_confbridge.c, res/res_stasis.c,
	  include/asterisk/bridge.h, res/res_ari_bridges.c, /,
	  main/bridge.c, main/bridge_basic.c,
	  include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h:
	  bridging: Give bridges a name and a known creator Bridges have
	  two new optional properties, a creator and a name. Certain
	  consumers of bridges will automatically provide bridges that they
	  create with these properties. Examples include app_bridgewait,
	  res_parking, app_confbridge, and app_agent_pool. In addition, a
	  name may now be provided as an argument to the POST function for
	  creating new bridges via ARI. (closes issue AFS-47) Review:
	  https://reviewboard.asterisk.org/r/3070/ ........ Merged
	  revisions 404042 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-17 18:35 +0000 [r404028-404030]  Joshua Colp <jcolp@digium.com>

	* res/res_sorcery_config.c, /: res_sorcery_config: Output an error
	  message when an object can't be created. If object creation fails
	  an error message will now be output with the id, type, and
	  configuration file. ........ Merged revisions 404029 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/framehook.c: framehooks: Re-iterate if framehook provides
	  different frame. Framehooks can be used in a reactive manner to
	  execute specific logic when a frame is received with a certain
	  type and payload. Since it is possible for framehooks to provide
	  frames it was possible for this reactive framehook to be unaware
	  of frames it is looking for. This change makes it so that when
	  framehooks return a modified frame the code will now re-iterate
	  (from the beginning) and call any previous framehooks that have
	  not provided a modified frame themselves. Review:
	  https://reviewboard.asterisk.org/r/3046/ ........ Merged
	  revisions 404027 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-17 14:41 +0000 [r404008-404009]  David M. Lee <dlee@digium.com>

	* /, configs/asterisk.conf.sample, main/asterisk.c: Changed the
	  default for live_dangerously to no ........ Merged revisions
	  404006 from http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/pjsip, /: Setting svn:ignore ........ Merged revisions
	  403748 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-17 12:59 +0000 [r403994]  Matthew Jordan <mjordan@digium.com>

	* /, res/ari/resource_channels.c: ari/resource_channels: When
	  creating a channel, specify a default format (SLIN) When creating
	  channels via ARI, the current code fails to provide any default
	  format capabilities. For non-virtual channels this isn't really a
	  problem - the channels typically receive their capabilities as a
	  result of the underlying channel driver configuration. For
	  virtual channels (such as Local channels), the lack of any format
	  capabilities causes the Asterisk core to make some 'odd' choices
	  with respect to the translation paths. The issue reporter had
	  some paths that had 3 hops on each channel leg, causing multiple
	  transcodings and some really crappy audio/performance. By
	  specifying a baseline of SLIN, we prevent that from occurring.
	  Note that this is what AMI does when it performs an Originate, as
	  does res_clioriginate. Review:
	  https://reviewboard.asterisk.org/r/3068/ (issue ASTERISK-22962)
	  Reported by: Matt DiMeo ........ Merged revisions 403993 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-16 19:11 +0000 [r403960]  David M. Lee <dlee@digium.com>

	* include/asterisk/pbx.h, main/asterisk.c, funcs/func_realtime.c,
	  main/pbx.c, main/tcptls.c, funcs/func_db.c, /,
	  README-SERIOUSLY.bestpractices.txt, configs/asterisk.conf.sample,
	  funcs/func_shell.c, funcs/func_env.c, funcs/func_lock.c,
	  UPGRADE-12.txt: security: Inhibit execution of privilege
	  escalating functions This patch allows individual dialplan
	  functions to be marked as 'dangerous', to inhibit their execution
	  from external sources. A 'dangerous' function is one which
	  results in a privilege escalation. For example, if one were to
	  read the channel variable SHELL(rm -rf /) Bad Things(TM) could
	  happen; even if the external source has only read permissions.
	  Execution from external sources may be enabled by setting
	  'live_dangerously' to 'yes' in the [options] section of
	  asterisk.conf. Although doing so is not recommended. Also, the
	  ABI was changed to something more reasonable, since Asterisk 12
	  does not yet have a public release. (closes issue ASTERISK-22905)
	  Review: http://reviewboard.digium.internal/r/432/ ........ Merged
	  revisions 403913 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 403917 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 403959 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-16 18:31 +0000 [r403958]  Jonathan Rose <jrose@digium.com>

	* /, main/bridge.c: transfers: Fix bug setting both BLINDTRANSFER
	  and ATTENDEDTRANSFER The ast_bridge_set_transfer_variables
	  function is supposed to wipe whichever variable isn't being set.
	  Instead it was setting both to the new value. Oops. (issue
	  AFS-24) ........ Merged revisions 403957 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-16 16:12 +0000 [r403857-403865]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/pbx.c, /: pbx.c: put copy of ast_exten.data on stack to
	  prevent memory corruption During dialplan execution in
	  pbx_extension_helper(), the contexts global read lock prevents
	  link list corruption, but was released with a pointer to the
	  ast_exten and data later used in variable substitution. Instead,
	  this patch removes pbx_substitute_variables() and locates a copy
	  of the ast_exten data on the stack before releasing the lock,
	  where ast_exten could get free'd by another thread performing a
	  module reload. (issue AST-1179) Reported by: Thomas Arimont
	  (issue AST-1246) Reported by: Alexander Hömig Review:
	  https://reviewboard.asterisk.org/r/3055/ ........ Merged
	  revisions 403862 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 403863 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 403864 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/app_sms.c: app_sms: BufferOverflow when receiving odd
	  length 16 bit message This patch prevents an infinite loop
	  overwriting memory when a message is received into the
	  unpacksms16() function, where the length of the message is an odd
	  number of bytes. (closes issue ASTERISK-22590) Reported by: Jan
	  Juergens Tested by: Jan Juergens ........ Merged revisions 403856
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-15 01:39 +0000 [r403824]  Matthew Jordan <mjordan@digium.com>

	* channels/pjsip/dialplan_functions.c, /: pjsip/dialplan_functions:
	  Use the right buffer length when printing URIs While
	  entertaining, sizeof(buflen) is not the same as buflen. Doh.
	  ........ Merged revisions 403823 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-14 17:28 +0000 [r403810-403812]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/res_pjsip.h, /, res/res_pjsip/location.c,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip.c: res_pjsip: Apply
	  outbound proxy to all SIP requests. Objects which are involved in
	  SIP request creation and sending now allow an outbound proxy to
	  be specified. For cases where an endpoint is used the outbound
	  proxy specified there will be applied. (closes issue
	  ASTERISK-22673) Reported by: Antti Yrjola Review:
	  https://reviewboard.asterisk.org/r/3022/ ........ Merged
	  revisions 403811 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis_channels.c, apps/app_queue.c,
	  res/ari/ari_model_validators.c, apps/app_dial.c,
	  res/ari/ari_model_validators.h, main/dial.c,
	  include/asterisk/stasis_channels.h,
	  rest-api/api-docs/events.json, /, res/stasis/app.c: res_stasis:
	  Expose event for call forwarding and follow forwarded channel.
	  This change adds an event for when an originated call is
	  redirected to another target. This event contains the original
	  channel and the newly created channel. If a stasis subscription
	  exists on the original originated channel for a stasis
	  application then a new subscription will also be created on the
	  stasis application to the redirected channel. This allows the
	  application to follow the call path completely. (closes issue
	  ASTERISK-22719) Reported by: Joshua Colp Review:
	  https://reviewboard.asterisk.org/r/3054/ ........ Merged
	  revisions 403808 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-13 21:35 +0000 [r403797]  Jonathan Rose <jrose@digium.com>

	* /, res/res_pjsip_messaging.c, main/message.c: documentation: Add
	  PJSIP technology to messaging documentation ........ Merged
	  revisions 403796 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-13 20:17 +0000 [r403784]  Richard Mudgett <rmudgett@digium.com>

	* /, main/test.c: test.c: Fix too sticky unit test failed status.
	  Rerunning a failed unit test after loading any required modules
	  should allow the test to report a pass status if it now passes.
	  ........ Merged revisions 403782 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-13 20:13 +0000 [r403783]  Jonathan Rose <jrose@digium.com>

	* /, main/bridge.c, main/bridge_basic.c, include/asterisk/bridge.h,
	  res/parking/parking_bridge_features.c,
	  res/parking/parking_manager.c: Transfers: Make Asterisk set
	  ATTENDEDTRANSFER/BLINDTRANSFER more reliably There were still a
	  few cases in which ATTENDEDTRANSFER and BLINDTRANSFER wouldn't be
	  set on channels involved with blind and attended transfers. This
	  would happen with features that were initialized by channel
	  driver specific mechanisms in multiparty calls. This patch
	  resolves those cases while attempted to keep the behavior for
	  setting those variables as consistent as possible. (closes issue
	  AFS-24) Review: https://reviewboard.asterisk.org/r/3040/ ........
	  Merged revisions 403781 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-13 18:33 +0000 [r403750-403768]  Kevin Harwell <kharwell@digium.com>

	* main/channel.c, /, channels/chan_sip.c,
	  include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  channels/chan_pjsip.c: bridge_native_rtp: Deadlock during 4-way
	  conference creation The change contains a slightly adjusted patch
	  that was on the issue (submitted by kmoore). A fix was made by
	  adding in a bridge lock while calling bridge_start/stop from the
	  framehook callback. Since the framehook callback is not called
	  from the bridging core the bridge is not locked, but needs to be
	  before calling bridge_start. (closes issue ASTERISK-22749)
	  Reported by: Kinsey Moore Review:
	  https://reviewboard.asterisk.org/r/3066/ Patches:
	  lock_inversion.diff uploaded by kmoore (license 6273) ........
	  Merged revisions 403767 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c, res/ari/resource_channels.h, /,
	  main/http.c: ARI: Allow specifying channel variables during a
	  POST /channels Added the ability to specify channel variables
	  when creating/originating a channel in ARI. The variables are
	  sent in the body of the request and should be formatted as a
	  single level JSON object. No nested objects allowed. For example:
	  {"variable1": "foo", "variable2": "bar"}. (closes issue
	  ASTERISK-22872) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3052/ ........ Merged
	  revisions 403752 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis_answer.c, rest-api/api-docs/bridges.json,
	  res/ari/resource_bridges.c, res/res_ari_bridges.c,
	  res/stasis/command.c, res/res_stasis_playback.c, /,
	  res/stasis/control.c, res/stasis/command.h,
	  include/asterisk/stasis_app.h,
	  include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c:
	  ARI: Adding a channel to a bridge while a live recording is
	  active blocks Added the ability to have rules that are checked
	  when adding and/or removing channels to/from a bridge. In this
	  case, if a channel is currently recording and someone attempts to
	  add it to a bridge an "is recording" rule is checked, fails, and
	  a 409 conflict is returned. Also command functions now return an
	  integer value that can be descriptive of what kind of problems,
	  if any, occurred before or during execution. (closes issue
	  ASTERISK-22624) Reported by: Joshua Colp Review:
	  https://reviewboard.asterisk.org/r/2947/ ........ Merged
	  revisions 403749 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-13 05:00 +0000 [r403737]  Matthew Jordan <mjordan@digium.com>

	* /, channels/Makefile: channels/Makefile: clean pjsip directory
	  ........ Merged revisions 403736 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-13 00:40 +0000 [r403726]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/app.h, tests/test_voicemail_api.c, main/app.c:
	  test_voicemail_api: Add check for a registered voicemail provider
	  before tests. It is much nicer diagnosing a test failure if
	  app_voicemail is actually loaded.

2013-12-12 19:46 +0000 [r403714]  Scott Griepentrog <sgriepentrog@digium.com>

	* contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py
	  (added), /: realtime: Create extensions in alembic ast-db-manage
	  contribution When the alembic scripts were written for creating
	  Asterisk realtime databases the extensions table for dialplan
	  wasn't included. This update creates the extensions table.
	  (closes issue ASTERISK-22815) Reported by: Zone Conkle Review:
	  https://reviewboard.asterisk.org/r/3064/ ........ Merged
	  revisions 403713 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-12 19:18 +0000 [r403707]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_pjsip.c: chan_pjsip: Revert r403587 This patch
	  was intended to eliminate a deadlock that occurs when masquerades
	  occur in pjsip channels, but has some potential side effects.
	  Mark Michelson is currently working on addressing this problem
	  from another angle. (issue ASTERISK-22936) Reported by: Jonathan
	  Rose ........ Merged revisions 403705 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-11 20:24 +0000 [r403687]  Kevin Harwell <kharwell@digium.com>

	* include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c, /,
	  configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip_messaging.c,
	  res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c:
	  res_pjsip_messaging: send message to a default outbound endpoint
	  In some cases messages need to be sent to a direct URI (sip:<ip
	  address>). This patch adds in that support by using a default
	  outbound endpoint. When sending messages, if no endpoint can be
	  found then the default one is used. To facilitate this a new
	  default_outbound_endpoint option was added to the globals section
	  for pjsip.conf. Review: https://reviewboard.asterisk.org/r/2944/
	  ........ Merged revisions 403680 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-11 19:22 +0000 [r403652]  Russell Bryant <russell@russellbryant.com>

	* /, channels/chan_sip.c: Reset peer outboundproxy on sip.conf
	  reload If you set a peer's outboundproxy and then removed it from
	  the config, this would not get picked up in a config reload. This
	  patch fixes that by resetting it in set_peer_defaults(). Closes
	  ASTERISK-19454 Review: https://reviewboard.asterisk.org/r/3065/
	  ........ Merged revisions 403634 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 403635 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 403639 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-11 19:19 +0000 [r403643]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_voicemail.c, include/asterisk/app.h,
	  include/asterisk/doxyref.h, main/app.c: app_voicemail: Voicemail
	  callback registration/unregistration function improvements. * The
	  voicemail registration/unregistration functions now take a struct
	  of callbacks instead of a lengthy parameter list of callbacks. *
	  The voicemail registration/unregistration functions now prevent a
	  competing module from interfering with an already registered
	  callback supplying module.

2013-12-11 13:06 +0000 [r403617-403619]  Matthew Jordan <mjordan@digium.com>

	* channels/pjsip/dialplan_functions.c,
	  include/asterisk/res_pjsip_session.h, channels/pjsip (added), /,
	  funcs/func_channel.c, channels/pjsip/include,
	  channels/pjsip/include/dialplan_functions.h, res/res_pjsip_t38.c,
	  channels/pjsip/include/chan_pjsip.h, channels/Makefile,
	  channels/chan_pjsip.c, main/xmldoc.c: func_channel, chan_pjsip:
	  Add CHANNEL read function support for chan_pjsip This patch adds
	  CHANNEL read support for chan_pjsip. This allows the dialplan to
	  use the CHANNEL function on a chan_pjsip channel to obtain
	  run-time information about the channel from the PJSIP channel
	  driver and the PJSIP stack. This includes: * RTP information,
	  including source/destination media addresses, whether or not the
	  media is secure, held, and other properties. * RTCP information.
	  This includes sets of parseable information, as well as
	  individual statistic attriutes. * PJSIP information. This
	  includes URIs, local/remote signalling addresses, whether or not
	  the signalling is secure, and other properties. * The endpoint
	  name. This can be used in conjunction with the PJSIP_ENDPOINT
	  function to obtain more detailed endpoint information. Review:
	  https://reviewboard.asterisk.org/r/3038/ ........ Merged
	  revisions 403618 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* Makefile, funcs/func_pjsip_endpoint.c (added), doc/snapshots.xslt
	  (removed), /, doc/appdocsxml.xslt (added), doc/appdocsxml.dtd,
	  main/sorcery.c: func_pjsip_endpoint: Add PJSIP_ENDPOINT function
	  for querying endpoint details This patch adds a new function,
	  PJSIP_ENDPOINT, which lets the dialplan query, for any endpoint,
	  any property configured on an endpoint. This function is a
	  companion to the CHANNEL function, which can be used to extract
	  the endpoint name for a channel. Review:
	  https://reviewboard.asterisk.org/r/3035 ........ Merged revisions
	  403616 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-10 15:15 +0000 [r403605]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_authenticator_digest.c: Fix correct authentication
	  behavior for artificial endpoint. When switching to using a
	  vector for authentication, I initialized the vector for the
	  artificial endpoint to be of size 1. However, this does not
	  result in AST_VECTOR_SIZE() returning 1 since there isn't
	  actually anything in the vector. Rather than trifle with the
	  vector by putting unnecessary elements in, I simply changed the
	  callback in res_pjsip_authenticator_digest.c to explicitly report
	  that the artificial endpoint requires authentication. Thanks to
	  Joshua Colp for pointing this out.

2013-12-09 22:59 +0000 [r403576-403588]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_pjsip.c: chan_pjsip: Fix a sticking channel lock
	  caused by channel masquerades (closes issue ASTERISK-22936)
	  Reported by: Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/3042/ ........ Merged
	  revisions 403587 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* CHANGES, main/dial.c, apps/app_page.c, include/asterisk/dial.h:
	  app_page: Add predial handlers for app_page. (closes issue
	  AFS-14) Review: https://reviewboard.asterisk.org/r/3045/

2013-12-09 19:24 +0000 [r403544-403560]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_sorcery_astdb.c: Reverting regex part of -r403545 at
	  request of file. res_sorcery_astdb.c: Fix get multiple records by
	  regex. * Fix sorcery_astdb_retrieve_regex() pattern matching. Let
	  the regexec() function match the stored key values instead of
	  having astdb prefilter them. Previoiusly you could only use a
	  simple regex pattern when the pattern began with '^'. ........
	  Merged revisions 403559 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix get multiple
	  records by regex. * Fix sorcery_astdb_retrieve_regex() pattern
	  matching. Let the regexec() function match the stored key values
	  instead of having astdb prefilter them. Previoiusly you could
	  only use a simple regex pattern when the pattern began with '^'.
	  * Fix off nominal memory leak in sorcery_astdb_retrieve_regex().
	  ........ Merged revisions 403545 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/sorcery.c, /: sorcery: Eliminate shadowing a varaible that
	  caused confusion. * Eliminated shadowing of the
	  __ast_sorcery_apply_config() name parameter causing confusion. *
	  Fix potential crash from sorcery.conf user input in
	  __ast_sorcery_apply_config() if the user supplied a malformed
	  config line that is missing the sorcery object type name. *
	  Remove redundant test in __ast_sorcery_apply_config(). !config
	  and config == CONFIGS_STATUS_FILEMISSING are identical. ........
	  Merged revisions 403541 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-09 18:32 +0000 [r403543]  Joshua Colp <jcolp@digium.com>

	* /, main/endpoints.c: endpoints: Keep a reference to channel ids
	  when creating snapshot. The snapshot process for endpoints uses
	  the channel ids present on the endpoint itself. Without keeping a
	  reference it was possible for the strings to be freed underneath
	  any consumer of an endpoint snapshot. A reference is now held by
	  the snapshot to the channel ids and released when the snapshot is
	  destroyed. (issue ASTERISK-22801) Reported by: Matt Jordan
	  ........ Merged revisions 403542 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-09 18:14 +0000 [r403528]  Richard Mudgett <rmudgett@digium.com>

	* main/sorcery.c, /: sorcery: Whitespace You would think that a new
	  file would start off without any whitespace oddities. ........
	  Merged revisions 403527 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-09 17:29 +0000 [r403512-403526]  Mark Michelson <mmichelson@digium.com>

	* apps/app_confbridge.c, CHANGES,
	  apps/confbridge/conf_state_multi_marked.c: Add a
	  CONFBRIDGE_RESULT channel variable to discern why a channel left
	  a ConfBridge. Review: https://reviewboard.asterisk.org/r/3009

	* CHANGES, apps/app_mixmonitor.c: Create function for retrieving
	  Mixmonitor instance data. For the time, this is only useful for
	  retrieving the filename. The purpose of this function is to
	  better facilitate multiple mixmonitors per channel. Setting a
	  MIXMONITOR_FILENAME channel variable is not conducive to such
	  behavior, so allowing finer grained access to individual
	  mixmonitor properties improves the situation. The
	  MIXMONITOR_FILENAME channel variable is still set, though, so
	  there is no worry about backwards compatibility. Review:
	  https://reviewboard.asterisk.org/r/3023

2013-12-09 16:41 +0000 [r403511]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_nat.c, /: res_pjsip_nat: Add NAT module to session
	  dialogs. Due to the way pjproject internally works it was
	  possible for the NAT module to not be invoked on messages with-in
	  a session dialog. This means that the various parts of the
	  message would not get rewritten with the source IP address and
	  port. This change uses a session supplement to add the NAT module
	  to the dialog on the first incoming or outgoing INVITE. (closes
	  issue ASTERISK-22941) Reported by: Leif Madsen ........ Merged
	  revisions 403510 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-09 16:10 +0000 [r403499]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip/config_auth.c,
	  res/res_pjsip_outbound_authenticator_digest.c,
	  res/res_pjsip_authenticator_digest.c,
	  res/res_pjsip_outbound_registration.c,
	  res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/pjsip_distributor.c, res/res_pjsip.c,
	  include/asterisk/res_pjsip.h: Switch PJSIP auth to use a vector.
	  Since Asterisk has a vector API now, places where arrays are
	  manually resized don't really make sense any more. Since the auth
	  work in PJSIP was freshly-written, it was easy to reform it to
	  use a vector. Review: https://reviewboard.asterisk.org/r/3044

2013-12-09 03:21 +0000 [r403436-403466]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_fax_spandsp.c: res_fax_spandsp: Always init T.38
	  session to avoid crashes during state change Prior to this patch,
	  res_fax_spandsp was conservative with how it initialized the
	  spandsp T.38 context. It would only initialize it if the driver
	  thought the current state was a T.38 fax. While this works fine
	  in nominal situations, in certain off nominal situations,
	  res_fax_spandsp can believe that a T.38 fax will not occur when
	  in fact one has started. In particular, this was discovered when
	  res_fax would fall back to audio after timing out on a T.38
	  upgrade. The SIP channel driver would continue to retry the
	  re-INVITE and - if the remote end responded after res_fax timed
	  out with a 200 OK - a T.38 frame would be delivered to the
	  res_fax stack when it no longer expected it. As it turns out,
	  there does not appear to be any downside to always initializing
	  the T.38 context, other than the actual memory allocation. Since
	  that avoids this off nominal situation (and others which are
	  equally likely hard to predict), this is the safest way to avoid
	  this problem. Much thanks to Torrey as well for providing a
	  scenario that reproduces this issue. (closes issue
	  ASTERISK-21242) Reported by: Ashley Winters Tested by: Torrey
	  Searle patches: always-init-t38.patch uploaded by awinters
	  (License 6477) A_PARTY.xml uploaded by tsearle (License 5334)
	  ........ Merged revisions 403449 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 403450 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 403458 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_config_sqlite.c: res_config_sqlite: Check for CDR
	  unregistration failures If the CDR unregistration fails due to an
	  inflight CDR, the res_config_sqlite module needs to bail on
	  unloading itself. Otherwise, the config could be unloaded
	  (including the CDR table name) while the CDR engine posts a CDR
	  to the still registered backend, resulting in a crash. ........
	  Merged revisions 403435 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-05 23:40 +0000 [r403414]  Jonathan Rose <jrose@digium.com>

	* apps/app_record.c: app_record: Add an option that allows DTMF '0'
	  to act as an additional terminator Using this terminator when
	  active results in ${RECORD_STATUS} being set to 'OPERATOR'
	  instead of 'DTMF' (closes issue AFS-7) Review:
	  https://reviewboard.asterisk.org/r/3041/

2013-12-05 22:10 +0000 [r403402-403404]  David M. Lee <dlee@digium.com>

	* addons/chan_mobile.c, main/bridge_channel.c, tests/test_cdr.c,
	  channels/chan_pjsip.c, res/parking/parking_manager.c,
	  channels/chan_mgcp.c, channels/chan_unistim.c, main/pbx.c, /,
	  apps/app_meetme.c, funcs/func_timeout.c, main/bridge.c,
	  tests/test_stasis_channels.c, main/core_unreal.c,
	  include/asterisk/channel.h, channels/chan_gtalk.c, main/cel.c,
	  apps/app_queue.c, channels/sig_pri.c, main/stasis_bridges.c,
	  channels/chan_jingle.c, channels/chan_phone.c,
	  channels/chan_dahdi.c, main/dial.c, channels/sig_analog.c,
	  include/asterisk/stasis_channels.h, res/res_agi.c,
	  channels/chan_motif.c, channels/chan_h323.c, tests/test_cel.c,
	  apps/app_confbridge.c, res/res_stasis.c, res/res_pjsip_refer.c,
	  apps/app_voicemail.c, apps/app_dial.c, channels/chan_vpb.cc,
	  addons/chan_ooh323.c, channels/chan_sip.c, main/pickup.c,
	  include/asterisk/aoc.h, include/asterisk/stasis_bridges.h,
	  apps/app_userevent.c, apps/app_disa.c, main/core_local.c,
	  include/asterisk/channelstate.h, channels/chan_console.c,
	  channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
	  res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
	  main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
	  pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
	  channels/chan_nbs.c: Reverting r403311. It's causing ARI tests to
	  hang. ........ Merged revisions 403398 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/stasis/control.c: ari: Fix deadlock problem with functions
	  that use autoservice. The code for getting channel variables from
	  ARI assumed that you needed to lock the channel in order to
	  properly execute functions and read channel variables.
	  Apparently, this is not the case, since any dialplan function
	  that puts the channel into autoservice deadlocks when attempting
	  to remove the channel from autoservice. ........ Merged revisions
	  403342 from http://svn.asterisk.org/svn/asterisk/branches/12

	* /: Multiple revisions 403304,403310 ........ r403304 | dlee |
	  2013-12-02 12:34:50 -0600 (Mon, 02 Dec 2013) | 1 line Fixed the
	  filename for the ari.conf docs ........ r403310 | file |
	  2013-12-03 10:32:12 -0600 (Tue, 03 Dec 2013) | 5 lines Revert
	  revision 403304: Fixed the filename for the ari.conf docs The
	  changed value refers to the name of the module. The name of the
	  configuration file is specified in the configFile section.
	  ........ Merged revisions 403304,403310 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-04 21:42 +0000 [r403378]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_pjsip_registrar.c: res_pjsip_registrar: undefined
	  function pointer symbol Used a static wrapper around the
	  offending function to alleviate the issue. Reported by: rmudgett
	  ........ Merged revisions 403377 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-04 20:54 +0000 [r403365]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_t38.c, /: res_pjsip_t38: Don't pass T.38 control
	  frames through to other hooks. This crept up during gateway
	  testing where the gateway would receive the request to negotiate
	  and assume it came from the remote side, causing the gateway
	  state machine to go a little, to a use a technical term, "wonky".
	  ........ Merged revisions 403364 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-04 18:41 +0000 [r403350]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip.c: Initialize the hash value argument to
	  pj_hash_get() to 0. Passing a non-zero value causes PJLIB to use
	  the given input as the hash value. Passing zero causes the
	  parameter to become an output parameter that receives the hash
	  value that was computed based on the given key. This change
	  essentially makes ast_sip_dict_get() properly retrieve the
	  desired value. ........ Merged revisions 403349 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-03 18:01 +0000 [r403330]  Joshua Colp <jcolp@digium.com>

	* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
	  res/res_pjsip_session.c: res_pjsip_session: Add support for
	  PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag. Newer versions of PJSIP
	  have changed to using a flag for the
	  PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE instead of a define. This adds
	  a configure check to detect the presence of the flag and use it
	  if found. ........ Merged revisions 403329 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-03 17:35 +0000 [r403327]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip_registrar_expire.c, res/res_pjsip/pjsip_options.c,
	  tests/test_sorcery.c, include/asterisk/bucket.h, main/sorcery.c,
	  /, main/bucket.c: sorcery, bucket: Change observer remove calls
	  to take const callbacks struct. * Make
	  ast_sorcery_observer_remove() accept a const callbacks struct. *
	  Make ast_sorcery_observer_remove() tolerant of the sorcery
	  parameter being NULL. Now it can be called within a module unload
	  routine if the sorcery initialization fails. * Fix
	  ast_sorcery_observer_add() to fail if the container link fails.
	  ........ Merged revisions 403324 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-03 17:07 +0000 [r403314]  Mark Michelson <mmichelson@digium.com>

	* channels/chan_nbs.c, main/bridge_channel.c, res/res_stasis.c,
	  channels/chan_pjsip.c, res/parking/parking_manager.c,
	  apps/app_voicemail.c, channels/chan_unistim.c,
	  channels/chan_vpb.cc, addons/chan_ooh323.c, /,
	  include/asterisk/aoc.h, apps/app_meetme.c, main/bridge.c,
	  apps/app_userevent.c, channels/chan_gtalk.c,
	  channels/chan_iax2.c, main/endpoints.c, main/stasis_bridges.c,
	  main/channel.c, channels/chan_phone.c, channels/chan_dahdi.c,
	  main/dial.c, channels/sig_analog.c, channels/chan_skinny.c,
	  res/res_agi.c, channels/chan_motif.c, pbx/pbx_realtime.c,
	  channels/chan_alsa.c, main/stasis_channels.c,
	  apps/app_confbridge.c, addons/chan_mobile.c, tests/test_cdr.c,
	  res/res_pjsip_refer.c, channels/chan_mgcp.c, apps/app_dial.c,
	  main/pbx.c, channels/chan_sip.c, main/pickup.c,
	  funcs/func_timeout.c, tests/test_stasis_channels.c,
	  main/core_unreal.c, include/asterisk/stasis_bridges.h,
	  apps/app_disa.c, include/asterisk/channel.h, main/core_local.c,
	  include/asterisk/channelstate.h, channels/chan_console.c,
	  main/cel.c, apps/app_queue.c, channels/sig_pri.c,
	  channels/chan_oss.c, res/parking/parking_bridge_features.c,
	  apps/app_agent_pool.c, channels/chan_jingle.c,
	  channels/chan_misdn.c, include/asterisk/stasis_channels.h,
	  channels/chan_h323.c, tests/test_cel.c: Add channel locking for
	  channel snapshot creation. This adds channel locks around calls
	  to create channel snapshots as well as other functions which
	  operate on a channel and then end up creating a channel snapshot.
	  Functions that expect the channel to be locked prior to being
	  called have had their documentation updated to indicate such.
	  ........ Merged revisions 403311 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-03 16:39 +0000 [r403313]  Joshua Colp <jcolp@digium.com>

	* main/media_index.c, /: media_index: Make media indexing tolerable
	  of bad symlinks. Media indexing will now skip over files and
	  directories that stat will not return information about. This can
	  occur under normal conditions when a symbolic link points to a
	  location that no longer exists. ........ Merged revisions 403312
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-02 18:12 +0000 [r403292]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, /: Check and reject non-digits e164 values
	  on peers and general sections in ooh323.conf Regenerate e164
	  endpoint list on reload ooh323 (issue ASTERISK-22901) Reported
	  by: Cyril CONSTANTIN Patches: ASTERISK-22901.patch ........
	  Merged revisions 403288 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 403290 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-12-01 21:13 +0000 [r403257-403272]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip_session.c: res_pjsip_session: Apply fromuser and
	  fromdomain to all requests as documented. ........ Merged
	  revisions 403271 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_t38.c, /: res_pjsip_t38: Add the framehook to the
	  channel only on first INVITE. The check for determining whether
	  the T.38 framehook should be added to the channel or not has now
	  been changed to guarantee adding only occurs on the first
	  incoming or outgoing INVITE. ........ Merged revisions 403258
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip/security_events.c, res/res_pjsip/pjsip_options.c,
	  res/res_pjsip.c, res/res_pjsip_transport_websocket.c,
	  include/asterisk/res_pjsip.h, /, res/res_pjsip/location.c:
	  res_pjsip_transport_websocket: Fix security events and simplify
	  implementation. Transport type determination for security events
	  has been simplified to use the type present on the message itself
	  instead of searching through configured transports to find the
	  transport used. The actual WebSocket transport has also been
	  simplified. It now leverages the existing PJSIP transport manager
	  for finding the active WebSocket transport for outgoing messages.
	  This removes the need for res_pjsip_transport_websocket to store
	  a mapping itself. (closes issue ASTERISK-22897) Reported by: Max
	  E. Reyes Vera J. Review: https://reviewboard.asterisk.org/r/3036/
	  ........ Merged revisions 403256 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-30 14:12 +0000 [r403241]  Joshua Colp <jcolp@digium.com>

	* res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
	  res/ari/ari_model_validators.c: res_ari: Add Recording events to
	  the validator. ........ Merged revisions 403240 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-28 02:12 +0000 [r403208-403224]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Don't produce an
	  invalid media stream with no formats. Depending on configuration
	  it was possible for a media stream to be created without any
	  media formats. The produced SDP would fail internal validation
	  and cause a crash. The code will now no longer add media streams
	  with no formats to the SDP, allowing it to pass validation and
	  work. (closes issue ASTERISK-22858) Reported by: Anthony Messina
	  ........ Merged revisions 403223 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_header_funcs.c, /: res_pjsip_header_funcs: Don't
	  add headers to re-INVITEs. When sending a re-INVITE to an
	  endpoint it was possible for received headers to be added as well
	  (since they are stored for retrieval using the PJSIP_HEADER
	  dialplan function). This caused a broken (and potentially large)
	  SIP INVITE to be produced and sent. This changes the module so it
	  will no longer add headers to re-INVITEs. (closes issue
	  ASTERISK-22882) Reported by: David M. Lee ........ Merged
	  revisions 403221 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis_playback.c, /: res_stasis_playback: Add 'number',
	  'digits', and 'characters' URI scheme implementations. This
	  change adds new URI scheme implementations for playing numbers,
	  digits, and characters. This is done as part of the normal
	  playback mechanism and can be used with queueing to create a
	  combined sentence. Review:
	  https://reviewboard.asterisk.org/r/3028/ ........ Merged
	  revisions 403209 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c,
	  res/res_pjsip_session.c, include/asterisk/res_pjsip.h:
	  res_pjsip_session: Add configurable behavior for redirects. The
	  action taken when a redirect occurs is now configurable on a
	  per-endpoint basis. The redirect can either be treated as a
	  redirect to a local extension, to a URI that is dialed through
	  the Asterisk core, or to a URI that is dialed within PJSIP
	  itself. (closes issue ASTERISK-21710) Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/2963/ ........ Merged
	  revisions 403207 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-27 17:32 +0000 [r403192]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/astdb.h: astdb: Tweak some doxygen comments.

2013-11-27 16:12 +0000 [r403180]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix crash when
	  reloading certain configurations. Certain options available that
	  specify a SIP URI perform validation on the provided URI using
	  the PJSIP URI parser. This operation requires that the thread
	  executing it be registered with the PJLIB library. During reloads
	  this was done on a thread which was NOT registered with it. This
	  fixes the problem by creating a task which reloads the
	  configuration on a PJSIP thread. (closes issue ASTERISK-22923)
	  Reported by: Anthony Messina ........ Merged revisions 403179
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-27 15:48 +0000 [r403177]  David M. Lee <dlee@digium.com>

	* res/res_ari_channels.c, include/asterisk/ari.h,
	  rest-api-templates/param_parsing.mustache,
	  include/asterisk/http.h, res/res_ari_recordings.c,
	  res/res_ari_endpoints.c, main/http.c,
	  rest-api-templates/swagger_model.py, res/res_ari_playbacks.c,
	  res/res_ari_sounds.c, rest-api-templates/asterisk_processor.py,
	  res/res_ari_bridges.c, tests/test_ari.c, res/res_ari.c, /,
	  res/res_ari_device_states.c, res/res_ari_asterisk.c,
	  rest-api-templates/res_ari_resource.c.mustache,
	  res/res_ari_applications.c: ari:Add application/json parameter
	  support The patch allows ARI to parse request parameters from an
	  incoming JSON request body, instead of requiring the request to
	  come in as query parameters (which is just weird for POST and
	  DELETE) or form parameters (which is okay, but a bit asymmetric
	  given that all of our responses are JSON). For any operation that
	  does _not_ have a parameter defined of type body (i.e.
	  "paramType": "body" in the API declaration), if a request
	  provides a request body with a Content type of
	  "application/json", the provided JSON document is parsed and
	  searched for parameters. The expected fields in the provided JSON
	  document should match the query parameters defined for the
	  operation. If the parameter has 'allowMultiple' set, then the
	  field in the JSON document may optionally be an array of values.
	  (closes issue ASTERISK-22685) Review:
	  https://reviewboard.asterisk.org/r/2994/

2013-11-27 15:31 +0000 [r403161-403174]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Update
	  handling of some options to work with new option names. Some
	  options (such as call_group and pickup_group) share the same
	  configuration handler and decide what logic to use based on the
	  name of the option. These handlers were not updated to check for
	  the new option names and were treating the options as invalid.
	  This change simply updates the handlers with the proper names of
	  the options. (closes issue ASTERISK-22922) Reported by: Anthony
	  Messina ........ Merged revisions 403173 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, configure, include/asterisk/autoconfig.h.in, configure.ac: Fix
	  a configure issue with PJSIP transaction group lock detection.
	  The configure check did not use the provided paths for pjproject
	  if provided when looking for transaction group lock support.
	  ........ Merged revisions 403160 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-23 17:48 +0000 [r403133-403135]  Kevin Harwell <kharwell@digium.com>

	* res/ari.make, rest-api/api-docs/applications.json,
	  res/ari/resource_device_states.h (added),
	  include/asterisk/stasis_app_device_state.h (added),
	  res/ari/resource_applications.h, res/res_stasis.c,
	  include/asterisk/devicestate.h, rest-api/api-docs/events.json,
	  res/res_stasis_device_state.exports.in (added), res/stasis/app.c,
	  res/res_ari_device_states.c (added), /,
	  include/asterisk/stasis_app.h, main/devicestate.c,
	  res/stasis/app.h, rest-api/resources.json,
	  res/res_stasis_device_state.c (added),
	  res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
	  res/ari/resource_device_states.c (added),
	  rest-api/api-docs/deviceStates.json (added),
	  rest-api-templates/ari.make.mustache: ARI: Implement device state
	  API Created a data model and implemented functionality for an ARI
	  device state resource. The following operations have been added
	  that allow a user to manipulate an ARI controlled device:
	  Create/Change the state of an ARI controlled device PUT
	  /deviceStates/{deviceName}&{deviceState} Retrieve all ARI
	  controlled devices GET /deviceStates Retrieve the current state
	  of a device GET /deviceStates/{deviceName} Destroy a device-state
	  controlled by ARI DELETE /deviceStates/{deviceName} The ARI
	  controlled device must begin with 'Stasis:'. An example
	  controlled device name would be Stasis:Example. A
	  'DeviceStateChanged' event has also been added so that an
	  application can subscribe and receive device change events. Any
	  device state, ARI controlled or not, can be subscribed to. While
	  adding the event, the underlying subscription control mechanism
	  was refactored so that all current and future resource
	  subscriptions would be the same. Each event resource must now
	  register itself in order to be able to properly handle
	  [un]subscribes. (issue ASTERISK-22838) Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/3025/ ........ Merged
	  revisions 403134 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_registrar.c, main/sorcery.c,
	  include/asterisk/res_pjsip.h, include/asterisk/acl.h,
	  res/res_pjsip/config_auth.c, include/asterisk/utils.h,
	  res/res_pjsip.exports.in, /,
	  res/res_pjsip_endpoint_identifier_ip.c, main/acl.c, main/utils.c,
	  res/res_pjsip.c, res/res_pjsip_exten_state.c,
	  include/asterisk/res_pjsip_pubsub.h, res/res_pjsip/location.c,
	  res/res_pjsip_outbound_registration.c, res/res_pjsip_mwi.c,
	  res/res_pjsip/pjsip_configuration.c, include/asterisk/sorcery.h,
	  include/asterisk/strings.h,
	  res/res_pjsip/include/res_pjsip_private.h,
	  res/res_pjsip_pubsub.c, res/res_pjsip/config_transport.c:
	  res_pjsip: AMI commands and events. Created the following AMI
	  commands and corresponding events for res_pjsip:
	  PJSIPShowEndpoints - Provides a listing of all pjsip endpoints
	  and a few select attributes on each. Events: EndpointList - for
	  each endpoint a few attributes. EndpointlistComplete - after all
	  endpoints have been listed. PJSIPShowEndpoint - Provides a detail
	  list of attributes for a specified endpoint. Events:
	  EndpointDetail - attributes on an endpoint. AorDetail - raised
	  for each AOR on an endpoint. AuthDetail - raised for each
	  associated inbound and outbound auth TransportDetail - transport
	  attributes. IdentifyDetail - attributes for the identify object
	  associated with the endpoint. EndpointDetailComplete - last event
	  raised after all detail events. PJSIPShowRegistrationsInbound -
	  Provides a detail listing of all inbound registrations. Events:
	  InboundRegistrationDetail - inbound registration attributes for
	  each registration. InboundRegistrationDetailComplete - raised
	  after all detail records have been listed.
	  PJSIPShowRegistrationsOutbound - Provides a detail listing of all
	  outbound registrations. Events: OutboundRegistrationDetail -
	  outbound registration attributes for each registration.
	  OutboundRegistrationDetailComplete - raised after all detail
	  records have been listed. PJSIPShowSubscriptionsInbound - A
	  detail listing of all inbound subscriptions and their attributes.
	  Events: SubscriptionDetail - on each subscription detailed
	  attributes SubscriptionDetailComplete - raised after all detail
	  records have been listed. PJSIPShowSubscriptionsOutbound - A
	  detail listing of all outboundbound subscriptions and their
	  attributes. Events: SubscriptionDetail - on each subscription
	  detailed attributes SubscriptionDetailComplete - raised after all
	  detail records have been listed. (issue ASTERISK-22609) Reported
	  by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2959/
	  ........ Merged revisions 403131 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-23 12:52 +0000 [r403118-403120]  Joshua Colp <jcolp@digium.com>

	* res/res_stasis_playback.c, rest-api/api-docs/events.json, /,
	  res/res_stasis_recording.c, res/ari/ari_model_validators.c,
	  rest-api/api-docs/recordings.json,
	  res/ari/ari_model_validators.h: ari: Add events for playback and
	  recording. While there were events defined for playback and
	  recording these were not actually sent. This change implements
	  the to_json handlers which produces them. (closes issue
	  ASTERISK-22710) Reported by: Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/3026/ ........ Merged
	  revisions 403119 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis_snoop.exports.in (added), /,
	  include/asterisk/stasis_app_snoop.h (added),
	  rest-api/api-docs/channels.json, res/res_stasis_snoop.c (added),
	  main/audiohook.c, res/ari/resource_channels.c,
	  res/res_ari_channels.c, res/ari/resource_channels.h: ari: Add
	  Snoop operation for spying/whispering on channels. The Snoop
	  operation can be invoked on a channel to spy or whisper on it. It
	  returns a channel that any channel operations can then be invoked
	  on (such as record to do monitoring). (closes issue
	  ASTERISK-22780) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/3003/ ........ Merged
	  revisions 403117 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-23 00:22 +0000 [r403106]  Rusty Newton <rnewton@digium.com>

	* apps/app_voicemail.c: app_voicemail: when forwarding a message,
	  play vm-msgforwarded instead of vm-msgsaved In the last release
	  of sounds, 1.4.25 we added a vm-msgforwarded prompt for various
	  core languages. Now we use that prompt. (issue ASTERISK-21413)
	  (closes issue ASTERISK-21413) Reported by: netwrkr Tested by:
	  newtonr

2013-11-22 23:57 +0000 [r403095]  Kinsey Moore <kmoore@digium.com>

	* tests/test_stasis.c, /, tests/test_stasis_channels.c: Make sure
	  unit tests compile This fixes the unit tests that were broken by
	  r403069 and several functions requiring a new parameter for
	  sanitization of JSON messages generated from object snapshots.
	  ........ Merged revisions 403094 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-22 22:37 +0000 [r403083]  Kevin Harwell <kharwell@digium.com>

	* /,
	  contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
	  res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
	  configuration settings names to snake case some more Updated the
	  alembic script for pjsip. Also, the dtls config parsing stuff was
	  expecting strings with no underscores, so removed the underscores
	  from the option name before passing it to the parser. ........
	  Merged revisions 403082 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-22 20:10 +0000 [r403070]  Kinsey Moore <kmoore@digium.com>

	* res/res_stasis.c, main/stasis_endpoints.c,
	  res/ari/resource_endpoints.c, main/rtp_engine.c, /,
	  res/stasis/app.c, include/asterisk/stasis_bridges.h,
	  include/asterisk/stasis.h, include/asterisk/stasis_app.h,
	  main/stasis_bridges.c, res/ari/resource_bridges.c, main/json.c,
	  main/stasis_message.c, include/asterisk/stasis_channels.h,
	  main/stasis_channels.c, res/ari/resource_channels.c,
	  include/asterisk/stasis_endpoints.h: ARI: Don't leak
	  implementation details This change prevents channels used as
	  implementation details from leaking out to ARI. It does this by
	  preventing creation of JSON blobs of channel snapshots created
	  from those channels and sanitizing JSON blobs of bridge snapshots
	  as they are created. This introduces a framework for excluding
	  information from output targeted at Stasis applications on a
	  consumer-by-consumer basis using channel sanitization callbacks
	  which could be extended to bridges or endpoints if necessary.
	  This prevents unhelpful error messages from being generated by
	  ast_json_pack. This also corrects a bug where BridgeCreated
	  events would not be created. (closes issue ASTERISK-22744)
	  Review: https://reviewboard.asterisk.org/r/2987/ Reported by:
	  David M. Lee ........ Merged revisions 403069 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-22 17:27 +0000 [r403051]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_acl.c, res/res_pjsip.c,
	  res/res_pjsip/config_transport.c, res/res_pjsip/config_global.c,
	  /, configs/pjsip.conf.sample, res/res_pjsip/config_system.c,
	  contrib/scripts/sip_to_pjsip/sip_to_pjsip.py,
	  res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
	  configuration settings names to snake case Renamed, where
	  appropriate, the configuration options for chan/res_pjsip to use
	  snake case (compound words separated by an underscore). For
	  example, faxdetect will become fax_detect, recordofffeature will
	  become record_off_feature, etc... Review:
	  https://reviewboard.asterisk.org/r/3002/ ........ Merged
	  revisions 403022 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-22 17:12 +0000 [r403017]  Joshua Colp <jcolp@digium.com>

	* /, main/translate.c: translate: Move freeing of frame to after it
	  is used. When translating from one format to another it is
	  possible to inform the translation function that the source frame
	  should be freed. This was previously done immediately but shortly
	  afterwards the frame that was freed was accessed and used again.
	  This change moves code around a bit so that the frame is now
	  freed after it has been completely used. (closes issue
	  ASTERISK-22788) Reported by: Corey Farrell Patches:
	  translate-access-after-free-11up.patch uploaded by coreyfarrell
	  (license 5909) translate-access-after-free-1.8.patch uploaded by
	  coreyfarrell (license 5909) ........ Merged revisions 403014 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 403015 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 403016 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-22 16:43 +0000 [r403013]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_directed_pickup.c, CHANGES: PickupChan: Add ability to
	  specify channel uniqueids as well as channel names. * Made
	  PickupChan() search by channel uniqueids if the search could not
	  find a channel by name. * Ensured PickupChan() never considers
	  the picking channel for pickup. * Made PickupChan() option p use
	  a common search by name routine. The original search was
	  erroneously case sensitive. (issue AFS-42) Review:
	  https://reviewboard.asterisk.org/r/3017/

2013-11-21 22:38 +0000 [r402995]  Jonathan Rose <jrose@digium.com>

	* CHANGES, apps/app_directory.c: app_directory: Set variable
	  indicating reason directory exited By the time the directory
	  application exits, a channel variable DIRECTORY_RESULT will be
	  set for the channel that invoked it which can be used to
	  determine the reason for exit. The changes log and the
	  app_directory documentation contain specific details about each
	  of the possible values for DIRECTORY_RESULT. Review:
	  https://reviewboard.asterisk.org/r/3016/

2013-11-21 22:36 +0000 [r402982-402994]  David M. Lee <dlee@digium.com>

	* rest-api-templates/ari_resource.c.mustache, /,
	  rest-api-templates/res_ari_resource.c.mustache: ari: Fix #include
	  to match generated headers for snakeCase resource files ........
	  Merged revisions 402993 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* rest-api-templates/make_ari_stubs.py, /: ari: Fix generators for
	  resources with camelCase names. For the new deviceState resource,
	  we need to properly generate device_state.[ch] files. ........
	  Merged revisions 402981 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-21 19:22 +0000 [r402969]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_session.c, /: res_pjsip_session: Fix memory leak of
	  direct media format capabilities The direct media format
	  capabilities are always allocated in ast_sip_session_alloc and
	  were not freed in the session destructor. Whoops. (This being the
	  third whoops caught by Scott and Nitesh's valgrind work for the
	  Asterisk Test Suite. Nifty!) ........ Merged revisions 402968
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-21 19:09 +0000 [r402945-402957]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/app.h, /: voicemail: Fixup some doxygen
	  comments. ........ Merged revisions 402956 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/bucket.c: bucket: Fix scheme ref leak in
	  __ast_bucket_scheme_register(). ........ Merged revisions 402944
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-21 17:53 +0000 [r402942-402943]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Fix use of
	  uninitialized value in PJSIP In PJMEDIA,
	  pjmedia_sdp_rtpmap_to_attr will attempt to use the string
	  rtpmap.param regardless of its length value. Simply setting the
	  length to 0 does not prevent the garbage on the stack in
	  rtpmap.param.ptr from being formatted in a sprintf call. This
	  patch initializes the string to NULL so that at the very least,
	  something is provided to the function that is predictable.
	  ........ Merged revisions 402941 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_mwi.c: res_pjsip_mwi: Fix memory leak of MWI
	  subscriptions container This patch fixes a reference counting
	  memory leak on the ao2_container created as part of
	  create_mwi_subscriptions. When we create the container in this
	  routine, the intent is to hand lifetime ownership over to the
	  global container unsolicited_mwi. When
	  ao2_global_obj_replace_unref is called, the reference count on
	  mwi_subscriptions (the container) will be bumped by 1; however,
	  the function does not decrement the reference count on
	  mwi_subscriptions when this occurs. This will prevent the
	  container from being fully disposed of when Asterisk exits (or on
	  any subsequent call to this operation, such as during a reload).
	  ........ Merged revisions 402940 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-21 15:57 +0000 [r402928-402929]  David M. Lee <dlee@digium.com>

	* res/res_stasis.c, /: stasis: Fixed scoping problem with bridge
	  tracking. ........ Merged revisions 402817 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/ari/resource_channels.c, res/res_ari_channels.c,
	  res/ari/resource_channels.h, /, res/stasis/control.c,
	  include/asterisk/stasis_app.h, rest-api/api-docs/channels.json:
	  ari: Add silence generator controls This patch adds the ability
	  to start a silence generator on a channel via ARI. This generator
	  will play silence on the channel (avoiding audio timeouts on the
	  peer) until it is stopped, or some other media operation is
	  started (like playing media, starting music on hold, etc.).
	  (closes issue ASTERISK-22514) Review:
	  https://reviewboard.asterisk.org/r/3019/ ........ Merged
	  revisions 402926 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-19 23:17 +0000 [r402892]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip_caller_id.c: res_pjsip_caller_id: Don't
	  overwrite user portion of the From header when fromuser is set.
	  The fromuser option is used to explicitly set the user within the
	  From header. The res_pjsip_caller_id module did not take this
	  setting into account when determining if the From header could be
	  modified or not. (closes issue ASTERISK-22866) Reported by:
	  Anthony Messina ........ Merged revisions 402891 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-16 13:51 +0000 [r402865]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip/pjsip_distributor.c, /, configure,
	  include/asterisk/autoconfig.h.in, configure.ac: res_pjsip: Add
	  support for building against pjproject with SIP transaction group
	  lock support. SIP transaction group lock support has been
	  backported into our pjproject. Since the code now internally uses
	  a group lock the code is now changed to unlock it if present.
	  Note that the act of finding the transaction is what actually
	  returns it locked. For further information about group locks
	  check out the wiki page at:
	  http://trac.pjsip.org/repos/wiki/Group_Lock (issue
	  ASTERISK-22818) Reported by: Matt Jordan ........ Merged
	  revisions 402864 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-15 22:38 +0000 [r402854]  Jonathan Rose <jrose@digium.com>

	* apps/app_confbridge.c, CHANGES,
	  apps/confbridge/conf_config_parser.c,
	  configs/confbridge.conf.sample,
	  apps/confbridge/include/confbridge.h: Confbridge: Add option to
	  review the recording similar to announce_join_leave Review:
	  https://reviewboard.asterisk.org/r/3008/

2013-11-15 14:37 +0000 [r402839]  Kinsey Moore <kmoore@digium.com>

	* /, main/cel.c: CEL: Fix crash when using CELGenUserEvent This
	  fixes a crash when CELGenUserEvent is called from the dialplan
	  while CEL is disabled. Currently, CEL does not create its topics
	  and forwards if it is not enabled and external entities may
	  depend on these topics blindly since they should always be
	  available. This patch breaks up route creation and topic/forward
	  creation such that the CEL topics and forwards will always exist
	  while the router and its associated routes will be torn down and
	  recreated as necessary. (closes issue ASTERISK-22799) Review:
	  https://reviewboard.asterisk.org/r/3010/ Reported by: Matt Jordan
	  ........ Merged revisions 402838 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-14 21:36 +0000 [r402820-402829]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_directed_pickup.c: Pickup: Pickup() and PickupChan()
	  parameter parsing improvements. * Made Pickup() and PickupChan()
	  tollerate empty pickup values. i.e., You can now have
	  Pickup(&&exten@context). * Made PickupChan() use the standard
	  option flag parsing code.

	* apps/app_directed_pickup.c: Pickup: Ensure using PICKUPMARK never
	  considers the picking channel.

2013-11-14 20:32 +0000 [r402819]  Jonathan Rose <jrose@digium.com>

	* CHANGES, main/pbx.c, apps/app_sayunixtime.c: Say: If
	  SAY_DTMF_INTERRUPT is set to an ast_true value, jump on DTMF
	  Similar to how background works, if a say application is called
	  with this variable set to 'true', 'yes', 'on', etc. then using
	  DTMF while the say action is in progress will result in the
	  channel jumping to that extension in the dialplan. Review:
	  https://reviewboard.asterisk.org/r/3011/

2013-11-13 23:11 +0000 [r402805]  Joshua Colp <jcolp@digium.com>

	* rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c, res/ari/resource_channels.h, /,
	  res/stasis/control.c, include/asterisk/stasis_app.h:
	  res_ari_channels: Add the ability to stop locally generated
	  ringing on a channel. Using the 'ring' operation it is possible
	  to start locally generated ringback if the channel is answered.
	  This change adds the ability to stop it by using DELETE. ........
	  Merged revisions 402804 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-12 23:17 +0000 [r402788-402795]  Kevin Harwell <kharwell@digium.com>

	* res/ari/resource_endpoints.c, /: ari endpoints: GET
	  /ari/endpoints/{invalid-tech} should return a 404 Was returning a
	  404 on a valid technology with an empty list of endpoints. Now
	  checking against the channel tech to make sure the tech itself is
	  valid and not just an empty list of endpoints. (issue
	  ASTERISK-22803) Reported by: David M. Lee ........ Merged
	  revisions 402793 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
	  /, res/res_ari_endpoints.c: ari endpoints: GET
	  /ari/endpoints/{invalid-tech} should return a 404 Implementation
	  listing endpoints by technology returned an empty array if no
	  matching endpoints were found. Fixed so a "404 Not Found" will be
	  returned instead. (closes issue ASTERISK-22803) Reported by:
	  David M. Lee ........ Merged revisions 402787 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-12 19:38 +0000 [r402768-402778]  Mark Michelson <mmichelson@digium.com>

	* /, main/channel.c: Switch to a scoped lock to avoid missing
	  unlocks in failure returns. ........ Merged revisions 402769 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/channel.c, /: Move a NULL check to a place that makes more
	  sense. Two variables were being checked for NULLity immediately
	  after being declared NULL. I moved the NULL check until after the
	  variables are allocated. This allows for the "channelvars" option
	  in manager.conf to work as intended again. ........ Merged
	  revisions 402767 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-12 16:49 +0000 [r402758]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_messaging.c, res/res_pjsip_header_funcs.c, /:
	  pjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer
	  dereferences Both res_pjsip_messaging and res_pjsip_header_funcs
	  were causing asterisk to crash because they were trying to
	  dereference a NULL pointer. In the case of res_pjsip_messaging it
	  was attempting to "print" a contact header that did not exist. In
	  fact contact headers should not be part of a SIP MESSAGE, so the
	  offending code was simply removed. In the case of
	  res_pjsip_header_funcs a null private channel tech was being
	  passed to the function and then later dereferenced. Added null
	  checks (and error logging) to the read/write function handlers to
	  guard against crashing. (closes issue ASTERISK-22821) Reported
	  by: Anthony Messina ........ Merged revisions 402757 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-12 16:34 +0000 [r402756]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_celgenuserevent.c: CELGenUserEvent: Fix error message
	  from ast_json_pack This prevents NULL from being passed into an
	  ast_json_pack call when no extra information is passed to the
	  application which prevents an error message about NULL arguments
	  from being generated. ........ Merged revisions 402755 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-12 15:27 +0000 [r402741]  David M. Lee <dlee@digium.com>

	* res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /:
	  Fixed a typ. ........ Merged revisions 402738 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-12 15:03 +0000 [r402711]  Kinsey Moore <kmoore@digium.com>

	* channels/chan_dahdi.c, /: chan_dahdi: Fix crash during caller ID
	  read Asterisk will sometimes core dump during caller id read on
	  analog channels due to a negative return value from the read() in
	  my_get_callerid that slips through as a negative length argument
	  to callerid_feed() if the errno returned by DAHDI is ELAST. This
	  change ensures that the negative return is treated properly even
	  when it is ELAST. (closes issue ASTERISK-22746) Reported by:
	  Michael Walton Patches: chan_dahdi_cid_crash_fix.r401410.patch
	  uploaded by Michael Walton (License 6502) ........ Merged
	  revisions 402708 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 402709 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402710 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-11 20:28 +0000 [r402698]  Jonathan Rose <jrose@digium.com>

	* apps/app_confbridge.c: Confbridge: add test events for dynamic
	  menus test Adds a couple of test events for conference menu
	  actions so that it's easy to discern when those menu actions have
	  been triggered. (issue ASTERISK-22760) Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/2999/

2013-11-11 19:31 +0000 [r402688]  Mark Michelson <mmichelson@digium.com>

	* apps/app_confbridge.c, /: Get rid of some inaccurate comments.
	  I'm doing some unrelated work in app_confbridge and finding these
	  "invalid pin" comments to be annoying. Get out! ........ Merged
	  revisions 402686 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402687 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-11 15:37 +0000 [r402648]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_queue.c: app_queue: Honor penalty limits of 0 In the
	  current app_queue code from 1.8 up to trunk the upper and lower
	  penalties can be set to 0 but the value is interpreted to be
	  disabled instead of actually setting limits. This is especially
	  evident if min and max limits are set to 0 and members with
	  penalties of 0 and 1 are in the queue since the member with
	  penalty 1 will still receive calls. This patch adjusts the
	  special disabled value to be INT_MAX instead of 0. (closes issue
	  ASTERISK-20862) Review: https://reviewboard.asterisk.org/r/2995/
	  Reported by: Schmooze Com ........ Merged revisions 402645 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 402646 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402647 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 23:07 +0000 [r402607]  Scott Griepentrog <sgriepentrog@digium.com>

	* /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
	  keep same local (from) tag for outgoing register requests For
	  outbound register requests the tag on the From line was updated
	  every 20 seconds prior to a successful registration and also once
	  for each registration renewal. That behavior can possibly cause
	  the registration to be denied because of the different tag, and
	  is not aligned with the intention of RFC 3261 8.1.3.5 "...
	  request constitutes a new transaction and SHOULD have the same
	  value of the Call-ID, To, and From of the previous request...".
	  This updates chan_sip to have a field to keep the local tag in
	  the registration structure and use that tag for registration
	  requests where the callid is also unchanged. (closes issue
	  ASTERISK-12117) Reported by: Pawel Pierscionek Review:
	  https://reviewboard.asterisk.org/r/2988/ ........ Merged
	  revisions 402604 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 402605 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402606 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 20:37 +0000 [r402595]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_stasis.c: res_stasis.c: Fix locking issues with the
	  app_bridge_moh container. * Fix unlinking from the
	  app_bridges_moh container in remove_bridge_moh() without a lock
	  under normal circumstances. * Made check
	  ast_bridge_set_after_callback() return value in
	  bridge_moh_create() to handle failure. * Fixed SCOPED_AO2LOCK()
	  locking over too much scope in stasis_app_bridge_moh_channel()
	  and stasis_app_bridge_moh_stop(). * Fixed unusual usage of
	  ao2_unlink_flag() in control_unlink(). * Fixed orphaned bridge
	  from off nominal path in stasis_app_bridge_create(). * Fixed
	  strange construct in stasis_app_unsubscribe(). From a bad merge?
	  * Made load_module() cleanup on failure. Review:
	  https://reviewboard.asterisk.org/r/2962/ ........ Merged
	  revisions 402593 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 19:33 +0000 [r402585]  Jonathan Rose <jrose@digium.com>

	* /, main/security_events.c, configs/manager.conf.sample, CHANGES,
	  include/asterisk/manager.h, main/manager.c: security_events: Push
	  out security events over AMI events Security Events will now be
	  written to any listener of the new 'security' class Review:
	  https://reviewboard.asterisk.org/r/2998/ ........ Merged
	  revisions 402584 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 19:22 +0000 [r402583]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip.c, /: Clarify an ambiguous error message. ........
	  Merged revisions 402582 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 18:53 +0000 [r402571-402572]  David M. Lee <dlee@digium.com>

	* /, res/res_pjsip/config_system.c: res_pjsip: Print a helpful
	  error message if sorcery registration fails ........ Merged
	  revisions 402570 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/ari/resource_playbacks.h, /: Changes from make ari-stubs
	  after r402560 ........ Merged revisions 402561 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 17:59 +0000 [r402562]  Kevin Harwell <kharwell@digium.com>

	* rest-api/resources.json, res/ari/resource_playback.h (removed),
	  res/res_ari_playbacks.c (added), res/ari/resource_playbacks.h
	  (added), /, res/ari.make, rest-api/api-docs/playback.json
	  (removed), res/ari/resource_playback.c (removed),
	  res/res_ari_playback.c (removed),
	  rest-api/api-docs/playbacks.json (added),
	  res/ari/resource_playbacks.c (added): ARI playback: Rename ARI
	  Playback to Playbacks Before playback was the only non plural
	  resource. It has been renamed to playbacks for consistency.
	  (closes issue ASTERISK-22737) Reported by: Paul Belanger ........
	  Merged revisions 402560 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 17:29 +0000 [r402557]  David M. Lee <dlee@digium.com>

	* res/res_ari.c, main/manager.c, /, main/http.c: ari: Add
	  application/x-www-form-urlencoded parameter support ARI POST
	  calls only accept parameters via the URL's query string. While
	  this works, it's atypical for HTTP API's in general, and
	  specifically frowned upon with RESTful API's. This patch adds
	  parsing for application/x-www-form-urlencoded request bodies if
	  they are sent in with the request. Any variables parsed this way
	  are prepended to the variable list supplied by the query string.
	  (closes issue ASTERISK-22743) Review:
	  https://reviewboard.asterisk.org/r/2986/ ........ Merged
	  revisions 402555 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-08 14:58 +0000 [r402546]  Kevin Harwell <kharwell@digium.com>

	* apps/app_dahdiras.c, utils/extconf.c, main/asterisk.c:
	  app_dahdiras: Use waitpid instead of wait4. Several places in the
	  code were using wait4 while other places were using waitpid. This
	  change makes all places use waitpid in order to make things more
	  consistent and since the 'rusage' object passed in/out of wait4
	  was never used. (closes issue ASTERISK-22557) Reported by:
	  YvesGael Patches: asterisk-11.5.1-wait4.patch uploaded by hurdman
	  (license 6537)

2013-11-07 23:42 +0000 [r402538]  Jonathan Rose <jrose@digium.com>

	* res/res_pjsip_authenticator_digest.c, /: PJSIP: Improve error
	  handling in digest authenticator Previously, regardless of
	  whether failure to authenticate was due to lacking any
	  authentication or actually failing authentication, the Digest
	  Authenticator would simply return that a challenge was still
	  needed. It will continue to do that when no authentication
	  information is in the received SIP digest, but when
	  authentication information is present and does not pass
	  authentication, that will be treated as an authentication error.
	  This is to ensure that PJSIP will issue security events indicated
	  failed auths. ........ Merged revisions 402537 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-07 21:10 +0000 [r402529]  David M. Lee <dlee@digium.com>

	* res/ari/resource_applications.c, res/ari/resource_playback.c,
	  rest-api/api-docs/channels.json, res/ari/resource_applications.h,
	  res/ari/resource_channels.c, res/ari/resource_playback.h,
	  rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
	  rest-api-templates/ari_resource.c.mustache,
	  rest-api-templates/asterisk_processor.py,
	  res/ari/resource_channels.h, rest-api/api-docs/endpoints.json,
	  res/ari/resource_endpoints.c, res/ari/resource_recordings.h,
	  res/ari/resource_events.c, res/res_ari_playback.c,
	  res/res_ari_applications.c, res/ari/resource_endpoints.h,
	  res/ari/resource_events.h, rest-api/api-docs/sounds.json,
	  res/ari/resource_sounds.c, res/res_ari_channels.c,
	  rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
	  res/ari/resource_sounds.h, res/res_ari_recordings.c,
	  res/ari/resource_bridges.h, rest-api/api-docs/asterisk.json,
	  res/ari/resource_asterisk.c, res/res_ari_endpoints.c,
	  rest-api/api-docs/applications.json,
	  rest-api/api-docs/playback.json, res/res_ari_events.c,
	  res/ari/resource_asterisk.h, rest-api-templates/swagger_model.py,
	  res/res_ari_sounds.c, res/res_ari_bridges.c, /,
	  rest-api-templates/ari_resource.h.mustache,
	  rest-api-templates/rest_handler.mustache, res/res_ari_asterisk.c,
	  rest-api-templates/res_ari_resource.c.mustache: ari: User better
	  nicknames for ARI operations While working on building client
	  libraries from the Swagger API, I noticed a problem with the
	  nicknames. channel.deleteChannel() channel.answerChannel()
	  channel.muteChannel() Etc. We put the object name in the nickname
	  (since we were generating C code), but it makes OO generators
	  redundant. This patch makes the nicknames more OO friendly. This
	  resulted in a lot of name changing within the res_ari_*.so
	  modules, but not much else. There were a couple of other fixed I
	  made in the process. * When reversible operations (POST /hold,
	  POST /unhold) were made more RESTful (POST /hold, DELETE
	  /unhold), the path for the second operation was left in the API
	  declaration. This worked, but really the two operations should
	  have been on the same API. * The POST /unmute operation had still
	  not been REST-ified. Review:
	  https://reviewboard.asterisk.org/r/2940/ ........ Merged
	  revisions 402528 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-06 21:58 +0000 [r402518]  Kevin Harwell <kharwell@digium.com>

	* /, apps/app_queue.c: app_queue: crash if first agent is "busy" If
	  the first agent/member (via CLI "queue show") in a queue is
	  "busy" (dnd, circuit busy, etc...) and no agents answered then
	  app_queue would crash. This occurred because while the calling of
	  agent(s) remained valid the channel on "busy" agent would be set
	  to NULL and then later dereferenced upon a second "rna" function
	  call. The original intention of the code is to have only valid
	  "call attempt" objects (channels != NULL) checked while
	  attempting to call agent(s). It does this by building a
	  "call_next" list of valid "call attempt" objects. In the case of
	  the "busy" agent subsequent builds of the valid "call attempt"
	  list would sometimes include (the case mentioned above) an
	  invalid "call attempt" object. The fix was to make sure the "call
	  attempt" list was appropriately built on every iteration. A NULL
	  sanity check was also added at the original offending spot of the
	  crash just in case another one slipped by somehow. (closes issue
	  ASTERISK-22644) Reported by: Marco Signorini Review:
	  https://reviewboard.asterisk.org/r/2983/ ........ Merged
	  revisions 402517 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-05 21:17 +0000 [r402502-402508]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: chan_sip: Use AST_AF* defined constant
	  when calling ast_get_ip While the structure passed to ast_get_ip
	  should be set memset to 0, thus initializing the ss_family member
	  to 0, explicitly setting it to AST_AF_UNSPEC is more portable.
	  ........ Merged revisions 402507 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_iax2.c, /: chan_iax2: Fix incorrect usage of
	  ast_get_ip involving uninitialized struct This started off as a
	  fix for the failing IAX2 acl_call test in the Asterisk Test
	  Suite. When inspecting why that test was failing, it became clear
	  that all attempts to bind to any local loopback address was
	  failing: [Nov 2 15:56:28] VERBOSE[15787] chan_iax2.c: == Binding
	  IAX2 to address 127.0.0.1:4569 [Nov 2 15:56:28] DEBUG[15787]
	  netsock2.c: Splitting '127.0.0.1' into... [Nov 2 15:56:28]
	  DEBUG[15787] netsock2.c: ...host '127.0.0.1' and port ''. [Nov 2
	  15:56:28] ERROR[15787] netsock2.c: getaddrinfo("127.0.0.1",
	  "(null)", ...): ai_family not supported [Nov 2 15:56:28]
	  WARNING[15787] acl.c: Unable to lookup '127.0.0.1' While there's
	  conceivably other ways for getaddrino to return EAI_FAMILY, the
	  most common way is if AF_INET, AF_INET6, or AF_UNSPEC is not
	  provided as the desired family. The culprit was the call to
	  ast_get_ip, defined in acl.h. This function uses the family from
	  the passed in addr object (which it will also populate when it
	  returns!) when it eventually calls getaddrinfo. This patch fixes
	  the use of ast_get_ip that were not specifying the family in
	  chan_iax2. This prevents uninitialized use of the structure, so
	  that the addresses resolve correctly. Review:
	  https://reviewboard.asterisk.org/r/2991 ........ Merged revisions
	  402505 from http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/acl.h, /, include/asterisk/netsock2.h: netsock2:
	  Define AST_AF_* enum constants to their AF_* equivalents This
	  patch explicitly defines AST_AF_* enum constants to their
	  sys/socket.h defined equivalents. It is certainly unclear why
	  these constants actually have to exist, given that netsock2.h
	  includes sys/socket.h; however, since the code base is already
	  liberally sprinkled with the usage of AST_AF_* (as well as with
	  direct calls to AF_*), this will at least keep the semantics
	  consistent between their usage across systems. ........ Merged
	  revisions 402503 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis_channels.c, /: stasis_channels: Don't give preference
	  to ANI info in channel snapshots When publishing channel
	  snapshots, we currently compute the caller ID name and number by
	  giving preference first to ani.{name|number}, then to
	  id.{name|number}. However, when a channel driver (such as
	  chan_sip) updates the caller ID, it typically only updates the
	  caller ID stored in id.{name|number}. This means that we are
	  currently giving preference to stale information. When looking at
	  the rest of the code base, the only other place where we appear
	  to use this same logic is in app_amd. Everywhere else, we treat
	  the party information in ani as being separate to the party
	  information in id. This patch publishes only the caller ID name
	  and number in the snapshot field for caller_name and caller_num.
	  Note that the information in ANI is still available in
	  caller_ani. Review: https://reviewboard.asterisk.org/r/2992/
	  ........ Merged revisions 402501 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-04 21:02 +0000 [r402453]  Kevin Harwell <kharwell@digium.com>

	* /, channels/chan_sip.c: chan_sip: notify dialog info ignores
	  presentation indicator in callerid The presentation indicator in
	  a callerid (e.g. set by dialplan function
	  Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog
	  Info Notifies are generated during extension monitoring. Added a
	  check to make sure the name and/or number presentations on the
	  callee (remote identity) are set to allow. If they are restricted
	  then "anonymous" is used instead. (closes issue AST-1175)
	  Reported by: Thomas Arimont Review:
	  https://reviewboard.asterisk.org/r/2976/ ........ Merged
	  revisions 402450 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402452 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-02 04:30 +0000 [r402406-402439]  Richard Mudgett <rmudgett@digium.com>

	* main/stasis.c, main/stasis_message_router.c, /,
	  include/asterisk/vector.h: vector: Uppercase API to follow C
	  convention. C does not support templates like C++. ........
	  Merged revisions 402438 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/lock.h, main/stasis.c,
	  main/stasis_message_router.c, /, include/asterisk/vector.h:
	  vector: Update API to be more flexible. Made the vector macro API
	  be more like linked lists. 1) Added a name parameter to
	  ast_vector() to name the vector struct. 2) Made the API take a
	  pointer to the vector struct instead of the struct itself. 3)
	  Added an element cleanup macro/function parameter when removing
	  an element from the vector for ast_vector_remove_cmp_unordered()
	  and ast_vector_remove_elem_unordered(). 4) Added
	  ast_vector_get_addr() in case the vector element is not a simple
	  pointer. * Converted an inline vector usage in
	  stasis_message_router to use the vector API. It needed the API
	  improvements so it could be converted. * Fixed topic reference
	  leak in router_dtor() when the stasis_message_router is
	  destroyed. * Fixed deadlock potential in stasis_forward_all() and
	  stasis_forward_cancel(). Locking two topics at the same time
	  requires deadlock avoidance. * Made internal_stasis_subscribe()
	  tolerant of a NULL topic. * Made stasis_message_router_add(),
	  stasis_message_router_add_cache_update(),
	  stasis_message_router_remove(), and
	  stasis_message_router_remove_cache_update() tolerant of a NULL
	  message_type. * Promoted a LOG_DEBUG message to LOG_ERROR as
	  intended in dispatch_message(). Review:
	  https://reviewboard.asterisk.org/r/2903/ ........ Merged
	  revisions 402429 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/confbridge/conf_state_single.c,
	  apps/confbridge/conf_state_inactive.c,
	  apps/confbridge/conf_state_single_marked.c, /,
	  apps/confbridge/include/confbridge.h,
	  apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
	  apps/confbridge/conf_state_multi_marked.c,
	  apps/confbridge/conf_state.c: confbridge: Separate user muting
	  from system muting overrides. The system overrides the user
	  muting requests when MOH is playing or a waitmarked user is
	  waiting for a marked user to join. System muting overrides
	  interfere with what the user may wish the muting to be when the
	  system override ends. * User muting requests are now independent
	  of the system muting overrides. The effective muting is now the
	  logical or of the user request and system override. * Added a
	  Muted flag to the CLI "confbridge list <conference>" command. *
	  Added a Muted header to the AMI ConfbridgeList action
	  ConfbridgeList event. (closes issue AST-1102) Reported by: John
	  Bigelow Review: https://reviewboard.asterisk.org/r/2960/ ........
	  Merged revisions 402425 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402427 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/config.c, apps/confbridge/conf_config_parser.c,
	  configs/confbridge.conf.sample, /: config: Allow ConfBridge DTMF
	  menus to have '#' as the first digit. ConfBridge allows custom
	  DTMF menus to be created in the confbridge.conf file by assigning
	  a DTMF key sequence to a sequence of actions as follows:
	  DTMF-sequence = action,action... Unfortunately, the normal config
	  file processing code interprets an initial '#' character as
	  starting a directive such as #include. * Add the ability to
	  escape the first non-blank character in a config line so the '#'
	  character can be used without triggering the directive processing
	  code. (closes issue AFS-2) (closes issue ASTERISK-22478) Reported
	  by: Nicolas Tanski Patches: jira_asterisk_22478_v11.patch
	  (license #5621) patch uploaded by rmudgett (modified) Review:
	  https://reviewboard.asterisk.org/r/2969/ ........ Merged
	  revisions 402407 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402416 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/app.h, /, main/app.c: voicemail: Simplify
	  callback pointer declarations and add doxygen. * Typedefed and
	  added doxegen for the voicemail callback functions. * Simplified
	  the prototypes for ast_install_vm_functions() and
	  ast_install_vm_test_functions() to use the new function typedefs.
	  * Simplified the voicemail callback function pointer variable
	  declarations to use the new function typedefs. ........ Merged
	  revisions 402398 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-01 22:48 +0000 [r402397]  Jonathan Rose <jrose@digium.com>

	* apps/confbridge/conf_config_parser.c,
	  apps/confbridge/include/confbridge.h, apps/app_confbridge.c,
	  CHANGES: app_confbridge: Make the CONFBRIDGE function be able to
	  create dynamic menus Also adds the ability to clear all profile
	  items and makes behavior more consistent with documentation as
	  when choosing whether to use CONFBRIDGE datastore profiles or the
	  application arguments to the confbridge application. (closes
	  issue ASTERISK-22760) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2971/

2013-11-01 21:51 +0000 [r402388]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/manager_bridges.c, /, main/bridge.c,
	  include/asterisk/bridge.h: Manager: Add equivalent AMI actions
	  for the bridge CLI commands. Adds the following AMI events,
	  closely following their CLI counterparts: BridgeDestroy
	  BridgeKick BridgeTechnologyList BridgeTechnologySuspend
	  BridgeTechnologyUnsuspend BridgeDestroy kicks an entire bridge,
	  where BridgeKick kicks just one channel off the bridge. When
	  kicking a channel, specifying the bridge also (optional) insures
	  it is not removed from the wrong bridge. The BridgeTechnology
	  events allow viewing and changing suspension status, which
	  affects only subsequent not active bridging. (closes
	  ASTERISK-22356) Reported by: Richard Mudgett Review:
	  https://reviewboard.asterisk.org/r/2973/ ........ Merged
	  revisions 402387 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-01 16:31 +0000 [r402368]  David M. Lee <dlee@digium.com>

	* /, rest-api-templates/api.wiki.mustache: ari wiki docs: add notes
	  about allowMultiple parameters. This patch adds a note to any
	  parameter that has 'allowMultiple' set in the Swagger
	  documentation. (closes issue ASTERISK-22704) ........ Merged
	  revisions 402367 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-01 14:38 +0000 [r402359]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/stasis_app.h, rest-api/api-docs/channels.json,
	  res/ari/resource_channels.c, res/res_ari_channels.c,
	  res/ari/resource_channels.h, res/res_stasis_playback.c, /,
	  res/stasis/control.c: res_ari_channels: Add ring operation, dtmf
	  operation, hangup reasons, and tweak early media. The ring
	  operation sends ringing to the specified channel it is invoked
	  on. The dtmf operation can be used to send DTMF digits to the
	  specified channel of a specific length with a wait time in
	  between. Finally hangup reasons allow you to specify why a
	  channel is being hung up (busy, congestion). Early media behavior
	  has also been tweaked slightly. When playing media to a channel
	  it will no longer automatically answer. If it has not been
	  answered a progress indication is sent instead. (closes issue
	  ASTERISK-22701) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2916/ ........ Merged
	  revisions 402358 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-01 12:40 +0000 [r402349]  Kinsey Moore <kmoore@digium.com>

	* res/res_rtp_asterisk.c, /, channels/chan_sip.c,
	  include/asterisk/rtp_engine.h: chan_sip: Fix RTCP port for SRFLX
	  ICE candidates This corrects one-way audio between Asterisk and
	  Chrome/jssip as a result of Asterisk inserting the incorrect RTCP
	  port into RTCP SRFLX ICE candidates. This also exposes an ICE
	  component enumeration to extract further details from candidates.
	  (closes issue ASTERISK-21383) Reported by: Shaun Clark Review:
	  https://reviewboard.asterisk.org/r/2967/ ........ Merged
	  revisions 402345 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402348 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-11-01 12:33 +0000 [r402337-402347]  Joshua Colp <jcolp@digium.com>

	* /, include/asterisk/stasis_app.h, res/ari/resource_channels.c:
	  res_ari_channels: Fix a deadlock when originating multiple
	  channels close to eachother. If a Stasis application is specified
	  an implicit subscription is done on the originated channel. This
	  was previously done with the channel lock held which is dangerous
	  as the underlying code locks the container and iterates items.
	  This change releases the lock on the originated channel before
	  subscribing occurs. (closes issue ASTERISK-22768) Reported by:
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/2979/
	  ........ Merged revisions 402346 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/stasis/control.c: res_stasis: Ensure the channel is always
	  departed from the bridge when it leaves. This change adds a
	  command to the command queue to explicitly depart the channel
	  from the bridge when it is told it has left. If the channel has
	  already been departed or has entered a different bridge this
	  command will become a no-op. (closes issue ASTERISK-22703)
	  Reported by: John Bigelow (closes issue ASTERISK-22634) Reported
	  by: Kevin Harwell Review:
	  https://reviewboard.asterisk.org/r/2965/ ........ Merged
	  revisions 402336 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-31 22:09 +0000 [r402328]  Mark Michelson <mmichelson@digium.com>

	* /, contrib/scripts/sip_to_pjsip/sip_to_pjsip.py,
	  contrib/scripts/sip_to_res_sip (removed),
	  contrib/scripts/sip_to_pjsip (added),
	  contrib/scripts/sip_to_pjsip/astconfigparser.py,
	  contrib/scripts/sip_to_pjsip/astdicts.py: Update the conversion
	  script from sip.conf to pjsip.conf (closes issue ASTERISK-22374)
	  Reported by Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2846 ........ Merged revisions
	  402327 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-31 16:06 +0000 [r402286-402290]  Matthew Jordan <mjordan@digium.com>

	* main/loader.c, /: core/loader: Don't call dlclose in a while loop
	  For awhile now, we've noticed continuous integration builds
	  hanging on CentOS 6 64-bit build agents. After resolving a number
	  of problems with symbols, strange locks, and other shenanigans,
	  the problem has persisted. In all cases, gdb shows the Asterisk
	  process stuck in loader.c on one of the infinite while loops that
	  calls dlclose repeatedly until success. The documentation of
	  dlclose states that it returns 0 on success; any other value on
	  error. It does not state that repeatedly calling it will
	  eventually clear those errors. Most likely, the repeated calls to
	  dlclose was to force a close by exhausting the references on the
	  library; however, that will never succeed if: (a) There is some
	  fundamental error at work in the loaded library that precludes
	  unloading it (b) Some other loaded module is referencing a symbol
	  in the currently loaded module This results in Asterisk sitting
	  forever. Since we have matching pairs of dlopen/dlclose, this
	  patch opts to only call dlclose once, and log out as an ERROR if
	  dlclose fails to return success. If nothing else, this might help
	  to determine why on the CentOS 6 64-bit build agent things are
	  not closing successfully. Review:
	  https://reviewboard.asterisk.org/r/2970 ........ Merged revisions
	  402287 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 402288 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402289 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/media_index.c, /: medix_index: Display errors when library
	  calls fail Based on feedback from ipengineer in #asterisk, when
	  the media indexer cannot access a sound file on the system (or
	  otherwise fails) Asterisk displays a "Cannot frob file" error but
	  fails to tell you why. This is especially problematic as the
	  media_indexer failing will rpevent Asterisk from starting, as it
	  is in the core. We now display the errno error messages so folks
	  can figure out what they've done wrong. ........ Merged revisions
	  402285 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-31 14:45 +0000 [r402277]  David M. Lee <dlee@digium.com>

	* /, res/stasis/app.c: stasis: add functions embarrassingly missing
	  from r400522 I neglected to implement two of the endpoint
	  subscription functions when I did the work. Normally, you'll only
	  hit that when you unsubscribe from a specific endpoint. ........
	  Merged revisions 402276 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-30 17:54 +0000 [r402266]  Kevin Harwell <kharwell@digium.com>

	* channels/chan_pjsip.c, /, res/res_pjsip_messaging.c:
	  pjsip_messaging: Added debug for in dialog messaging (issue
	  ASTERISK-22777) Reported by: Matt Jordan ........ Merged
	  revisions 402265 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-29 23:43 +0000 [r402227]  Rusty Newton <rnewton@digium.com>

	* /, sounds/Makefile: Updates for 1.4.25 core sounds and 1.4.14
	  extra sounds, plus new en_GB language set The new sound packages
	  relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413,
	  ASTERISK-20782 Modified sounds/Makefile for the new sound
	  versions and to account for the new en_GB language set. (issue
	  ASTERISK-22659) (closes issue ASTERISK-22659) (closes issue
	  ASTERISK-22411) (closes issue ASTERISK-22544) ........ Merged
	  revisions 402224 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 402225 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402226 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-29 12:57 +0000 [r402155]  Matthew Jordan <mjordan@digium.com>

	* main/xmldoc.c, main/channel.c, main/pbx.c, /, main/translate.c:
	  Remove some spammy debug messages; improve clarity of others
	  Debug messages aren't free. Even when the debug level is
	  sufficiently low such that the messages are never evaluated,
	  there is a cost to having to parse Asterisk logs that contain
	  debug messages that (a) fail to convey sufficient information or
	  (b) occur so frequently as to be next to meaningless. Based on
	  having to stare at lots of DEBUG messages, this patch makes the
	  following changes: * channel.c: When copying variables from a
	  parent channel to a child channel, specify the channels involved.
	  Do not log anything for a variable that is not inherited; the
	  fact that it doesn't have an _ or __ already signifies that it
	  won't be inherited. * pbx.c: Specify what function evaluation has
	  occurred that created the result. * translate.c: Bump up the
	  translator path messages to 10. I've never once had to use these
	  debug messages, and for each format that is registered (on
	  startup) and unregistered (on shutdown) the entire f^2 matrix is
	  logged out. For short tests in the Asterisk Test Suite, this
	  should make finding the actual test much easier. * xmldoc.c: The
	  debug message that 'blah' is not found in the tree is expected.
	  Often, description elements - which are not required - are not
	  provided. This debug message adds no additional value, as it is
	  not indicative of an error or helpful in debugging which element
	  did not contain a 'blah' element as a child. If an element is
	  supposed to contain a child element, then that XML tree should
	  have failed validation in the first place. Review:
	  https://reviewboard.asterisk.org/r/2966/ ........ Merged
	  revisions 402150 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 402151 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402154 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-29 12:51 +0000 [r402149-402153]  Kinsey Moore <kmoore@digium.com>

	* rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c, res/ari/resource_channels.h, /: ARI:
	  Remove channels/{channelId}/dial This removes the
	  /ari/channels/{channelId}/dial URI since it is redundant, overly
	  complex, is likely to become more externally complex over time,
	  and is too high-level compared with other ARI operations. See the
	  following for further information:
	  http://lists.digium.com/pipermail/asterisk-app-dev/2013-October/000002.html
	  (closes issue ASTERISK-22784) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2968/ ........ Merged
	  revisions 402152 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* bridges/bridge_native_rtp.c, /: bridge_native_rtp: Ensure bridge
	  is torn down When a bridge transitions away from one tech to
	  another, the tech going away is provided a dummy bridge with no
	  channels in it to tear down. Currently this means that the
	  teardown code exits prematurely and does not tear anything down.
	  This change tears down RTP bridging for the channel provided in
	  the leave bridge tech callback. This also reverts the majority of
	  r400403 since it is now redundant. (closes issue ASTERISK-22628)
	  (closes issue ASTERISK-22676) Reported by: John Bigelow Reported
	  by: Kevin Harwell Tested by: John Bigelow Review:
	  https://reviewboard.asterisk.org/r/2905/ Patches:
	  native_rtp_fix.diff uploaded by Kinsey Moore (License 6273)
	  ........ Merged revisions 402148 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-29 11:15 +0000 [r402140]  Joshua Colp <jcolp@digium.com>

	* /, rest-api/api-docs/playback.json, res/res_ari_playback.c:
	  res_ari_playback: Add missing 404 error response for GET and
	  DELETE. (closes issue ASTERISK-22722) Reported by: Richard
	  Mudgett ........ Merged revisions 402139 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-28 22:10 +0000 [r402128-402130]  David M. Lee <dlee@digium.com>

	* /, doc: Ignore full docs ........ Merged revisions 402127 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /: Put back several merge revisions that were lost in r402054

	* /: Put back several merge revisions that were lost in r401962

2013-10-28 15:08 +0000 [r402113-402117]  Michael L. Young <elgueromexicano@gmail.com>

	* /, UPGRADE-11.txt, UPGRADE-12.txt: Fix UPGRADE.txt Due To Merging
	  From Branch 11 When merging in the patch for ASTERISK-22728, the
	  UPGRADE.txt file was changed incorrectly. That change should have
	  gone into ASTERISK-11.txt. This commit is to fix that. Also,
	  another comment in the UPGRADE-11.txt was missing and this commit
	  adds that as well. ........ Merged revisions 402115 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_sip.c, UPGRADE-12.txt: chan_sip: Clarify
	  'Forcerport' Setting Displayed When Running "sip show peers"
	  While looking at ASTERISK-22236, Walter Doekes pointed out that
	  when running "sip show peers", the setting being displayed can be
	  confusing. The display of "N" used to mean NAT (i.e. yes). The
	  NAT setting has gone through many different changes resulting in
	  the display of different characters to try and convey what the
	  current setting is for 'Forcerport' (A for Auto and Forcerport is
	  currently on, a for Auto but Forcerport is off, Y for yes, and N
	  for no). During the initial code review to try and clarify these
	  settings (especially since "N" no longer meant what it used to
	  mean in prior versions of Asterisk), Mark Michelson suggested
	  using the full space available to display the settings which
	  helped to make the settings very clear. That was a great
	  suggestion. Therefore, this patch does the following: * The
	  column for 'Forcerport' now will show: Auto (Yes), Auto (No),
	  Yes, or No. * A column for the 'Comedia' setting has been added.
	  It too will display the setting in a non-cryptic way: Auto (Yes),
	  Auto (No), Yes, or No. * UPGRADE.txt has been updated to document
	  this change. (closes issue ASTERISK-22728) Reported by: Walter
	  Doekes Tested by: Michael L. Young Patches:
	  asterisk-forcerport-display-clarification_v3.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2941 ........ Merged revisions
	  402111 from http://svn.asterisk.org/svn/asterisk/branches/11
	  ........ Merged revisions 402112 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-27 23:22 +0000 [r402073-402091]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c, /: Filter out internal channels from dial message
	  handling Surrogate channels would pop up from time to time in
	  dial message handling. This would cause a WARNING message to
	  appear, indicating that the Surrogate channel had no CDR. This
	  patch filters out those channels that have the internal
	  implementation flag set, such that the WARNING message isn't
	  displayed. ........ Merged revisions 402090 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* cdr/cdr_sqlite3_custom.c, /, cdr/cdr_syslog.c, cdr/cdr_sqlite.c,
	  cdr/cdr_adaptive_odbc.c, addons/cdr_mysql.c,
	  include/asterisk/cdr.h, cdr/cdr_pgsql.c, cdr/cdr_odbc.c,
	  cdr/cdr_radius.c, cdr/cdr_custom.c, cdr/cdr_manager.c,
	  cdr/cdr_tds.c, cdr/cdr_csv.c, main/cdr.c: Prevent CDR backends
	  from unregistering while billing data is in flight This patch
	  makes it so that CDR backends cannot be unregistered while active
	  CDR records exist. This helps to prevent billing data from being
	  lost during restarts and shutdowns. Review:
	  https://reviewboard.asterisk.org/r/2880/ ........ Merged
	  revisions 402081 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, 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. ........ Merged
	  revisions 400383 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-26 12:56 +0000 [r402065]  Joshua Colp <jcolp@digium.com>

	* channels/chan_pjsip.c, include/asterisk/res_pjsip_session.h, /:
	  chan_pjsip: Fix a crash when direct media is enabled and an ACK
	  is received after the channel is hung up. (closes issue
	  ASTERISK-22731) Reported by: Kinsey Moore ........ Merged
	  revisions 402064 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-26 00:36 +0000 [r402056]  Richard Mudgett <rmudgett@digium.com>

	* res/res_stasis.c, /: res_stasis.c: Made use the ao2_container
	  callback templates. * Made res_stasis.c use the OBJ_SEARCH_XXX
	  defines. ........ Merged revisions 402055 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-26 00:27 +0000 [r402054]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/rtp_engine.c, /, include/asterisk/rtp_engine.h: rtp_engine:
	  fix rtp payloads copy and improve argument names In function
	  ast_rtp_instance_early _bridge_make_compatible the use of
	  instance 0/1 as arguments doesn't clearly communicate a direction
	  that the copying of payloads from the source channel to the
	  destination channel will occur, making it more probable to have
	  the arguments to ast_rtp_codecs_payloads_copy() put in the
	  reverse order. This patch renames the arguments with _dst and
	  _src suffixes and corrects the copy direction. (closes issue
	  ASTERISK-21464) Reported by: Kevin Stewart Review:
	  https://reviewboard.asterisk.org/r/2894/ ........ Merged
	  revisions 402000 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 Test shows
	  rtpmap:119 being copied per this change, but is not in sip invite
	  ........ Merged revisions 402042 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 402043 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-25 23:58 +0000 [r402004-402045]  Richard Mudgett <rmudgett@digium.com>

	* /, main/taskprocessor.c: taskprocessor: Made use pthread_equal()
	  to compare thread ids. * Removed another silly use of RAII_VAR().
	  RAII_VAR() and SCOPED_LOCK() are not silver bullets that allow
	  you to turn off your brain. ........ Merged revisions 402044 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/stasis/app.c: You'd think that new files would be free of
	  whitespace issues. But you would be wrong. ........ Merged
	  revisions 402003 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-25 22:01 +0000 [r401999-402002]  Jonathan Rose <jrose@digium.com>

	* res/ari/resource_bridges.c, res/res_ari_bridges.c, /,
	  rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c, rest-api/api-docs/bridges.json: ARI:
	  channel/bridge recording errors when invalid format specified
	  Asterisk will now issue 422 if recording is requested against
	  channels or bridges with an unknown format (closes issue
	  ASTERISK-22626) Reported by: Joshua Colp Review:
	  https://reviewboard.asterisk.org/r/2939/ ........ Merged
	  revisions 402001 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_stasis_recording.c, rest-api/api-docs/channels.json,
	  res/ari/resource_channels.c, res/ari/ari_model_validators.c,
	  res/res_ari_channels.c, rest-api/api-docs/bridges.json,
	  rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
	  res/ari/ari_model_validators.h, res/res_ari_bridges.c,
	  rest-api/api-docs/events.json, /: ARI recordings: Issue HTTP
	  failures for recording requests with file conflicts If a file
	  already exists in the recordings directory with the same name as
	  what we would record, issue a 422 instead of relying on the
	  internal failure and issuing success. (closes issue
	  ASTERISK-22623) Reported by: Joshua Colp Review:
	  https://reviewboard.asterisk.org/r/2922/ ........ Merged
	  revisions 401973 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-25 20:51 +0000 [r401962]  Scott Griepentrog <sgriepentrog@digium.com>

	* include/asterisk/pbx.h, main/pbx.c, /: pbx.c: fix confused match
	  caller id that deleted exten still in hash This fixes a bug where
	  a zero length callerid match adjacent to a no match callerid
	  extension entry would be deleted together, which then resulted in
	  hashtable references to free'd memory. A third state of the
	  matchcid value has been added to indicate match to any extension
	  which allows enforcing comparison of matchcid on/off without
	  errors. (closes issue AST-1235) Reported by: Guenther Kelleter
	  Review: https://reviewboard.asterisk.org/r/2930/ ........ Merged
	  revisions 401959 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401960 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401961 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-25 17:41 +0000 [r401898-401939]  Jonathan Rose <jrose@digium.com>

	* /, res/res_pjsip/pjsip_distributor.c,
	  res/res_pjsip_endpoint_identifier_user.c: PJSIP: Add log messages
	  when requests are received for non-existent endpoints (closes
	  issue ASTERISK-22552) Reported by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/2934/ ........ Merged
	  revisions 401938 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* utils/clicompat.c, utils/refcounter.c, /: Put clicompat-r2.patch
	  back in We've figured out how to resolve the problems this was
	  causing in 12/trunk, so this can go back in now. (issue
	  ASTERISK-22467) Reported by: Corey Farrell Patches:
	  clicompat-r2.patch uploaded by coreyfarrell (license 5909)
	  ........ Merged revisions 401914 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401935 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401936 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, utils/clicompat.c: revert clicompat-r2.patch from r401704
	  Patch caused the following build errors against testsuite
	  https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD4-244
	  (issue ASTERISK-22467) Reported by: Corey Farrell ........ Merged
	  revisions 401895 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401896 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401897 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-25 16:09 +0000 [r401886]  Kevin Harwell <kharwell@digium.com>

	* /, channels/chan_sip.c: chan_sip: Allow a sip peer to accept both
	  AVP and AVPF calls Adapts the behaviour of avpf to only impact
	  the format of outgoing calls. For inbound calls, both AVP and
	  AVPF calls will be accepted regardless of the value of avpf in
	  the configuration. (closes issue ASTERISK-22005) Reported by:
	  Torrey Searle Patches: optional_avpf_trunk.patch uploaded by
	  tsearle (license 5334) ........ Merged revisions 401884 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401885 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-25 13:49 +0000 [r401873]  David M. Lee <dlee@digium.com>

	* tests/test_json.c, /: test_json: Fix deprecation warnings After a
	  series of upgrades over recent weeks, I've discovered that
	  test_json.c won't compile in dev mode any more for me. One of
	  gcc-4.8.2, OS X Mavericks or Xcode 5 has decided to deprecate
	  tempnam. Which, in general, is a good thing. But for test code
	  that just needs a temporary file, it's just annoying. This patch
	  replaces usage of tempname with mkstemp, avoiding the deprecation
	  warning. It also removes the temporary files when the test is
	  complete, which apparently we weren't doing before (oops).
	  Review: https://reviewboard.asterisk.org/r/2957/ ........ Merged
	  revisions 401872 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-24 21:06 +0000 [r401836]  Kevin Harwell <kharwell@digium.com>

	* /, main/logger.c: Logging: Logging types ignored after specifying
	  a verbose level If one specified a verbose level within a logging
	  facility in logger.conf then any component after it was ignored.
	  Fixed so all values are correctly read. (closes issue
	  ASTERISK-22456) Reported by: Kevin Harwell ........ Merged
	  revisions 401833 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401835 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-24 20:48 +0000 [r401834]  David M. Lee <dlee@digium.com>

	* rest-api-templates/models.wiki.mustache,
	  rest-api/api-docs/events.json, /,
	  rest-api-templates/swagger_model.py,
	  rest-api-templates/ari_model_validators.c.mustache: The Swagger
	  1.2 specification for type extension ended up being slightly
	  different than my proposal. Instead of putting an 'extends' field
	  on the subtype, the base type has a 'subTypes' field, which is a
	  list of the subTypes. Given that its a messaging model and not an
	  object model, kinda makes sense. This patch changes the
	  events.json api-doc, and the python translators to take the new
	  format into account. Other changes that are in Swagger 1.2 were
	  not adopted, since the spec is still in flux, and could change
	  before it's finalized. A summary of changes to the Swagger-1.2
	  spec can be found at
	  https://github.com/wordnik/swagger-core/wiki/1.2-transition.
	  (closes issue ASTERISK-22440) Review:
	  https://reviewboard.asterisk.org/r/2909/ ........ Merged
	  revisions 401701 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-24 20:34 +0000 [r401622-401832]  Jonathan Rose <jrose@digium.com>

	* /, main/utils.c: utils: Fix memory leaks and missed
	  unregistration of CLI commands on shutdown Final set of patches
	  in a series of memory leak/cleanup patches by Corey Farrell
	  (closes issue ASTERISK-22467) Reported by: Corey Farrell Patches:
	  main-utils-1.8.patch uploaded by coreyfarrell (license 5909)
	  main-utils-11.patch uploaded by coreyfarrell (license 5909)
	  main-utils-12up.patch uploaded by coreyfarrell (license 5909)
	  ........ Merged revisions 401829 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401830 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401831 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, tests/test_linkedlists.c: test_linkedlists: Fix memory leak
	  (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
	  test_linkedlists-1.8.patch uploaded by coreyfarrell (license
	  5909) test_linkedlists-11up.patch uploaded by coreyfarrell
	  (license 5909) ........ Merged revisions 401790 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401791 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401792 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/jitterbuf.c: jitterbuf: Fix memory leak on jitter buffer
	  reset (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
	  jitterbuf-jb_reset-leak-1.8.patch
	  jitterbuf-jb_reset-leak-11up.patch ........ Merged revisions
	  401786 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 401787 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401788 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/astobj2.c, /: astobj2: Unregister debug CLI commands at exit
	  (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
	  astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell
	  (license 5909) astobj2-clean-debug-cli-12up.patch uploaded by
	  coreyfarrell (license 5909) ........ Merged revisions 401781 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401783 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401784 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_voicemail.c, /: app_voicemail: Memory Leaks against
	  tests (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
	  app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909)
	  app_voicemail-11up.patch uploaded by coreyfarrell (license 5909)
	  ........ Merged revisions 401743 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401744 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401745 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/app.c, main/asterisk.c, utils/clicompat.c,
	  channels/chan_dahdi.c, codecs/ilbc/doCPLC.c, main/data.c, /:
	  memory leaks: Memory leak cleanup patch by Corey Farrell (second
	  set) Also covers ast_app_parse_timelen-fail-zero-length.patch,
	  but the patch was replaced with one of my own. (issue
	  ASTERISK-22467) Reported by: Corey Farrell Patches:
	  chan_dahdi-cleanup_push.patch uploaded by coreyfarrell (license
	  5909) clicompat-r2.patch uploaded by coreyfarrell (license 5909)
	  codecs-ilbc-doCPLC.patch uploaded by coreyfarrell (license 5909)
	  data-cleanup-test-registration.patch uploaded by coreyfarrell
	  (license 5909) main-asterisk-kill-listener.patch uploaded by
	  coreyfarrell (license 5909) ........ Merged revisions 401704 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401705 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401706 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, tests/test_dlinklists.c, funcs/func_math.c,
	  channels/sip/reqresp_parser.c, main/test.c,
	  main/editline/readline.c: memory leaks: Memory leak cleanup patch
	  by Corey Farrell (first set) (issue ASTERSIK-22467) Reported by:
	  Corey Farrell Patches:
	  chan_sip-parse_contact_header_test-free-contacts.patch uploaded
	  by coreyfarrell (license 5909) cli-filename-completion-leak.patch
	  uploaded by coreyfarrell (license 5909) func_math.patch uploaded
	  by corefarrell (license 5909) main-test-cleanup.patch uploaded by
	  coreyfarrell (license 5909) test_dlinklists.patch uploaded by
	  coreyfarrell (license 5909) ........ Merged revisions 401660 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401661 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401662 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/translate.c, res/res_rtp_asterisk.c: res_rtp_asterisk:
	  Address jittery DTMF events in RTP streams (closes issue
	  ASTERISK-21170) Reported by: NITESH BANSAL Patches:
	  dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)
	  Review: https://reviewboard.asterisk.org/r/2938/ ........ Merged
	  revisions 401619 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401620 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401621 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-23 16:52 +0000 [r401582]  Richard Mudgett <rmudgett@digium.com>

	* /, cdr/cdr_adaptive_odbc.c: cdr_adaptive_odbc: Also apply a
	  filter when the CDR value is empty. Extra CDR records are written
	  if a filtered CDR value is empty because the filter is not
	  checked. (closes issue ASTERISK-22272) Reported by: Jordi Llull
	  Chavarria ........ Merged revisions 401577 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401579 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401581 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-23 16:48 +0000 [r401580]  John Bigelow <jbigelow@digium.com>

	* /, main/bridge_channel.c: Add a test suite event to indicate when
	  the atxfer 3-way feature is detected This adds a test suite event
	  that indicates to tests when the attended transfer three-way call
	  feature is detected. Review:
	  https://reviewboard.asterisk.org/r/2912/ ........ Merged
	  revisions 401578 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-23 15:23 +0000 [r401540]  Kinsey Moore <kmoore@digium.com>

	* channels/chan_mgcp.c, /: chan_mgcp: Properly handle malformed
	  media lines This corrects a situation in which a media line was
	  not parsed properly and resulted in a crash. (closes issue
	  ASTERISK-21190) Reported by: adomjan Patches:
	  chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448)
	  ........ Merged revisions 401537 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401538 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401539 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-23 11:16 +0000 [r401500]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_sip.c: chan_sip: Fix an issue where an
	  incompatible audio format may be added to SDP. If preferred
	  codecs included any non-audio format the code would mistakenly
	  add the audio format, even if it was not a joint capability with
	  the remote side. (closes issue ASTERISK-21131) Reported by:
	  nbougues Patches: patch_unsupported_codec_1.8.patch uploaded by
	  nbougues (license 6470) ........ Merged revisions 401497 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401498 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401499 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-23 02:36 +0000 [r401489]  Michael L. Young <elgueromexicano@gmail.com>

	* channels/chan_iax2.c, configs/iax.conf.sample, /: chan_iax2: Fix
	  Binding To Multiple Addresses Again When reworking chan_iax2 for
	  IPv6, the ability to bind to multiple addresses was removed by
	  mistake. This patch restores this functionality and adds notes
	  about IPv6 addresses in the sample config. (closes issue
	  ASTERISK-22741) Reported by: Joshua Colp Tested by: Michael L.
	  Young Patches: asterisk-22741-fix-binding-multiple-addr.diff
	  uploaded by Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2945/ ........ Merged
	  revisions 401488 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-22 23:10 +0000 [r401450]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix crash when RTCP
	  is not available during SSRC change In r400089, a patch was put
	  in to correct erroneous RTCP statistic resets. Unfortunately,
	  ast_rtp_read can be called on an RTP instance that does not have
	  RTCP information. This patch prevents that crash by only
	  resetting the statistics if we do actually have an RTCP instance.
	  (issue AST-1174) (closes issue ASTERISK-22667) Reported by: John
	  Bigelow ........ Merged revisions 401445 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401446 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401447 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-22 19:04 +0000 [r401421-401435]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_queue.c, /: app_queue: Fix CLI "queue remove member"
	  queue_log entry. The queue_log entry resulting from CLI "queue
	  remove member" when log_membername_as_agent is enabled is wrong.
	  It always uses the interface name instead of the member name in
	  the queue_log entry. * Get the queue member before removing it
	  from the queue so the member name is available for the queue_log
	  entry. (closes issue ASTERISK-21826) Reported by: Oscar Esteve
	  Patches: fix_membername.diff (license #6505) patch uploaded by
	  Oscar Esteve (modified to fix potential ref leak) ........ Merged
	  revisions 401433 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401434 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/bridge_channel.c,
	  include/asterisk/bridge_channel_internal.h, /, main/bridge.c:
	  Bridging: Fix orphaned bridge if neither of the joining channels
	  can join. The original issue noted that the bridge is orphaned
	  when res_parking.so is not loaded and a call uses the dial kK
	  flags. A similar issue happens when only one of the park flags is
	  used. In this case you have the bridge with one or the other
	  channel left in it. The channel and bridge will stay around until
	  the channel hangs up. * Fixed the initial bridge channel push
	  failure to act as if the channel were kicked out of the bridge.
	  The bridge then decides if it needs to be dissolved. (closes
	  issue ASTERISK-22629) Reported by: Kevin Harwell Review:
	  https://reviewboard.asterisk.org/r/2928/ ........ Merged
	  revisions 401424 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/parking/parking_bridge_features.c,
	  res/parking/parking_bridge.c, /: res_parking: Give parking
	  timeout comebacktoorigin channel DTMF features. Parking timeouts
	  did not set any DTMF features for the channel calling the parker
	  back. * Added code to set the parkedcalltransfers,
	  parkedcallreparking, parkedcallhangup, and parkedcallrecording
	  options appropriately for the channels when a parking timeout
	  occurs. The recall channel DTMF options are set using the
	  BRIDGE_FEATURES channel variable to allow the other timeout
	  options to have the DTMF features available. (closes issue
	  ASTERISK-22630) Reported by: Kevin Harwell Review:
	  https://reviewboard.asterisk.org/r/2942/ ........ Merged
	  revisions 401422 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_parking.c: res_parking: Update XML documention for
	  DTMF features after parking timeout. * Updated the XML
	  documentation to indicate that the parkedcalltransfers,
	  parkedcallreparking, parkedcallhangup, and parkedcallrecording
	  configuration options also apply to parking timeouts. (issue
	  ASTERISK-22630) Reported by: Kevin Harwell Review:
	  https://reviewboard.asterisk.org/r/2942/ ........ Merged
	  revisions 401420 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-22 15:17 +0000 [r401411]  Joshua Colp <jcolp@digium.com>

	* apps/app_dial.c: Add an 'R' option to Dial which sends ringing
	  until early media has been received. (closes issue
	  ASTERISK-10487) Reported by: Gaspar Zoltan Patches: 10487.patch
	  uploaded by n8ideas (license 6075)

2013-10-21 21:06 +0000 [r401365]  Mark Michelson <mmichelson@digium.com>

	* /, main/bridge_channel.c: Remove a noisy debug message from
	  bridging code. This particular debug message, during a stress
	  test, was logged so often that it appeared that there may be a
	  memory leak in the logger code. In actuality, there was no memory
	  leak, but the logger thread was having a hard time keeping up
	  with the demands of the rest of the system. Since this debug
	  message has no value at all, the best way to fix the problem was
	  to just remove the message. (closes issue AST-1225) reported by
	  John Bigelow Patches: spammy_log.diff uploaded by Mark Michelson
	  (License #5049) ........ Merged revisions 401364 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-21 19:50 +0000 [r401328]  Kevin Harwell <kharwell@digium.com>

	* /, main/editline/term.c: Segfault in LIBEDIT_INTERNAL after
	  tgetstr(), when libncurses5-dev isn't installed Include the
	  appropriate declarations when not using termcap, but term+curses
	  and [n]curses do not exist. (closes issue ASTERISK-22351)
	  Reported by: A. Iglesias Patches:
	  issueA22351_libedit_internal_without_ncurses_dev.patch uploaded
	  by wdoekes (license 5674) ........ Merged revisions 401325 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401326 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401327 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-21 18:59 +0000 [r401316-401317]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/channels.json, /: Fixing r401281; the model
	  name is Channel, with a capital C ........ Merged revisions
	  401315 from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_ari.c, /: Fixed malformed Access-Control-Allow-Methods
	  header. Was causing Safari to barf on POST and DELETE. ........
	  Merged revisions 401106 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-19 21:57 +0000 [r401292]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_iax2.c: Fix IAX2 incoming call address lookups
	  This fixes address lookup for incoming calls without a peer
	  definition. The address family was unset instead of being set to
	  AST_AF_UNSPEC which was causing lookup failures on "127.0.0.1".
	  This is one of the causes of the current failure of the app_page
	  integration test. Review:
	  https://reviewboard.asterisk.org/r/2933/ ........ Merged
	  revisions 401291 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-19 14:45 +0000 [r401282]  Joshua Colp <jcolp@digium.com>

	* res/ari/resource_channels.h, main/pbx.c, /,
	  rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c: Return a channel snapshot when
	  originating using ARI, and subscribe the Stasis application to
	  it. This change allows a user of ARI to know what channel it has
	  originated and also follow any progress. If a Stasis application
	  is provided it will be automatically subscribed to the originated
	  channel immediately. (closes issue ASTERISK-22485) Reported by:
	  David Lee Review: https://reviewboard.asterisk.org/r/2910/
	  ........ Merged revisions 401281 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-18 22:52 +0000 [r401272]  Richard Mudgett <rmudgett@digium.com>

	* /, res/parking/parking_controller.c: res_parking: Remove setting
	  useless flag. ........ Merged revisions 401271 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-18 21:51 +0000 [r401263]  David M. Lee <dlee@digium.com>

	* contrib/scripts/get_swagger_ui.sh (added), Makefile, /,
	  static-http: This is just a quick script for dumping swagger-ui
	  into static-http, so that it can be served by the Asterisk web
	  server. I had to change the Makefile in order to recursively
	  install content from the static-http directory, hence the code
	  review instead of just putting it in. Review:
	  https://reviewboard.asterisk.org/r/2924/ ........ Merged
	  revisions 401261 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-18 18:44 +0000 [r401249]  Mark Michelson <mmichelson@digium.com>

	* main/sorcery.c, main/cli.c, main/manager.c, /, main/bridge.c,
	  main/bucket.c: Resolve some memory leaks due to incorrect for
	  loop / ao2 ref usage. A common idiom in Asterisk is to due
	  something like: for (ao2_obj = list_beginning; ao2_obj =
	  next_item; ao2_ref(ao2_obj, -1)) { ...do stuff... } This is nice
	  because it automatically takes care of the object references for
	  you. However, there is a pitfall here. If a break statement is in
	  the for loop, then the current reference is not cleaned up. In
	  some cases, this is on purpose, but in others there is a leak.
	  This commit fixes the leak cases. ........ Merged revisions
	  401248 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-18 16:59 +0000 [r401233-401240]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_fax.c, include/asterisk/channel.h, apps/app_dial.c,
	  main/channel.c: Add channel lock protection around translation
	  path setup. Most callers of ast_channel_make_compatible() happen
	  before the channels enter a two party bridge. With the new
	  bridging framework, two party bridging technologies may also call
	  ast_channel_make_compatible() when there is more than one thread
	  involved with the two channels. * Added channel lock protection
	  in set_format() and ast_channel_make_compatible_helper() when
	  dealing with the channel's native formats while setting up a
	  translation path. * Fixed best_src_fmt and best_dst_fmt usage
	  consistency in ast_channel_make_compatible_helper(). The call to
	  ast_translator_best_choice() got them backwards. * Updated some
	  callers of ast_channel_make_compatible() and the function
	  documentation. There is actually a difference between the two
	  channels passed in. * Fixed the deadlock potential in res_fax.c
	  dealing with ast_channel_make_compatible(). The deadlock
	  potential was already there anyway because res_fax called
	  ast_channel_make_compatible() with chan locked. (closes issue
	  ASTERISK-22542) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2915/ ........ Merged
	  revisions 401239 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, include/asterisk/bridge.h: Tweak ast_bridge_depart() doxygen.
	  ........ Merged revisions 401232 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-18 16:06 +0000 [r401216-401224]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/bridge.h, /: Remove the bit about requiring
	  ast_bridge_depart() to be called before ast_bridge_destroy().
	  ........ Merged revisions 401223 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/bridge.h, /: Clarify in ast_bridge_destroy()
	  about how departable channels must be handled. ........ Merged
	  revisions 401212 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-18 15:14 +0000 [r401184]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Remove Port Restriction When Checking For
	  NAT When trying to determine if a peer is behind NAT, we should
	  not be using the ports when comparing addresses. This patch
	  removes the port from being checked and just useds the addresses
	  now. (closes issue ASTERISK-22729) Reported by: Michael L. Young
	  Tested by: Michael L. Young Patches:
	  asterisk-remove-using-port-for-nat-check.diff uploaded by Michael
	  L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2927/ ........ Merged
	  revisions 401182 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401183 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-18 14:50 +0000 [r401181]  Walter Doekes <walter+asterisk@wjd.nu>

	* main/channel.c, /: Properly copy/remove the device state cache
	  flag over a masquerade. In r378303 the
	  AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells the
	  devstate system to not cache states for non-real devices.
	  However, when optimizing away channels (ast_do_masquerade), that
	  flag wasn't copied. In my case, using Local devices as queue
	  members created a situation where the endpoint was considered in
	  use, but the state change of the device being available again was
	  ignored (not cached). The endpoint channel was optimized into the
	  (previously) Local channel, but kept the do-not-cache flag. The
	  end result being that the queue member apparently stayed in use
	  forever. (closes issue ASTERISK-22718) Reported by: Walter Doekes
	  Review: https://reviewboard.asterisk.org/r/2925/ ........ Merged
	  revisions 401178 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401179 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401180 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-17 20:39 +0000 [r401169]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix Setting A chan_sip Dialog's
	  SIP_NAT_FORCE_RPORT Flag A condition was added in a commit to fix
	  ASTERISK-21374, that, if the SIP_PAGE3_NAT_AUTO_RPORT flag was
	  set, to then copy a peer's SIP_NAT_FORCE_RPORT flag to the
	  dialog. This condition should not have been there since it
	  assumed that if Asterisk is in an environment where NAT is
	  involved, that the auto_* nat settings or force_rport setting
	  would be on in the global settings. If the nat setting in the
	  global setting is set to 'nat=no' and then turned on for peers
	  (which is not quite the recommended way, although it is allowed)
	  this flag is never copied to the dialog resulting in problems
	  like, REGISTER replies going to the wrong port. This patch
	  removes this conditional check and will now always use the peer's
	  flag which by this point in the code the checks on whether the
	  peer is behind NAT or not (if using auto_force_rport) have
	  already been run. (closes issue ASTERISK-22236) Reported by:
	  Filip Frank Tested by: Michael L. Young Patches:
	  asterisk-2236-always-set-rport.diff uploaded by Michael L. Young
	  (license 5026) Review: https://reviewboard.asterisk.org/r/2919/
	  ........ Merged revisions 401167 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401168 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-17 18:25 +0000 [r401159]  Jonathan Rose <jrose@digium.com>

	* res/res_parking.c, /: res_parking: Fix bug where reloading
	  immediately wipes new parkpos extensions (closes issue
	  ASTERISK-22631) Reported by: Kevin Harwell ........ Merged
	  revisions 401158 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-17 15:41 +0000 [r401122]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_xmpp.c, res/res_jabber.c: Reduce log level of a
	  non-pubsub error message Drop an error log message to debug level
	  1 since distributed device state functions correctly when
	  receiving this message and it spams the logs. (closes issue
	  ASTERISK-22410) Reported by: abelbeck Patches:
	  asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch
	  uploaded by abelbeck (License 5903)
	  asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded
	  by abelbeck (License 5903) ........ Merged revisions 401119 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401120 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401121 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-16 21:22 +0000 [r401108]  Richard Mudgett <rmudgett@digium.com>

	* /, res/ari/resource_playback.c: ARI: Fix crash when POST
	  /playback/{id}/control does not have an operation parameter.
	  (closes issue ASTERISK-22680) Reported by: John Bigelow ........
	  Merged revisions 401107 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-16 17:01 +0000 [r401097]  David M. Lee <dlee@digium.com>

	* rest-api/resources.json, /: Oops. Leftover /stasis reference
	  ........ Merged revisions 401096 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-16 14:02 +0000 [r401088]  Kinsey Moore <kmoore@digium.com>

	* rest-api/api-docs/bridges.json, res/ari/resource_channels.h, /,
	  res/ari/resource_bridges.h, rest-api/api-docs/channels.json:
	  Clarify documentation for channel and bridge list This makes it
	  clear that the ARI API calls for listing channels and bridges
	  will list all channels or bridges in the system and not just
	  those that are in or are controlled by a Stasis application.
	  (closes issue ASTERISK-22635) Reported by: Kevin Harwell ........
	  Merged revisions 401087 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-16 12:19 +0000 [r401079]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, apps/app_queue.c: Don't check all realtime queues when doing
	  "queue show some_queue". When using realtime queues, queues have
	  to be fetched from the database every now and then to see if any
	  info has been changed or to see if the queue has been removed.
	  When fetching info for an individual queue, the pruning of other
	  queues is unnecessarily costly. Review:
	  https://reviewboard.asterisk.org/r/2907/ ........ Merged
	  revisions 401049 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 401076 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401077 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-16 00:12 +0000 [r401041]  Paul Belanger <paul.belanger@polybeacon.com>

	* /, rest-api/api-docs/bridges.json, res/res_ari_bridges.c: Use
	  POST / DELETE to toggle ARI bridge moh Review:
	  https://reviewboard.asterisk.org/r/2911/ ........ Merged
	  revisions 401040 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-15 23:44 +0000 [r401020-401039]  Richard Mudgett <rmudgett@digium.com>

	* main/translate.c: translate.c: Some minor code tweaks. *
	  Consistently compare format2index() return value so matrix_get()
	  cannot get passed negative values. * Optimize
	  ast_translator_best_choice() to defer initializing things until
	  needed. Also cached the matrix_get() return value rather than
	  repeatedly calling it.

	* /, channels/dahdi/bridge_native_dahdi.c: bridge_native_dahdi:
	  Return channel join failure if could not make the channels
	  compatible. ........ Merged revisions 401030 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_iax2.c: chan_iax2: Fix channel left locked in
	  off nominal code path. ........ Merged revisions 401016 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 401017 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-15 20:03 +0000 [r401019]  Kinsey Moore <kmoore@digium.com>

	* rest-api/api-docs/bridges.json, res/res_ari_bridges.c, /: Ensure
	  bridge record error responses validate This adds the list of
	  expected errors to the /bridges/{bridgeId}/record ARI
	  documentation so that outbound 4xx errors validate properly.
	  Previously, this would result in a response validation failure.
	  (closes issue ASTERISK-22627) Reported by: Joshua Colp ........
	  Merged revisions 401018 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-15 15:30 +0000 [r401007]  Paul Belanger <paul.belanger@polybeacon.com>

	* rest-api/api-docs/channels.json, res/res_ari_channels.c, /: Use
	  POST / DELETE to toggle hold / moh for ARI channels This change
	  updates how we handle toggle events, rather then create two
	  different function names, we'll just use POST / DELETE from HTTP
	  to handle it. Review: https://reviewboard.asterisk.org/r/2906/
	  ........ Merged revisions 400999 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-15 15:26 +0000 [r400998]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Prevent chan_sip from sending duplicate
	  BYEs. When a 200 OK for an initial INVITE is received, we were
	  doing the right thing by ACKing and sending an immediate BYE.
	  However, we also were doing the wrong thing and queuing an answer
	  frame, thus causing the call to be answered. This would cause the
	  call to be hung up by the channel thread, thus resulting in a
	  second BYE being sent out. In this fix, I also have set the
	  hangupcause to be correct since the initial BYE being sent by
	  Asterisk had an unknown hangup cause. I have changed to using
	  "Bearer capabilty not available" since the call was hung up due
	  to an SDP offer/answer error. (closes issue ASTERISK-22621)
	  reported by Kinsey Moore ........ Merged revisions 400970 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400971 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400984 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-15 13:44 +0000 [r400959]  David M. Lee <dlee@digium.com>

	* /, rest-api-templates/asterisk_processor.py: My doc correction in
	  r400842 had a silly bug. Because I added a wiki_description to
	  models and not their properties, the rendered wiki page had the
	  model description instead of the property descriptions, which
	  looks very silly indeed. (closes issue ASTERISK-22705) ........
	  Merged revisions 400958 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-14 22:52 +0000 [r400913-400950]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
	  channels/chan_dahdi.h: chan_dahdi: Add config support for hwgain
	  settings. * Add hwtxgain and hwrxgain config options to
	  chan_dahdi.conf with documentation in chan_dahdi.conf.sample.
	  (closes issue ASTERISK-22429) Reported by: Jaco Kroon Patches:
	  jira_asterisk_22429_hwgain_trunk.patch (license #5621) patch
	  uploaded by rmudgett

	* channels/chan_dahdi.c, /, channels/chan_dahdi.h: chan_dahdi:
	  Reflect the set software gain in the CLI "dahdi show channel"
	  output. * Remember the swgain setting from CLI "dahdi set swgain"
	  command so the CLI "dahdi show channel" output will reflect the
	  current setting. * Updated CLI "dahdi set hwgain" and "dahdi set
	  swgain" documentation. (issue ASTERISK-22429) Reported by: Jaco
	  Kroon Patches: jira_asterisk_22429_v1.8_v2.patch (license #5621)
	  patch uploaded by rmudgett ........ Merged revisions 400907 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400909 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400911 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-14 22:03 +0000 [r400912]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: chan_sip: Do not increment the SDP
	  version between 183 and 200 responses. Bumping the SDP version
	  number can cause interoperability problems since receivers of the
	  responses will expect that a 200 SDP will be identical to a
	  previous 183 SDP. (closes issue ASTERISK-21204) reported by
	  NITESH BANSAL Patches:
	  dont-increment-session-version-in-2xx-after-183.patch uploaded by
	  NITESH BANSAL (License #6418) ........ Merged revisions 400906
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 400908 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400910 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-14 15:54 +0000 [r400891]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_pjsip_outbound_registration.c: pjsip outbound
	  registration: Log message says received a 408 when we didn't If
	  the server didn't exist that we are trying to register to the log
	  message would say that a 408 was received from that server when
	  in reality one wasn't. Added log messages stating no response was
	  received if the response does not exist. (closes issue
	  ASTERISK-22554) Reported by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/2893/ ........ Merged
	  revisions 400890 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-14 15:01 +0000 [r400882]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_mwi.c, /: Remove duplicate module info block The
	  module info block was repeated twice. Once is sufficient.
	  ........ Merged revisions 400881 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-13 15:42 +0000 [r400873]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, /: Fix a race condition in
	  res_pjsip_session with rapidly terminating the session. The
	  INVITE session state callback wrongly assumes that a session will
	  always exist, but when rapidly terminating the session this
	  assumption goes out the window. As all handler code for the
	  INVITE session state callback requires the session it will now
	  just exit immediately if no session exists. (closes issue
	  ASTERISK-22668) Reported by: John Bigelow ........ Merged
	  revisions 400872 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-12 16:53 +0000 [r400864]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_pjsip_outbound_authenticator_digest.c: Fix realm
	  comparison for outbound auth When generating the list of
	  authentication credentials to pass to PJSIP, Asterisk was using
	  the raw pointer of a pj_str_t which is not always
	  NULL-terminated. This sometimes resulted in incorrect text for
	  the realm and a failure to match the realm for authentication
	  purposes which was causing the outbound nominal auth pjsip basic
	  call test to bounce. This now uses the pj_str_t that contains the
	  realm instead of generating a new one. Thanks to John Bigelow for
	  helping to narrow this down. ........ Merged revisions 400863
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-11 17:05 +0000 [r400855]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/channel.h, /: channel.h: whitespace changes.
	  ........ Merged revisions 400854 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-11 16:36 +0000 [r400851-400852]  David M. Lee <dlee@digium.com>

	* /, res/ari/resource_bridges.h, rest-api/api-docs/playback.json,
	  rest-api-templates/api.wiki.mustache, res/res_ari_playback.c,
	  rest-api/api-docs/channels.json, res/ari/resource_playback.h,
	  rest-api/api-docs/bridges.json,
	  rest-api-templates/asterisk_processor.py,
	  res/ari/resource_channels.h,
	  rest-api-templates/models.wiki.mustache: Multiple revisions
	  400508,400842-400843,400848 ........ r400508 | dlee | 2013-10-03
	  23:54:51 -0500 (Thu, 03 Oct 2013) | 1 line Corrected response
	  class for stopPlayback ........ r400842 | dlee | 2013-10-10
	  14:23:24 -0500 (Thu, 10 Oct 2013) | 1 line Correct some ARI wiki
	  rendering errors ........ r400843 | dlee | 2013-10-10 14:26:19
	  -0500 (Thu, 10 Oct 2013) | 1 line Updated /play resource docs.
	  The playback of http: resources isn't implemented... yet ........
	  r400848 | dlee | 2013-10-11 11:18:46 -0500 (Fri, 11 Oct 2013) | 5
	  lines Fix a stupid copy/paste error in ARI docs. Patches:
	  ari-doc-patch.txt uploaded by jbigelow (license 5091) ........
	  Merged revisions 400508,400842-400843,400848 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /: Fixed merge tracking for r400360, which was somehow lost

2013-10-11 16:28 +0000 [r400850]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_softmix.c, /: Softmix: Fix crash when switching
	  from softmix to another bridge technology. The crash is caused by
	  a race condition when switching between native RTP and softmix
	  bridging technologies. In this situation, the bridging technology
	  is switched from native RTP to softmix, and then back to native
	  RTP fast enough that the softmix private data gets destroyed
	  before the softmix mixing thread gets started. Thanks to Kinsey
	  Moore for the crash analysis. * Fix race condition when starting
	  the softmix mixing thread and switching to another bridge
	  technology. (closes issue ASTERISK-22678) Reported by: John
	  Bigelow Patches: jira_asterisk_22678_v12.patch (license #5621)
	  patch uploaded by rmudgett Tested by: John Bigelow ........
	  Merged revisions 400849 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-10 18:21 +0000 [r400825-400834]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip/location.c: Perform validation of permanent
	  contacts on AORs in res_pjsip. ........ Merged revisions 400833
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c: Fix an
	  assertion in res_pjsip when specifying an invalid outbound proxy.
	  This change fixes two issues when setting an outbound proxy: 1.
	  The outbound proxy URI was not parsed and validated during
	  configuration. 2. If an outgoing dialog was created and the
	  outbound proxy could not be set an assertion would occur because
	  the usage count on the dialog was not decremented. The
	  documentation has also been updated to specify that a full URI
	  must be specified for the outbound proxy. (closes issue
	  ASTERISK-22672) Reported by: Antti Yrjola ........ Merged
	  revisions 400824 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-09 11:02 +0000 [r400772-400813]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_header_funcs.c, /: Use 'z' as the format specifier
	  for size_t Using 'lu' will produce a compiler warning for some
	  versions of gcc and on some architectures. 'z' should be portable
	  as a format specifier for size_t. ........ Merged revisions
	  400812 from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_header_funcs.c (added), /: Add PJSIP_HEADER
	  function for manipulation of SIP headers in the PJSIP stack This
	  patch adds support to the PJSIP stack in Asterisk for SIP header
	  manipulation. Note that this is analagous to
	  SIPAddHeader/SIPRemoveHeader. For PJSIP_HEADER, an incoming
	  supplemental session callback is registered that takes the
	  pjsip_hdrs from the incoming session and stores them in a linked
	  list in the session datastore. Calls to PJSIP_HEADER traverse
	  over the list and return the nth matching header where 'n' is the
	  'number' argument to the function. When adding a header, the
	  first call creates a datastore and linked list and adds the
	  datastore to the session. The header is then created as a
	  pjsip_hdr and added to the list. An outgoing supplemental session
	  callback then traverses the list and adds the headers to the
	  outgoing pjsip_msg. When removing a header, the list created with
	  PJSIP_HEADER(add,...) is traversed and all matching entries are
	  removed. (closes issue ASTERISK-22498) Reported by: George Joseph
	  patch: res_pjsip_header_funcs_v1.patch uploaded by george.joseph
	  (License 6322) ........ Merged revisions 400771 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-08 22:33 +0000 [r400770]  Kinsey Moore <kmoore@digium.com>

	* /, configure, configure.ac: Add warning when compiling with iODBC
	  support When running configure, libiodbc2 development headers
	  will fulfill the requirement for ODBC development headers, but
	  will not function properly. This adds a warning when libiodbc2
	  development headers are detected instead of unixodbc development
	  headers. (closes issue ASTERISK-22459) Reported by: Patrick
	  Maille Tested by: Walter Doekes Patches:
	  issueA22459_warn_when_using_iodbc.patch uploaded by Walter Doekes
	  (License 5674) ........ Merged revisions 400767 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400768 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400769 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-08 21:20 +0000 [r400759]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_agent_pool.c, /: app_agent_pool: Fix AMI/CLI AgentLogoff
	  soft preventing agents from logging back in. * Clear the
	  deferred_logoff flag when an agent logs in. (closes issue
	  ASTERISK-22669) Reported by: John Bigelow ........ Merged
	  revisions 400754 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-08 20:52 +0000 [r400750]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip.c, res/res_pjsip/config_transport.c: Switch from
	  using pjsip_strerror to pj_strerror. pjsip_strerror is only aware
	  of PJSIP-specific error codes. pj_strerror() is aware of all
	  PJProject error codes and OS-specific error codes. This
	  specifically fixes an oft-seen error in transport configuration
	  code where EADDRINUSE would result in "Unknown PJSIP error
	  120098" instead of a useful message. ........ Merged revisions
	  400749 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-08 20:18 +0000 [r400728-400744]  Richard Mudgett <rmudgett@digium.com>

	* configs/confbridge.conf.sample, /,
	  apps/confbridge/include/confbridge.h, apps/app_confbridge.c,
	  CHANGES, apps/confbridge/conf_config_parser.c: app_confbridge:
	  Can now set the language used for announcements to the
	  conference. ConfBridge now has the ability to set the language of
	  announcements to the conference. The language can be set on a
	  bridge profile in confbridge.conf or by the dialplan function
	  CONFBRIDGE(bridge,language)=en. (closes issue ASTERISK-19983)
	  Reported by: Jonathan White Patches: M19983_rev2.diff (license
	  #5138) patch uploaded by junky (modified) Tested by: rmudgett
	  ........ Merged revisions 400741 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400742 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
	  duplicate default_user profile. * Fixed looking in the wrong
	  profiles container to see if the default_user profile is already
	  created in verify_default_profiles(). The bridge profile
	  container is never going to hold user profiles. :) ........
	  Merged revisions 400723 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400724 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-08 18:19 +0000 [r400684-400704]  Kinsey Moore <kmoore@digium.com>

	* funcs/func_config.c, /: Fix func_config list entry allocation The
	  AST_CONFIG dialplan function defined in func_config.c allocates
	  its config file list entries using ast_malloc. List entry
	  allocations destined for use with Asterisk's linked list API must
	  be ast_calloc()d or otherwise initialized so that list pointers
	  are set to NULL. These uses of ast_malloc have been replaced by
	  ast_calloc to prevent dereferencing of uninitialized pointer
	  values when traversing the list. (closes issue ASTERISK-22483)
	  Reported by: Brian Scott ........ Merged revisions 400694 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400697 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400701 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_rtp_asterisk.c, /: Fix STUN crash when using IPv6 any
	  address Ensure that when chan_sip binds to the IPv6 any address
	  ([::]), IPv4 candidates are also added. (closes issue
	  ASTERISK-21917) Reported by: Torrey Searle Patches:
	  0023_ipv6_stun_crash.patch uploaded by Torrey Searle (License
	  5334) ........ Merged revisions 400681 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400682 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-08 15:44 +0000 [r400683]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip/pjsip_options.c, /: Push CLI qualify into the
	  threadpool. If you run Asterisk in the background and then
	  connect to it through a separate console, the thread that runs
	  CLI commands is not registered with PJLIB. Thus PJLIB does not
	  like it when you attempt to send OPTIONS requests from that
	  thread. So now we push the task into the threadpool, which we
	  know to be registered with PJLIB. Thanks to Antti Yrjola for
	  reporting this. ........ Merged revisions 400680 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-08 15:12 +0000 [r400662-400672]  Richard Mudgett <rmudgett@digium.com>

	* /, res/res_agi.c, apps/app_queue.c: Make app_queue and res_agi
	  independent of AMI being enabled. The
	  https://reviewboard.asterisk.org/r/2888/ review changes manager
	  to not subscribe to stasis when it is disabled for performance
	  reasons. When manager is disabled app_queue and res_agi decline
	  to load and fail to clean up what they have already allocated. *
	  Made app_queue and res_agi clean up allocated resources when they
	  decline to load. * Made app_queue and res_agi use their own
	  subscriptions to the stasis topics instead of borrowing manager's
	  message router structure inappropriately. (closes issue
	  ASTERISK-22604) Reported by: rmudgett Review:
	  https://reviewboard.asterisk.org/r/2902/ ........ Merged
	  revisions 400671 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, include/asterisk/stasis.h, apps/app_queue.c,
	  include/asterisk/manager.h: Miscellaneous stand alone comment
	  cleanups. ........ Merged revisions 400661 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-06 17:13 +0000 [r400625]  Michael L. Young <elgueromexicano@gmail.com>

	* /, apps/app_queue.c: app_queue: Fix Queuelog EXITWITHKEY only
	  logging two of four fields Commit r62462 added two extra fields
	  for logging "the original position the caller entered the queue
	  at, and the amount of time the caller was waiting in the queue."
	  But when r75969 was merged from 1.4 into trunk (r75977), these
	  two fields disappeared. Those two extra fields were not logged in
	  1.4 and when the patch was merged, those fields went away.
	  Therefore, this is a regression and was caught by the reporter
	  because he was reading the awesome "Asterisk: The Definitive
	  Guide" book. (closes issue ASTERISK-22197) Reported by: Dalius M.
	  Tested by: Dalius M. Patches:
	  asterisk-22197-q-log-exitwithkey.diff uploaded by Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2901/ ........ Merged
	  revisions 400622 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400623 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 400624 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-05 00:59 +0000 [r400593]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/iax2/include/parser.h: chan_iax2: Fix compile error.
	  ........ Merged revisions 400588 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-04 21:41 +0000 [r400568]  Michael L. Young <elgueromexicano@gmail.com>

	* main/acl.c, include/asterisk/netsock2.h, CHANGES,
	  channels/chan_iax2.c, channels/iax2/parser.c, main/netsock.c,
	  main/netsock2.c, /, channels/iax2/include/parser.h: 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/ ........ Merged
	  revisions 400567 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-04 19:32 +0000 [r400553]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/applications.json (added), /: Added missing
	  file from r400522 ........ Merged revisions 400552 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-04 19:11 +0000 [r400533-400543]  Jonathan Rose <jrose@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/
	  ........ Merged revisions 400542 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /,
	  contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
	  (added), configs/extconfig.conf.sample,
	  configs/sorcery.conf.sample,
	  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/ ........
	  Merged revisions 400532 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-04 16:01 +0000 [r400523]  Matthew Jordan <mjordan@digium.com>

	* res/res_stasis.c, main/asterisk.c,
	  rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
	  res/stasis/app.c, /,
	  rest-api-templates/ari_model_validators.h.mustache,
	  include/asterisk/endpoints.h, 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, res/ari/ari_model_validators.c,
	  main/endpoints.c, res/ari/ari_model_validators.h, main/json.c,
	  res/res_ari_model.c, res/ari.make,
	  res/ari/resource_applications.c (added),
	  res/ari/resource_applications.h (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 ........ Merged revisions 400522 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-04 15:49 +0000 [r400511-400521]  Joshua Colp <jcolp@digium.com>

	* /, res/res_pjsip.c: Enclose the To URI and update its user
	  portion if a request user has been specified. ........ Merged
	  revisions 400520 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip_session.c, /: Replace the connection address at the
	  SDP level if altering the SDP with the external media address.
	  ........ Merged revisions 400510 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 23:20 +0000 [r400482]  Jonathan Rose <jrose@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 ........ Merged
	  revisions 400471 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 21:46 +0000 [r400461]  Matthew Jordan <mjordan@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. ........ Merged revisions 400460 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 20:22 +0000 [r400452]  Mark Michelson <mmichelson@digium.com>

	* bridges/bridge_native_rtp.c, /,
	  include/asterisk/bridge_technology.h: 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 Review:
	  https://reviewboard.asterisk.org/r/2899 ........ Merged revisions
	  400403 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 19:32 +0000 [r400443]  Joshua Colp <jcolp@digium.com>

	* /, main/cdr.c: When serializing CDR variables (like for "core
	  show channels") don't output an error if CDRs aren't enabled.
	  ........ Merged revisions 400442 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 19:30 +0000 [r400441]  Kinsey Moore <kmoore@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 ........ Merged
	  revisions 400440 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 19:06 +0000 [r400402]  Joshua Colp <jcolp@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. ........ Merged revisions 400401 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 18:51 +0000 [r400399]  Richard Mudgett <rmudgett@digium.com>

	* /, main/cel.c: cel: Some whitespace cleanups ........ Merged
	  revisions 400398 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 18:32 +0000 [r400385-400397]  Kinsey Moore <kmoore@digium.com>

	* res/res_rtp_multicast.c, /: res_rtp_multicast: Ensure SSRC is set
	  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 ........ Merged
	  revisions 400395 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, 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) ........ Merged revisions 400384 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 16:28 +0000 [r400374]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_vpb.cc, /: chan_vpb: Make compile again. ........
	  Merged revisions 400373 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 14:59 +0000 [r400363-400364]  Mark Michelson <mmichelson@digium.com>

	* tests/test_cel.c, /: Get rid of uses of stasis_topic_wait()
	  ........ Merged revisions 400362 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* pbx/pbx_spool.c, main/manager.c, main/format_cap.c,
	  channels/chan_skinny.c, res/res_agi.c, channels/chan_motif.c,
	  channels/chan_alsa.c, apps/app_confbridge.c,
	  addons/chan_mobile.c, channels/chan_mgcp.c,
	  res/res_clioriginate.c, channels/chan_bridge_media.c,
	  channels/chan_sip.c, tests/test_format_api.c,
	  res/res_pjsip_sdp_rtp.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,
	  res/res_pjsip/pjsip_configuration.c, main/file.c,
	  channels/chan_h323.c, channels/chan_nbs.c,
	  bridges/bridge_native_rtp.c, tests/test_config.c,
	  res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c,
	  channels/chan_multicast_rtp.c, addons/chan_ooh323.c,
	  main/rtp_engine.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: 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
	  ........ Merged revisions 400356 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-03 14:52 +0000 [r400361]  Joshua Colp <jcolp@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 ........ Merged revisions 400360 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 22:22 +0000 [r400335]  Mark Michelson <mmichelson@digium.com>

	* 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, main/stasis_endpoints.c: Multiple revisions
	  400318-400319 ........ r400318 | mmichelson | 2013-10-02 17:08:49
	  -0500 (Wed, 02 Oct 2013) | 12 lines 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
	  ........ r400319 | mmichelson | 2013-10-02 17:10:54 -0500 (Wed,
	  02 Oct 2013) | 3 lines Remove svn:mergeinfo property. ........
	  Merged revisions 400318-400319 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 21:33 +0000 [r400317]  Michael L. Young <elgueromexicano@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 ........ Merged
	  revisions 400316 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 21:26 +0000 [r400313]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c, main/manager.c, /, main/cel.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/ ........ Merged
	  revisions 400312 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 20:31 +0000 [r400304]  Richard Mudgett <rmudgett@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. ........ Merged
	  revisions 400303 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 19:20 +0000 [r400295]  Kinsey Moore <kmoore@digium.com>

	* /, rest-api/api-docs/asterisk.json: Correct allowable values for
	  ARI general information filter ........ Merged revisions 400291
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 19:17 +0000 [r400287]  Matthew Jordan <mjordan@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. ........ Merged revisions
	  400286 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 18:44 +0000 [r400285]  Joshua Colp <jcolp@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.
	  ........ Merged revisions 400284 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 18:28 +0000 [r400282]  Tzafrir Cohen <tzafrir.cohen@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 ........ Merged
	  revisions 400281 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 17:12 +0000 [r400269-400271]  Richard Mudgett <rmudgett@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. ........ Merged revisions 400270 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/sig_ss7.c, /: sig_ss7: Fix compiler warnings. ........
	  Merged revisions 400268 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-02 16:23 +0000 [r400246-400266]  Joshua Colp <jcolp@digium.com>

	* channels/chan_alsa.c, main/stasis_channels.c, channels/sig_ss7.c,
	  channels/chan_pjsip.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, channels/chan_dahdi.c, main/dial.c,
	  include/asterisk/stasis_channels.h, channels/chan_skinny.c,
	  channels/chan_motif.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/ ........ Merged
	  revisions 400265 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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 ........ Merged revisions 400256 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, 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 ........ Merged
	  revisions 400254 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_pjsip_session.c: Retrieve and store the hostname only
	  once so multiple threads do not potentially initialize it at the
	  same time. ........ Merged revisions 400245 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-01 21:19 +0000 [r400228-400237]  Richard Mudgett <rmudgett@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. ........ Merged revisions 400236 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/features_config.c, /: Features: Rearm the parking config
	  options have moved warning for each reload. ........ Merged
	  revisions 400227 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-10-01 15:54 +0000 [r400218]  Matthew Jordan <mjordan@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. ........ Merged revisions 400217 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-30 21:40 +0000 [r400206]  Jonathan Rose <jrose@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 ........ Merged revisions
	  400205 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-30 19:58 +0000 [r400195-400197]  Matthew Jordan <mjordan@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 ........ Merged revisions 400196 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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. ........ Merged revisions 400194 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-30 18:55 +0000 [r400186]  David M. Lee <dlee@digium.com>

	* tests/test_devicestate.c, include/asterisk/sem.h (added),
	  tests/test_taskprocessor.c, res/res_pjsip_mwi.c,
	  res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c,
	  res/parking/parking_manager.c, res/res_security_log.c,
	  channels/chan_mgcp.c, main/stasis_cache_pattern.c, main/pbx.c,
	  include/asterisk/vector.h (added), /, main/ccss.c,
	  apps/app_meetme.c, include/asterisk/taskprocessor.h,
	  configs/stasis.conf.sample (removed), configure.ac,
	  res/parking/parking_applications.c, channels/sig_pri.c,
	  apps/app_queue.c, main/cel.c, main/stasis.c,
	  channels/chan_dahdi.c, funcs/func_presencestate.c,
	  main/stasis_message_router.c, configure,
	  apps/confbridge/confbridge_manager.c, res/res_agi.c,
	  main/manager_system.c, res/res_stasis_test.c, main/sem.c (added),
	  main/manager_channels.c, res/res_pjsip_refer.c,
	  main/manager_mwi.c, apps/app_voicemail.c, main/stasis_cache.c,
	  main/stasis_wait.c, main/stasis_config.c (removed),
	  include/asterisk/stasis_internal.h, res/stasis/app.c,
	  channels/chan_sip.c, include/asterisk/autoconfig.h.in,
	  main/manager_endpoints.c, main/channel_internal_api.c,
	  include/asterisk/stasis.h, main/devicestate.c,
	  main/taskprocessor.c, res/res_xmpp.c, main/sounds_index.c,
	  include/asterisk/stasis_message_router.h, channels/chan_iax2.c,
	  res/res_jabber.c, main/endpoints.c, main/astobj2.c,
	  res/res_chan_stats.c, res/parking/parking_bridge_features.c,
	  tests/test_stasis_endpoints.c, main/cdr.c, main/channel.c,
	  main/manager_bridges.c, main/manager.c, channels/chan_skinny.c:
	  Multiple revisions 399887,400138,400178,400180-400181 ........
	  r399887 | dlee | 2013-09-26 10:41:47 -0500 (Thu, 26 Sep 2013) | 1
	  line Minor performance bump by not allocate manager variable
	  struct if we don't need it ........ r400138 | dlee | 2013-09-30
	  10:24:00 -0500 (Mon, 30 Sep 2013) | 23 lines 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/
	  ........ r400178 | dlee | 2013-09-30 13:26:27 -0500 (Mon, 30 Sep
	  2013) | 24 lines 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/
	  ........ r400180 | dlee | 2013-09-30 13:39:34 -0500 (Mon, 30 Sep
	  2013) | 28 lines 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/ ........ r400181 | dlee
	  | 2013-09-30 13:48:57 -0500 (Mon, 30 Sep 2013) | 28 lines 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/
	  ........ Merged revisions 399887,400138,400178,400180-400181 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-30 15:57 +0000 [r400142]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c, configs/pjsip.conf.sample,
	  res/res_pjsip_outbound_registration.c, configs/sip.conf.sample,
	  CHANGES: chan_sip: 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 ........ Merged
	  revisions 400141 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-28 22:57 +0000 [r400059-400122]  Matthew Jordan <mjordan@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/ ........ Merged
	  revisions 400121 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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 ........ Merged
	  revisions 400108 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, 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 ........ Merged
	  revisions 400077 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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 ........ Merged
	  revisions 400062 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, 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 ........ Merged
	  revisions 400060 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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.
	  ........ Merged revisions 400058 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-27 21:58 +0000 [r400016-400021]  Richard Mudgett <rmudgett@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 ........ Merged revisions 400020 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/sip/reqresp_parser.c, /, channels/chan_sip.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 ........ Merged
	  revisions 400015 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-27 19:18 +0000 [r400000]  Sean Bright <sean@malleable.com>

	* configs/sip.conf.sample: Remove some trailing whitespace and
	  steal revision 400000.

2013-09-27 18:28 +0000 [r399991]  Kevin Harwell <kharwell@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/ ........ Merged
	  revisions 399990 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-27 17:46 +0000 [r399978]  Jonathan Rose <jrose@digium.com>

	* channels/sip/include/sip.h, /, channels/chan_sip.c: 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
	  received an SDP, media won't have been set and the remote address
	  won't be known. Endpoints in general should not be doing this.
	  This patch makes it so that Asterisk will simply hang up a call
	  if it sends a 200 OK at this point. So far this odd behavior for
	  endpoints has only been observed in tests which involved manually
	  created SIP transactions in SIPp. (closes issue ASTERISK-22424)
	  Reported by: Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/2827/ ........ Merged
	  revisions 399939 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399962 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399976 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-27 17:11 +0000 [r399938]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/astobj2.h, tests/test_astobj2.c, main/astobj2.c,
	  /: astobj2: Remove OBJ_CONTINUE support. OBJ_CONTINUE was a
	  strange feature that came into the world under suspicious
	  circumstances to support an abuse of the ao2_container by
	  chan_iax2. Since chan_iax2 no longer uses OBJ_CONTINUE, it is
	  safe to remove it. The simplified code should help performance
	  slightly and make understanding the code easier. Review:
	  https://reviewboard.asterisk.org/r/2887/ ........ Merged
	  revisions 399937 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-27 14:35 +0000 [r399925]  Mark Michelson <mmichelson@digium.com>

	* /, bridges/bridge_native_rtp.c: Fix refleaks of ast_rtp_instance
	  structures. These refleaks were causing bridged calls not to
	  close their RTP ports. Thus a call would leave open 4 ports (RTP
	  for party A, RTCP for party A, RTP for party B, and RTCP for
	  party B). This led to an eventual depletion of available RTP
	  ports. ........ Merged revisions 399924 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-27 14:08 +0000 [r399913]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c, main/cel.c, /, include/asterisk/cel.h: Restore
	  usefulness of the CEL Peer field This change makes the CEL peer
	  field useful again for BRIDGE_ENTER and BRIDGE_EXIT events and
	  fills the field with a comma-separated list of all channels in
	  the bridge other than the channel that is entering or exiting the
	  bridge. Review: https://reviewboard.asterisk.org/r/2840/ (closes
	  issue ASTERISK-22393) ........ Merged revisions 399912 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-26 18:51 +0000 [r399898]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h,
	  res/res_pjsip.exports.in, /, res/res_pjsip/security_events.c:
	  pjsip: race condition in registrar While handling a registration
	  request a race condition could occur if/when two+ clients
	  registered at the same time. This happened when one request
	  obtained a copy of the current contacts for an AOR and another
	  request did the same before the first request updated. Thus the
	  second would update and overwrite the first (or vice-versa
	  depending on which actually updated first). In the case of it
	  being the same contact two "add" events would be raised. pjsip
	  registration handling is now serialized to alleviate this issue.
	  (closes issue AST-1213) Reported by: John Bigelow Review:
	  https://reviewboard.asterisk.org/r/2860/ ........ Merged
	  revisions 399897 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-26 14:13 +0000 [r399875]  Rusty Newton <rnewton@digium.com>

	* /, apps/app_dial.c: Adding a few words to the Dial option 'r'
	  help text to clarify its tone argument description ........
	  Merged revisions 399874 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-25 20:38 +0000 [r399844]  Richard Mudgett <rmudgett@digium.com>

	* channels/sig_ss7.c, channels/chan_dahdi.c, /: chan_dahdi: CLI
	  "core stop gracefully" has needless delay for PRI and SS7. The
	  PRI and SS7 link control threads are not stopped correctly when
	  the chan_dahdi.so module is unloaded. The link control threads
	  pri_dchannel() and ss7_linkset() are not awakened from a poll()
	  to cancel the thread. * Added a SIGURG signal after requesting
	  the thread cancel to break the link control thread poll()
	  immediately. For SS7 it was slightly worse, the link poll()
	  timeout would always be whatever was the last libss7 scheduled
	  event time used. If no libss7 scheduled event was pending, the
	  thread could run more often than necessary. * Set nextms to 60
	  seconds for the ss7_linkset() poll() if there is no other libss7
	  scheduled event. ........ Merged revisions 399818 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399834 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399842 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-25 19:43 +0000 [r399799]  Rusty Newton <rnewton@digium.com>

	* /, res/res_pjsip.c: Broke the build - Fixing XML DTD violation
	  added in r399782, missing <para> tags inside a <note> ........
	  Merged revisions 399798 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-25 19:29 +0000 [r399797]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: chan_sip: Fix Realtime Peer Update
	  Problem When Un-registering And Expires Header In 200ok 1st Issue
	  When a realtime peer sends an un-REGISTER request, Asterisk
	  un-registers the peer but the database table record still has
	  regseconds and fullcontact for the peer. This results in calls
	  attempting to be routed to the peer which is no longer
	  registered. The expected behavior is to get busy/congested when
	  attempting to call an un-registered peer through the dialplan.
	  What was discovered is that we are clearing out the peer's
	  registration in the database in parse_register_contact() when
	  calling expire_register() but then upon returning from
	  parse_register_contact(), update_peer() is run which stores back
	  in the database table regseconds and fullcontact. 2nd Issue The
	  reporter pointed out that the 200 ok being returned by Asterisk
	  after un-registering a peer contains a Contact header with
	  ;expires= and the Expires header is not set to 0. This is
	  actually a regression. Tests were created for this second issue
	  (ASTERISK-22548). The tests have been reviewed and a Ship It! was
	  received on those tests. This patch does the following: * Do not
	  ignore the Expires header value even when it is set to 0. The
	  patch sets the pvt->expiry earlier on in the function so that it
	  is set properly and used. * If pvt->expiry is 0, do not call
	  update_peer since that means the peer has already been
	  un-registered and there is no need to update the database record
	  again since nothing has changed. (closes issue ASTERISK-22428)
	  Reported by: Ben Smithurst Tested by: Ben Smithurst, Michael L.
	  Young Patches:
	  asterisk-22428-rt-peer-update-and-expires-header.diff by Michael
	  L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2869/ ........ Merged
	  revisions 399794 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399795 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399796 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-25 18:38 +0000 [r399782]  Rusty Newton <rnewton@digium.com>

	* /, res/res_pjsip.c: Fixing documentation for the configOption
	  "external_media_address" of both Endpoints and Transports
	  Re-using some of Mark Michelson's text from an E-mail discussion
	  for: * Modifying synopsis for both options * Adding description
	  to both options * Changing name of "external_media_address" for
	  Endpoint configuration to "media_address" in anticipation of the
	  option name being changed. (As it is not really specific to
	  external destinations) (issue ASTERISK-22405) (closes issue
	  ASTERISK-22405) Reported by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/2850/ ........ Merged
	  revisions 399781 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-24 22:55 +0000 [r399737-399750]  Richard Mudgett <rmudgett@digium.com>

	* /, main/astobj2.c: astobj2: Made use OBJ_SEARCH_xxx identifiers
	  as field enum values internally. * Made ao2_unlink to protect
	  itself from stray OBJ_SEARCH_xxx values passed in. ........
	  Merged revisions 399749 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_iax2.c, /: chan_iax2: Prevent some needless
	  breaking of the native IAX2 bridge. * Clean up some twisted code
	  in the iax2_bridge() loop. * Add AST_CONTROL_VIDUPDATE and
	  AST_CONTROL_SRCCHANGE to a list of frames to prevent the native
	  bridge loop from breaking. * Passing the
	  AST_CONTROL_T38_PARAMETERS frame should also allow FAX over a
	  native IAX2 bridge. (issue ABE-2912) Review:
	  https://reviewboard.asterisk.org/r/2870/ ........ Merged
	  revisions 399697 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399708 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 For v12 and
	  above this is really just documentation until IAX2 native
	  bridging is restored. ........ Merged revisions 399736 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-24 19:22 +0000 [r399667-399696]  Matthew Jordan <mjordan@digium.com>

	* apps/app_queue.c, /: app_queue: Don't be quite so aggressive in
	  initializing the array We only need the first character. ........
	  Merged revisions 399695 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_queue.c, /: app_queue: Initialize array holding
	  MixMonitor exec options If the channel variable MONITOR_EXEC is
	  set, app_queue will pass the specified execution parameters to
	  the MixMonitor application when a queue is recorded. If that
	  channel variable is not set, the buffer that holds the escaped
	  value was not being initialized to NULL, and so would be passed
	  to the MixMonitor application with garbage. Hilarity ensued as
	  app_mixmonitor attempted to execute gobeldy-gook. ........ Merged
	  revisions 399681 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/stasis_bridges.c, tests/test_cdr.c, main/cdr.c, /: Fix a
	  performance problem CDRs There is a large performance price
	  currently in the CDR engine. We currently perform two
	  ao2_callback calls on a container that has an entry for every
	  channel in the system. This is done to create matching pairs
	  between channels in a bridge. As such, the portion of the CDR
	  logic that this patch deals with is how we make pairings when a
	  channel enters a mixing bridge. In general, when a channel enters
	  such a bridge, we need to do two things: (1) Figure out if anyone
	  in the bridge can be this channel's Party B. (2) Make pairings
	  with every other channel in the bridge that is not already our
	  Party B. This is a two step process. In the first step, we look
	  through everyone in the bridge and see if they can be our Party B
	  (single_state_process_bridge_enter). If they can - yay! We mark
	  our CDR as having gotten a Party B. If not, we keep searching. If
	  we don't find one, we wait until someone joins who can be our
	  Party B. Step 2 is where we changed the logic
	  (handle_bridge_pairings and bridge_candidate_process).
	  Previously, we would first find candidates - those channels in
	  the bridge with us - from the active_cdrs_by_channel container.
	  Because a channel could be a candidate if it was Party B to an
	  item in the container, the code implemented multiple
	  ao2_container callbacks to get all the candidates. We also had to
	  store them in another container with some other meta information.
	  This was rather complex and costly, particularly if you have 300
	  Local channels (600 channels!) going at once. Luckily, none of it
	  is needed: when a channel enters a bridge (which is when we're
	  figuring all this stuff out), the bridge snapshot tells us the
	  unique IDs of everyone already in the bridge. All we need to do
	  is: For all channels in the bridge: If the channel is us or our
	  Party B that we got in step 1, skip it Compare us and the
	  candidate to figure out who is Party A (based on some specific
	  rules) If we are Party A: Make a new CDR for us, append it to our
	  chain, and set the candidate as Party B If they are Party A: If
	  they don't have a Party B: Make a new CDR for them, append us to
	  their chain, and us as Party B Otherwise: Copy us over as Party B
	  on their existing CDR. This patch does that. Because we now use
	  channel unique IDs to find the candidates during bridging,
	  active_cdrs_by_channel now looks up things using uniqueid instead
	  of channel name. This makes the more complex code simpler; it
	  does, however, have the drawback that dialplan applications and
	  functions will be slightly slower as they have to iterate through
	  the container looking for the CDR by name. That's a small price
	  to pay however as the bridging code will be called a lot more
	  often. This patch also does two other minor changes: (1) It
	  reduces the container size of the channels in a bridge snapshot
	  to 1. In order to be predictable for multi-party bridges, the
	  order of the channels in the container must be stable; that is,
	  it must always devolve to a linked list. (2) CDRs and the
	  multi-party test was updated to show the relationship between two
	  dialed channels. You still want to know if they talked -
	  previously, dialed channels were always ignored, which is wrong
	  when they have managed to get a Party B. (closes issue
	  ASTERISK-22488) Reported by: Richard Mudgett Review:
	  https://reviewboard.asterisk.org/r/2861/ ........ Merged
	  revisions 399666 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-23 12:03 +0000 [r399625]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip.c, res/res_pjsip_session.c, /: Fix crash in
	  res_pjsip on load if error occurs, and prevent unloading of
	  res_pjsip and res_pjsip_session. During load time in res_pjsip if
	  an error occurred the operation would attempt to rollback all
	  operations done during load. This is not permitted by PJSIP as it
	  will assert if the operation has not been done. This fix changes
	  the code so it will only rollback what has been initialized
	  already. Further changes also prevent res_pjsip and
	  res_pjsip_session from being unloaded. This is due to limitations
	  within PJSIP itself. The library environment can only be changed
	  to a certain extent and does not provide the ability, currently,
	  to deinitialize certain required functionality. (closes issue
	  ASTERISK-22474) Reported by: Corey Farrell ........ Merged
	  revisions 399624 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-21 04:49 +0000 [r399578-399608]  Richard Mudgett <rmudgett@digium.com>

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix ref leaks in
	  ast_rtcp_read(). Moved rtcp_report RAII_VAR declaration into the
	  loop so it is unref'ed after every loop. Moved message_blob to
	  loop and switched it to a regular variable. The regular variable
	  was used since message_blob is used in a very contained way.
	  (closes issue ASTERISK-22565) Reported by: Corey Farrell Patches:
	  rtcp_report-leak.patch (license #5909) patch uploaded by Corey
	  Farrell Tested by: Corey Farrell ........ Merged revisions 399607
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/media_index.c: media_index: Fix
	  process_description_file() memory leak of file_id_persist.
	  ........ Merged revisions 399596 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/features_config.c: features_config: Fix config ref leak
	  of parkinglots. This leak happend for just about every channel
	  created. ........ Merged revisions 399585 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, apps/app_queue.c: app_queue: Fix json blob ref leak. The json
	  ref from queue_member_blob_create() was never released. ........
	  Merged revisions 399583 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/json.c, /: json: Make it obvious that ast_json_unref() is
	  NULL safe. It looked like the safety check was done after the
	  NULL pointer was used. ........ Merged revisions 399576 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-20 22:44 +0000 [r399566]  Kinsey Moore <kmoore@digium.com>

	* main/config_options.c, /: Ensure global types in the config
	  framework are initialized If a config object was allocated but
	  one of its global objects was never encountered, then the global
	  object's defaults were never applied. Ensure that global objects
	  are initialized properly upon allocation instead of on
	  configuration. Review: https://reviewboard.asterisk.org/r/2866/
	  ........ Merged revisions 399564 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399565 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-20 22:06 +0000 [r399554]  Jonathan Rose <jrose@digium.com>

	* main/dial.c, /: originate/call forwarding: Fix a crash when
	  forwarding a call from originate (closes issue ASTERISK-22487)
	  Reported by: David M. Lee Review:
	  https://reviewboard.asterisk.org/r/2868/ ........ Merged
	  revisions 399553 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-20 16:18 +0000 [r399533]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_pjsip.c: Add a missing session supplement
	  unregistration in chan_pjsip for ACKs. (closes issue
	  ASTERISK-22453) Reported by: Corey Farrell Patches:
	  chan_pjsip_session_unregister_supplement.patch uploaded by Corey
	  Farrell (license 5909) ........ Merged revisions 399531 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-20 14:26 +0000 [r399515]  Kevin Harwell <kharwell@digium.com>

	* /, main/logger.c: Fix memory leak in logger. Fixed a memory leak
	  discovered in the logger where a temporary string buffer was not
	  being freed. (closes issue ASTERISK-22540) Reported by: John
	  Hardin ........ Merged revisions 399513 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399514 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-19 23:20 +0000 [r399503]  Richard Mudgett <rmudgett@digium.com>

	* /, main/optional_api.c: optional_api: Make always use the
	  standard malloc functions even with MALLOC_DEBUG. ........ Merged
	  revisions 399501 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-19 17:01 +0000 [r399459]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c: chan_sip: Make direct media reinvites for
	  T38 put Asterisk in the media path Prior to this patch, Asterisk
	  would incorrectly use the previous endpoint addresses in SDP in
	  spite of providing its own port. T38 is never meant to be done
	  through directmedia and Asterisk should always be in the media
	  path for these streams. (closes issue ASTERISK-17273) Reported
	  by: Kevin Stewart (closes issue ASTERISK-18706) Reported by:
	  Jeremy Kister Review: https://reviewboard.asterisk.org/r/2853/
	  ........ Merged revisions 399456 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399457 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399458 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-18 20:04 +0000 [r399405]  Kinsey Moore <kmoore@digium.com>

	* /, main/abstract_jb.c: Fix jitter buffer log file creation This
	  adjusts '/'-to-'#' replacement to replace all instances of '/'
	  instead of just the first to ensure that the jitter buffer log
	  file gets the correct name as per Richard Kenner's suggestion.
	  (closes issue ASTERISK-21036) Reported by: Richard Kenner
	  ........ Merged revisions 399402 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399403 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399404 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-18 17:23 +0000 [r399368-399378]  Matthew Jordan <mjordan@digium.com>

	* /, build_tools/prep_tarball: Update prep_tarball with new
	  documentation files on the Asterisk wiki This will now pull both
	  a command reference for the version being prepared, as well as an
	  Admin Guide that applies to all versions of Asterisk. (issue
	  ASTERISK-22439) Reported by: Olle Johansson ........ Merged
	  revisions 399351 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399373 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399376 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, bridges/bridge_softmix.c: Add a WARNING in bridge_softmix when
	  a timing module isn't loaded If bridge_softmix fails to be
	  created because no timing source is present in Asterisk, this
	  will currently fail gracefully but with (most likely) a generic
	  error message by whatever module tried to create the softmix
	  bridge. This patch adds a more explicit warning so you can
	  actually diagnose and fix the problem. Review:
	  https://reviewboard.asterisk.org/r/2857/ ........ Merged
	  revisions 399353 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399365 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-18 17:15 +0000 [r399352]  Richard Mudgett <rmudgett@digium.com>

	* main/config_options.c: Make config framework able to reload
	  module configs with multiple config files. The config framework
	  is supposed to be able to load configs that come from multiple
	  config files. The principle example is chan_sip's sip.conf and
	  users.conf. Unfortunately, it only does this correctly on initial
	  load. This patch causes the module's config to be reloaded
	  entirely if any of the config files change. (closes issue
	  ASTERISK-22009) Reported by: Richard Mudgett Review:
	  https://reviewboard.asterisk.org/r/2859/

2013-09-18 14:56 +0000 [r399340]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_messaging.c, /: res_pjsip_messaging: Register
	  message technology as pjsip pjsip's message technology was being
	  registered as 'sip', which was causing it to not load due it
	  conflicting with chan_sip's registered 'sip' technology for
	  messaging. It now registers as 'pjsip'. However, due to this
	  change the "to" field for outgoing pjsip messages need to be
	  prefixed with 'pjsip:' instead of 'sip:'. Incoming messages to
	  res_pjsip_messaging will automatically have their "to" fields
	  altered in order to accommodate the change. Outgoing messages
	  also handle changing it back to 'sip' before being sent so the
	  pjsip library will properly handle it. (closes issue
	  ASTERISK-22445) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2833/ ........ Merged
	  revisions 399339 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-18 00:13 +0000 [r399295]  Michael L. Young <elgueromexicano@gmail.com>

	* /, main/features_config.c: Fix Segfault In features-config.c When
	  Application Has No Arguments Some applications do not require
	  arguments. Therefore, when parsing application maps in
	  features.conf, it is possible that app_data will be set to NULL.
	  * This patch sets app_data to "" if it is NULL. Review:
	  https://reviewboard.asterisk.org/r/2804 ........ Merged revisions
	  399294 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-17 23:10 +0000 [r399284]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_sdp_rtp.c, res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip_t38.c, include/asterisk/res_pjsip.h, /: Change the
	  "external_media_address" PJSIP endpoint option to
	  "media_address". The endpoint option does not apply to
	  communication with external entities. Rather, the option is
	  applied to all communications with the endpoint. The
	  external_media_address transport configuration option may
	  override the endpoint option if it turns out that we are going to
	  be communicating with an external entity. Two things of note: 1)
	  I have not updated the XML documentation. This is being taken
	  care of by Rusty as part of his work on issue ASTERISK-22405 2)
	  This commit is likely to cause testsuite failures since there are
	  tests that use the external_media_address endpoint option, and
	  they will need to be changed over. Well, I'm planning to get that
	  updated ASAP after this commit. (closes issue ASTERISK-22528)
	  reported by Rusty Newton ........ Merged revisions 399283 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-17 18:44 +0000 [r399269]  Kevin Harwell <kharwell@digium.com>

	* main/logger.c, main/asterisk.c, /: Remote console: more output
	  discrepancies The remote console continued to have issues with
	  its output. In this case CLI command output would either not show
	  up (if verbose level = 0) or would contain verbose prefixes (if
	  verbose level > 0) once log messages were sent to the remote
	  console. The fix now now adds verbose prefix data to all new
	  lines contained in a verbose log string. (closes issue
	  ASTERISK-22450) Reported by: David Brillert (closes issue
	  AST-1193) Reported by: Guenther Kelleter Review:
	  https://reviewboard.asterisk.org/r/2825/ ........ Merged
	  revisions 399267 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399268 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-17 17:55 +0000 [r399258]  Richard Mudgett <rmudgett@digium.com>

	* /, include/asterisk/features_config.h: Fix doxygen to use correct
	  units of features.conf options. ........ Merged revisions 399257
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-17 17:10 +0000 [r399238-399248]  Mark Michelson <mmichelson@digium.com>

	* main/bridge_basic.c, main/features_config.c, /: Fix other
	  timeouts (atxferloopdelay and atxfernoanswertimeout) to use
	  seconds instead of milliseconds. Thanks to Richard Mudgett for
	  pointing this out. ........ Merged revisions 399247 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/features_config.c, /, include/asterisk/features_config.h,
	  main/bridge_basic.c: Switch transferdigittimeout to be configured
	  as seconds instead of milliseconds. This was an unintentional
	  consequence of the update of features.conf to use the config
	  framework in Asterisk 12. Thanks to Marco Signorini on the
	  Asterisk developers list for pointing out the problem. ........
	  Merged revisions 399237 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-17 14:58 +0000 [r399226]  Kevin Harwell <kharwell@digium.com>

	* apps/confbridge/conf_state_multi_marked.c, /: Confbridge: empty
	  conference not being torn down Confbridge would not properly tear
	  down an empty conference bridge when all users were kicked via
	  end_marked=yes and at least one user was also set to wait_marked.
	  This occurred because while end_marked users were being kicked
	  and at least one was also set to wait_marked then the leave
	  wait_marked handler would be called on that user, but there would
	  be no waiting user (still considered active). The waiting users
	  would decrement and now be negative. The conference would remain,
	  but be put into an inactive state. The solution was to move from
	  the active list to the wait list, those users with wait_marked
	  set right before kicking. This allows both the active and wait
	  users to decrement correctly and the confbridge to tear down
	  properly. A crashed also occurred when trying to list the
	  specific conference from the CLI. This happened because the
	  conference specified was invalid. Since the conference properly
	  tears down now there is no way to reference it thus alleviating
	  the crash as well. (closes issue ASTERISK-21859) Reported by:
	  Chris Gentle Review: https://reviewboard.asterisk.org/r/2848/
	  ........ Merged revisions 399222 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399225 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-16 18:36 +0000 [r399161-399208]  Richard Mudgett <rmudgett@digium.com>

	* tests/test_ari_model.c, /: Fix module load errors for
	  test_ari_model.so. You cannot use a function pointer variable
	  with an external function from another dynamically loaded module
	  because data variables are always resolved even with RTLD_LAZY. *
	  Added wrapper functions for ast_ari_validate_int() and
	  ast_ari_validate_string() to use instead for the function pointer
	  variable. (closes issue ASTERISK-22457) Reported by: David M. Lee
	  ........ Merged revisions 399207 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_speech_utils.c, /, res/res_speech.exports.in:
	  app_speech_utils: Fix unresolved symbol ast_speech_get_setting().
	  Fixes regression introduced by -r374096. * Made
	  res_speech.export.in export ast_* symbols instead of specific
	  functions. * Made app_speech_utils.c declare that it is dependent
	  upon res_speech. (issue ASTERISK-17136) Reported by: Richard
	  Kenner ........ Merged revisions 399197 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_iax2.c, /: chan_iax2: Fix saving the wrong expiry
	  time in astdb. When a new IAX2 client registers, the astdb
	  database is updated with the value of minregexpire defined in
	  iax.conf instead of using the expiry time that is provided by the
	  client. The provided expiry time of the client is updated after
	  inserting the astdb entry. As a consequence, restarting or
	  reloading asterisk creates clients whose registration may expire
	  before they reregister. The clients are therefore unavailable
	  after minregexpire seconds until they reregister. * Move updating
	  of the expiry time to before inserting into the astdb. (closes
	  issue ASTERISK-22504) Reported by: Stefan Wachtler Patches:
	  chan_iax2.c.patch (license #6533) patch uploaded by Stefan
	  Wachtler ........ Merged revisions 399158 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399159 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399160 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-16 02:37 +0000 [r399147]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c, /: Filter internal channels out of bridge enter/leave
	  message handling Some channels exist merely as an implementation
	  detail in Asterisk, such as ConfBridge's announcer/recorder
	  channels. These channels should never be exposed to the outside
	  world, or to interfaces that report on Asterisk. We already
	  filter out such channels in snapshot processing; however, we
	  failed to filter out bridge related messages that involved these
	  channels. This patch filters out bridge related messages that are
	  for such channels. This prevents a spurious WARNING message from
	  being displayed when those channels move in and out of bridges.
	  ........ Merged revisions 399146 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-13 22:19 +0000 [r399138]  Richard Mudgett <rmudgett@digium.com>

	* res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
	  include/asterisk/features.h, main/channel.c,
	  res/parking/parking_tests.c, include/asterisk/bridge_channel.h,
	  main/features.c, tests/test_cel.c, main/bridge_channel.c,
	  tests/test_cdr.c, apps/confbridge/conf_chan_announce.c,
	  include/asterisk/bridge.h, res/res_pjsip_refer.c, /,
	  channels/chan_sip.c, res/stasis/control.c, main/bridge.c,
	  main/bridge_basic.c, main/core_unreal.c,
	  res/parking/parking_applications.c, main/core_local.c: Restore
	  Dial, Queue, and FollowMe 'I' option support. The Dial, Queue,
	  and FollowMe applications need to inhibit the bridging initial
	  connected line exchange in order to support the 'I' option. *
	  Replaced the pass_reference flag on ast_bridge_join() with a
	  flags parameter to pass other flags defined by enum
	  ast_bridge_join_flags. * Replaced the independent flag on
	  ast_bridge_impart() with a flags parameter to pass other flags
	  defined by enum ast_bridge_impart_flags. * Since the Dial, Queue,
	  and FollowMe applications are now the only callers of
	  ast_bridge_call() and ast_bridge_call_with_flags(), changed the
	  calling contract to require the initial COLP exchange to already
	  have been done by the caller. * Made all callers of
	  ast_bridge_impart() check the return value. It is important. As a
	  precaution, I also made the compiler complain now if it is not
	  checked. * Did some cleanup in parking_tests.c as a result of
	  checking the ast_bridge_impart() return value. An independent,
	  but associated change is: * Reduce stack usage in
	  ast_indicate_data() and add a dropping redundant connected line
	  verbose message. (closes issue ASTERISK-22072) Reported by:
	  Joshua Colp Review: https://reviewboard.asterisk.org/r/2845/
	  ........ Merged revisions 399136 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-13 20:55 +0000 [r399101]  David M. Lee <dlee@digium.com>

	* /, main/astobj2.c: Don't write to /tmp/refs when REF_DEBUG is not
	  defined. If MALLOC_DEBUG is enabled, then the debug destructor
	  for the container is used, which would erroneously write to
	  /tmp/refs. This patch only uses the debug destructor if ref_debug
	  is used. (closes issue ASTERISK-22536) ........ Merged revisions
	  399098 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 399099 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399100 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-13 14:50 +0000 [r399082-399084]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip.exports.in, /: Create
	  more accurate Contact headers for dialogs when we are the UAS.
	  (closes issue AST-1207) reported by John Bigelow Review:
	  https://reviewboard.asterisk.org/r/2842 ........ Merged revisions
	  399083 from http://svn.asterisk.org/svn/asterisk/branches/12

	* res/res_pjsip/config_auth.c, /,
	  res/res_pjsip_outbound_authenticator_digest.c,
	  res/res_pjsip_authenticator_digest.c: Change how realms are
	  handled for outbound authentication. With this change, if no
	  realm is specified in an outbound auth section, then we will
	  simply match the realm that was present in the 401/407 challenge.
	  (closes issue ASTERISK-22471) Reported by George Joseph (closes
	  issue ASTERISK-22386) Reported by Rusty Newton Patches:
	  outbound_auth_realm_v4.patch uploaded by George Joseph (License
	  #6322) ........ Merged revisions 399059 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-13 14:43 +0000 [r399080-399081]  David M. Lee <dlee@digium.com>

	* /: Recorded merge of revisions 399035,399049 from
	  http://svn.asterisk.org/svn/asterisk/branches/12 These were lost
	  in r399071

	* /: Put merge tracking for r399039 back.

2013-09-13 14:27 +0000 [r399071]  Rusty Newton <rnewton@digium.com>

	* /, res/res_pjsip_endpoint_identifier_ip.c: Broke the build!
	  Forgot para tags within my description.
	  https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD-304
	  ........ Merged revisions 399064 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-13 14:22 +0000 [r399042-399051]  David M. Lee <dlee@digium.com>

	* res/res_pjsip_log_forwarder.c (added), res/res_pjsip_logger.c,
	  res/res_rtp_asterisk.c, /: res_pjsip: Forward PJSIP logging to
	  Asterisk logging This patch uses PJSIP's pj_log_set_log_func() to
	  forward PJSIP's log messages to Asterisk's logger. This is done
	  in a new module: res_pjsip_log_forwarder.so. This patch sets
	  defaultenabled on the existing res_pjsip_logger.so to no, since
	  logging every SIP packet seems a bit odd to do by default, and is
	  (hopefully) less necessary with regular PJSIP logging. It also
	  removes res_rtp_asterisk's disabling of PJSIP logging. (closes
	  issue ASTERISK-22360) Reported by: Joshua Colp Review:
	  https://reviewboard.asterisk.org/r/2830/ ........ Merged
	  revisions 399049 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_http_websocket.c: ARI: Fix WebSocket response when
	  subprotocol isn't specified When I moved the ARI WebSocket from
	  /ws to /ari/events, I added code to allow a WebSocket to connect
	  without specifying the subprotocol if there's only one
	  subprotocol handler registered for the WebSocket. Naively, I
	  coded it to always respond with the subprotocol in use.
	  Unfortunately, according to RFC 6455, if the server's response
	  includes a subprotocol header field that "indicates the use of a
	  subprotocol that was not present in the client's handshake [...],
	  the client MUST _Fail the WebSocket Connection_.", emphasis
	  theirs. This patch correctly omits the Sec-WebSocket-Protocol if
	  one is not specified by the client. (closes issue ASTERISK-22441)
	  Review: https://reviewboard.asterisk.org/r/2828/ ........ Merged
	  revisions 399039 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-13 14:17 +0000 [r399036]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_meetme.c: Fix several crashes in MeetMeAdmin This
	  change ensures that MeetMeAdmin commands requiring a user
	  actually get a user and fixes another issue where an extra
	  dereference could occur for a last-entered user being ejected if
	  a user identifier was also provided. (closes issue
	  ASTERISK-21907) Reported by: Alex Epshteyn Review:
	  https://reviewboard.asterisk.org/r/2844/ ........ Merged
	  revisions 399033 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 399034 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 399035 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-13 13:28 +0000 [r399032]  Rusty Newton <rnewton@digium.com>

	* /, res/res_pjsip_endpoint_identifier_ip.c: 'identify'
	  configObject doesn't have a synopsis Add a straightforward
	  synopsis and description to the identify config object in XML
	  documentation. (issue ASTERISK-22311) (closes issue
	  ASTERISK-22311) Reported By: Rusty Newton ........ Merged
	  revisions 399031 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-12 23:42 +0000 [r399020-399022]  Richard Mudgett <rmudgett@digium.com>

	* /, main/bridge.c: CLI bridge: Fix "bridge destroy <id>" and
	  "bridge kick <id> <chan>" tab completion. These two commands must
	  deal with the live bridges container for tab completion and not
	  the stasis cache. ........ Merged revisions 399021 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/bridge.c, /: astobj2: Register the bridges container for
	  debug inspection. ........ Merged revisions 399019 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-12 23:23 +0000 [r399018]  Rusty Newton <rnewton@digium.com>

	* /, res/res_pjsip_acl.c: Documentation fix and improvements to XML
	  configuration help res_pjsip_acl * One bug fix. Made the synopsis
	  for "type" to accurate. * changing the usage of "IP-domains" to
	  "IP addresses" * clarifying the usage for the options, by adding
	  a relevant description for each * modified other areas of the XML
	  help for clarity, such as the module description and a few
	  synopsis changes here and there. See the patch. (issue
	  ASTERISK-22458) (closes issue ASTERISK-22458) Reported By: Rusty
	  Newton Review: https://reviewboard.asterisk.org/r/2823/ ........
	  Merged revisions 399017 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-12 20:27 +0000 [r399006]  Jonathan Rose <jrose@digium.com>

	* channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip:
	  Revert r398835 due to failing tests involving originate (issue
	  ASTERISK-22424) Reported by: Jonathan Rose ........ Merged
	  revisions 398977 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398986 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398991 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-12 16:44 +0000 [r398939]  Richard Mudgett <rmudgett@digium.com>

	* main/core_unreal.c, /: core_local: Fix memory corruption race
	  condition. The masquerade super test is failing on v12 with high
	  fence violations and crashing. The fence violations are showing
	  that party id allocated memory strings are somehow getting
	  corrupted in the bridge_reconfigured_connected_line_update()
	  function. The invalid string values happen to be the freed memory
	  fill pattern. After much puzzling, I deduced that the
	  bridge_reconfigured_connected_line_update() is copying a string
	  out of the source channel's caller party id struct just as
	  another thread is updating it with a new value. The copying
	  thread is using the old string pointer being freed by the
	  updating thread. A search of the code found the
	  unreal_colp_redirect_indicate() routine updating the caller party
	  id's without holding the channel lock. A latent bug in v1.8 and
	  v11 hatched in v12 because of the bridging and connected line
	  changes. :) (issue ASTERISK-22221) Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/2839/ ........ Merged
	  revisions 398938 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-12 15:23 +0000 [r398928]  David M. Lee <dlee@digium.com>

	* res/res_pjsip.c, /: Fix symbol collision with pjsua. We shouldn't
	  be exporting any symbols that start with pjsip_. ........ Merged
	  revisions 398927 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-12 00:04 +0000 [r398883-398887]  Rusty Newton <rnewton@digium.com>

	* /, apps/app_queue.c: 'queue add member' help text correction You
	  are adding dial strings to the queue, not channels. An aribitrary
	  string could be used, but you are typically referencing a
	  channel. Correcting the command help text. (issue ASTERISK-22263)
	  (closes issue ASTERISK-22263) Reported By: Rusty Newton ........
	  Merged revisions 398884 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398885 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398886 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* configs/chan_dahdi.conf.sample, /: Documentation fix -
	  waitfordialtone is not boolean, it's time in milliseconds
	  Changing text in chan_dahdi.conf sample to be accurate. (issue
	  ASTERISK-22308) (closes issue ASTERISK-22308) Reported By:
	  Malcolm Davenport ........ Merged revisions 398880 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398881 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398882 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-11 20:03 +0000 [r398838]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
	  Reject calls without prior SDP on 200 OK If we receive a 200 OK
	  without SDP, we will now check to see if the remote address has
	  been established for that channel's RTP session and if the to tag
	  for that channel has changed from the most recent to tag in a
	  response less than 200. If either a change has been made since
	  the last to-tag was received or the remote address is unset, then
	  we will drop the call. (closes issue ASTERISK-22424) Reported by:
	  Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/2827/diff/#index_header
	  ........ Merged revisions 398835 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398836 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398837 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-11 18:03 +0000 [r398822]  Russell Bryant <russell@russellbryant.com>

	* configs/confbridge.conf.sample, /: Fix typo in
	  confbridge.conf.sample The denoise filter requires func_speex,
	  not codec_speex. Fix this in the description of the denoise=yes
	  option in confbridge.conf. ........ Merged revisions 398820 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398821 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-11 14:23 +0000 [r398808]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_caller_id.c, channels/chan_pjsip.c, /: pjsip:
	  reinvite for connected line updates occurs when it should not
	  Connected line updates are now only sent out if an actual update
	  needs to occur. This happens under the following conditions: 1.
	  The endpoint we are sending to is trusted. 2. Either a
	  P-Asserted-Identity or Remote Party-ID header needs to be
	  added/sent. 3. The connected id's number and name are valid. Also
	  added an SDP when an update is sent out. (closes issue AST-1212)
	  Reported by: John Bigelow Review:
	  https://reviewboard.asterisk.org/r/2831/ ........ Merged
	  revisions 398806 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-10 18:05 +0000 [r398760]  Richard Mudgett <rmudgett@digium.com>

	* main/event.c, res/res_musiconhold.c, main/indications.c,
	  main/asterisk.c, main/xmldoc.c, main/cli.c, /,
	  funcs/func_dialgroup.c, main/heap.c,
	  res/res_pjsip/pjsip_configuration.c: Fix incorrect usages of
	  ast_realloc(). There are several locations in the code base where
	  this is done: buf = ast_realloc(buf, new_size); This is going to
	  leak the original buf contents if the realloc fails. Review:
	  https://reviewboard.asterisk.org/r/2832/ ........ Merged
	  revisions 398757 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398758 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398759 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-10 17:50 +0000 [r398751-398755]  David M. Lee <dlee@digium.com>

	* utils/check_expr.c, /: Fixed utils directory breakage from
	  r398748, this time with extra hate. ........ Merged revisions
	  398752 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 398753 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398754 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* utils/check_expr.c, /, utils/ael_main.c, utils/conf2ael.c: Fixed
	  utils directory breakage from r398648 ........ Merged revisions
	  398748 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 398749 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398750 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-09 23:29 +0000 [r398732]  Richard Mudgett <rmudgett@digium.com>

	* main/astmm.c, /: MALLOC_DEBUG: Change fence magic number to be
	  completely different from the freed magic number. Race conditions
	  between freeing a nul terminated string and ast_strdup()'ing it
	  are more likely to be detected if the fence and freed magic
	  numbers are completely different. ........ Merged revisions
	  398703 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 398721 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398726 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-09 22:00 +0000 [r398695]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_endpoint_identifier_ip.c, /: Add extra debugging to
	  res_pjsip_endpoint_identifier_ip ........ Merged revisions 398694
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-09 20:13 +0000 [r398641-398652]  David M. Lee <dlee@digium.com>

	* /, main/utils.c, include/asterisk/lock.h, main/lock.c: Fix
	  DEBUG_THREADS when lock is acquired in __constructor__ This patch
	  fixes some long-standing bugs in debug threads that were
	  exacerbated with recent Optional API work in Asterisk 12. With
	  debug threads enabled, on some systems, there's a lock ordering
	  problem between our mutex and glibc's mutex protecting its module
	  list (Ubuntu Lucid, glibc 2.11.1 in this instance). In one
	  thread, the module list will be locked before acquiring our
	  mutex. In another thread, our mutex will be locked before locking
	  the module list (which happens in the depths of calling
	  backtrace()). This patch fixes this issue by moving backtrace()
	  calls outside of critical sections that have the mutex acquired.
	  The bigger change was to reentrancy tracking for
	  ast_cond_{timed,}wait, which wrongly assumed that waiting on the
	  mutex was equivalent to a single unlock (it actually suspends all
	  recursive locks on the mutex). (closes issue ASTERISK-22455)
	  Review: https://reviewboard.asterisk.org/r/2824/ ........ Merged
	  revisions 398648 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398649 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398651 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* res/ari/resource_channels.h, /, rest-api/api-docs/channels.json:
	  Multiple revisions 398638-398639 ........ r398638 | dlee |
	  2013-09-09 14:01:54 -0500 (Mon, 09 Sep 2013) | 1 line Added note
	  about expected behavior of originate ........ r398639 | dlee |
	  2013-09-09 14:02:27 -0500 (Mon, 09 Sep 2013) | 1 line Added note
	  about expected behavior of originate (the rest of the commit)
	  ........ Merged revisions 398638-398639 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-08 23:30 +0000 [r398629]  Matthew Jordan <mjordan@digium.com>

	* tests/test_cdr.c, /: Update CDR Unit tests to reflect container
	  changes in r398579 When a channel joins a multi-party bridge, the
	  ordering of the CDRs that is created is determined by the
	  ordering of the channels who happen to be in that bridge. When
	  r398579 changed the number of buckets in the container to
	  something sensible, it changed the ordering that the CDRs was
	  created in, causing one of the multiparty tests to fail. This
	  fixes the test with the now expected ordering. ........ Merged
	  revisions 398628 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-07 01:03 +0000 [r398603-398620]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_xmpp.c: Prevent XMPP timeout on blank responses
	  Sometimes the Google Voice servers have a bad habit of sending
	  out 1 byte replies to the xmpp resource. When a blank 1 byte
	  reply is received from the socket the buffer attempts to wait
	  (endlessly) for the rest of the reply from google which
	  effectively blocks the socket and google voice calls will no
	  longer come into the server. This patch allows the xmpp module to
	  correctly detect empty packets and send out ping replies to
	  google. It also sets a socket timeout on the default socket which
	  prevents the xmpp socket from closing and preventing future
	  google voice calls from coming into the server. Furthermore
	  instead of sending an empty reply back to google we send a proper
	  xmpp ping reply back. This also adds several more socket
	  messages. (closes issue ASTERISK-22347) Reported by: Andrew Nagy
	  Review: https://reviewboard.asterisk.org/r/2771 Patches:
	  xmpp_fix_1.diff uploaded by Andrew Nagy (License #6524) ........
	  Merged revisions 398618 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398619 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, res/res_xmpp.c, res/res_jabber.c: Multiple revisions
	  398558,398577 ........ r398558 | kmoore | 2013-09-06 14:28:16
	  -0500 (Fri, 06 Sep 2013) | 17 lines Fix Jabber/XMPP distributed
	  MWI The mailbox and context are swapped on the receiving end for
	  all users of Jabber and XMPP distributed MWI in Asterisk 1.8 and
	  all more recent versions. This swaps those values to be correct
	  when publishing to the internal event system from Jabber/XMPP
	  distributed MWI state. (closes issue ASTERISK-22435) Reported by:
	  abelbeck Tested by: Michael Keuter Patches:
	  asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by
	  abelbeck asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch
	  uploaded by abelbeck ........ Merged revisions 398523 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  r398577 | kmoore | 2013-09-06 16:00:56 -0500 (Fri, 06 Sep 2013) |
	  10 lines Commit the remainder of r398523 This is a missing part
	  of the commit in revision 398523 that corrects the name of a
	  variable. (issue ASTERISK-22435) ........ Merged revisions 398576
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 398558,398577 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398580 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-06 21:17 +0000 [r398557-398583]  Richard Mudgett <rmudgett@digium.com>

	* main/cdr.c, /: cdr: Change the number of container buckets to be
	  similar to the channels container. * Fix the temporary cdr
	  candidate containers to use a prime number of buckets. ........
	  Merged revisions 398579 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/core_local.c, /: core_local: Fix LocalOptimizationBegin AMI
	  event missing Source channel snapshot. * Fix the
	  LocalOptimizationBegin AMI event by eliminating an artificial
	  buffer size limitation that is too small anyway. ........ Merged
	  revisions 398572 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/cdr.c, /: cdr: Fix some ref leaks. * Added missing
	  unregister of the cdr container in cdr_engine_shutdown(). * Fixed
	  ref leak in off nominal path of cdr_object_alloc(). * Removed
	  some unnecessary NULL checks in cdr_object_dtor(). ........
	  Merged revisions 398562 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* include/asterisk/astobj2.h, main/cel.c, main/features_config.c,
	  apps/app_agent_pool.c, main/cdr.c, main/udptl.c, /,
	  main/parking.c, main/stasis_config.c: astobj2: Add warn unused
	  attribute to some functions. * Fixed resulting warnings with
	  improper use of ao2_global_obj_replace(). * Made a couple uses of
	  ao2_global_obj_replace_unref(x, NULL) into the equivalent and
	  more appropriate ao2_global_obj_release() call. ........ Merged
	  revisions 398533 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-06 18:53 +0000 [r398512-398522]  Kinsey Moore <kmoore@digium.com>

	* main/http.c, /, res/stasis/app.c: Fix build warnings When
	  AST_DEVMODE is not defined, ast_asserts are not compiled into the
	  binary. In some cases, this means variables are not referenced or
	  are set but unused which causes warnings to show up. (closes
	  issue ASTERISK-22446) Reported by: Jason Parker (qwell) ........
	  Merged revisions 398521 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, channels/chan_h323.c: Fix chan_h323 compilation This fixes the
	  things in chan_h323 that were missed or ignored in the great
	  channel opaquification and gets chan_h323 back into a compiling
	  state. (closes issue ASTERISK-22365) Reported by: Dmitry Melekhov
	  Patches: chan_h323.patch uploaded by Dmitry Melekhov ........
	  Merged revisions 398510 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398511 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-05 21:48 +0000 [r398384-398499]  Richard Mudgett <rmudgett@digium.com>

	* /, main/astobj2.c: astobj2: Only define ao2_bt() once. * Make
	  ao2_bt() not use single char variable names. * Fix ao2_bt()
	  formatting. ........ Merged revisions 398498 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_iax2.c, /: chan_iax2: Reduce indentation in
	  __attempt_transmit(). * Reduce indentation in
	  __attempt_transmit(). * Don't update the static last error time
	  variable every time in __schedule_action() and socket_read().
	  ........ Merged revisions 398456 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398457 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398458 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_iax2.c, /: chan_iax2: Fix stray reference to worker
	  thread idle_list. * Fix stray reference to idle_list in
	  cleanup_thread_list(). This may be the reason for the note in
	  iax2_process_thread() about threads not being removed from the
	  task lists. * Move cleanup_thread_list(&idle_list) to after the
	  other lists are cleaned up. ........ Merged revisions 398416 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398417 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398418 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/chan_iax2.c, /: chan_iax2: Fix bridgecallno deadlock
	  avoidance. * Fix bridgecallno deadlock avoidance. When doing
	  deadlock avoidance, you need to retest the status of values for
	  each loop to see if you still need the lock for bridgecallno. *
	  As a safety check, after acquiring the bridgecallno lock you
	  should check if iaxs[bridgecallno] is NULL just like the current
	  callno checks. * Move setting thread->iostate to IAX_IOSTATE_IDLE
	  to after processing any deferred frames to ensure that the
	  iostate is IDLE when it is placed back into the idle list.
	  defer_full_frame() tries to ensure iax2_process_thread() wakes up
	  to process the frame. ........ Merged revisions 398379 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398380 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398381 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-05 14:10 +0000 [r398369]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip_outbound_registration.c: Clarify server_uri and
	  client_uri registration settings. Used some of Rusty's suggested
	  language plus also included more SIPesque descriptions of where
	  the URIs are actually used in an outgoing REGISTER. (closes issue
	  ASTERISK-22390) reported by Rusty Newton ........ Merged
	  revisions 398368 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-04 23:07 +0000 [r398304]  Richard Mudgett <rmudgett@digium.com>

	* channels/iax2/parser.c, /: chan_iax2: Add missing control frame
	  names to debug frame decode output. ........ Merged revisions
	  398301 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 398302 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398303 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-04 22:49 +0000 [r398300]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_pjsip_outbound_authenticator_digest.c: Give more
	  detail regarding failures to create request with auth
	  credentials. (issue ASTERISK-22386) ........ Merged revisions
	  398299 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-04 21:37 +0000 [r398284-398287]  Jonathan Rose <jrose@digium.com>

	* /, tests/test_voicemail_api.c: unit tests: test_voicemail_api
	  leaks stringfields from snapshots (closes issue ASTERISK-22414)
	  Reported by: Corey Farrell Patches:
	  test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
	  (license 5909) ........ Merged revisions 398285 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398286 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* apps/app_voicemail.c, /: app_voicemail: Fix leaking config
	  objects when msg_id doesn't match (issues ASTERISK-22414)
	  Reported by: Corey Farrell Patch:
	  test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
	  (license 5909) ........ Merged revisions 398281 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398283 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-04 16:03 +0000 [r398238]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_misdn.c, /: chan_misdn: Fix misdn debug output
	  printed with arbitrary verbose levels. Fix the misdn debug output
	  to remote consoles. chan_misdn uses ast_console_puts() which
	  doesn't know about verbose levels. Better to use ast_verbose()
	  instead. Without this patch the misdn debug messages are appended
	  to the verbose level which ever was set by the message sent to
	  the console before, i.e. any undefined level. (closes issue
	  AST-1218) Reported by: Guenther Kelleter Patches: misdnlog.patch
	  (license #6372) patch uploaded by Guenther Kelleter ........
	  Merged revisions 398235 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398236 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398237 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-04 14:32 +0000 [r398227]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_pjsip_outbound_registration.c: Debug messages for
	  pjsip outbound registration Added debug messages indicating that
	  an outbound registration attempt was made and it was successful
	  in pjsip. (closes issue ASTERISK-22388) Reported by: Rusty Newton
	  ........ Merged revisions 398226 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-03 20:28 +0000 [r398217]  Alexandr Anikin <may@telecom-service.ru>

	* /, addons/ooh323c/src/ooh245.c: Fix remote tcs sequence handling
	  on empty tcs received ........ Merged revisions 398214 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398215 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-03 18:09 +0000 [r398207]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip_dtmf_info.c, /: Prevent a crash in
	  res_pjsip_dtmf_info.c This change makes sure that a content type
	  header exists before checking the contents of the header against
	  known SIP INFO DTMF content types. ........ Merged revisions
	  398206 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-03 17:19 +0000 [r398205]  David M. Lee <dlee@digium.com>

	* Makefile, /: Fixed 'make clean' for wiki docs ........ Merged
	  revisions 398198 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-09-03 14:29 +0000 [r398197]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, cel/cel_custom.c: Be a little more verbose when loading
	  cel_custom.conf. Review: https://reviewboard.asterisk.org/r/2805/
	  ........ Merged revisions 398167 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398168 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398196 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 20:58 +0000 [r398150]  David M. Lee <dlee@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. ........
	  Merged revisions 398149 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 20:37 +0000 [r398148]  Rusty Newton <rnewton@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/ ........
	  Merged revisions 398147 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 19:55 +0000 [r398124-398140]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_pjsip_outbound_registration.c,
	  include/asterisk/sorcery.h, res/res_pjsip.c,
	  res/res_pjsip/config_transport.c, main/sorcery.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/ ........ Merged
	  revisions 398139 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/config.c, res/res_security_log.c, /, channels/chan_sip.c,
	  main/translate.c, main/named_acl.c, main/indications.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 ........ Merged
	  revisions 398116 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 18:38 +0000 [r398101]  Matthew Jordan <mjordan@digium.com>

	* /, UPGRADE-12.txt (added), 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. ........ Merged revisions 398100
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 18:30 +0000 [r398064-398099]  Jonathan Rose <jrose@digium.com>

	* main/features_config.c, /, main/config_options.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/ ........ Merged
	  revisions 398068 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/features_config.c, main/udptl.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/ ........ Merged
	  revisions 398020 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 17:59 +0000 [r398063]  Kevin Harwell <kharwell@digium.com>

	* 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 ........ Merged
	  revisions 398062 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 17:11 +0000 [r398024-398026]  Richard Mudgett <rmudgett@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.
	  ........ Merged revisions 398025 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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 ........ Merged
	  revisions 398023 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 16:27 +0000 [r398003-398017]  Kevin Harwell <kharwell@digium.com>

	* /, 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 ........ Merged
	  revisions 398016 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/asterisk.c, /: Check return value on fwrite ........ Merged
	  revisions 398000 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 398002 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 13:40 +0000 [r397987-397990]  David M. Lee <dlee@digium.com>

	* rest-api-templates/swagger_model.py, res/ari/ari_websockets.c,
	  channels/sip/include/sip.h, main/asterisk.c, 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):
	  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/ ........ Merged
	  revisions 397989 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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,
	  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: 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/
	  ........ Merged revisions 397985 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /: Multiple revisions 397975-397976 ........ r397975 | rmudgett |
	  2013-08-29 20:00:00 -0500 (Thu, 29 Aug 2013) | 1 line pbx.c: Make
	  ast_str_substitute_variables_full() not mask variables. ........
	  r397976 | rmudgett | 2013-08-29 20:00:41 -0500 (Thu, 29 Aug 2013)
	  | 1 line Revert last commit. ........ Merged revisions
	  397975-397976 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 01:20 +0000 [r397978]  Richard Mudgett <rmudgett@digium.com>

	* main/pbx.c, /: pbx.c: Make pbx_substitute_variables_helper_full()
	  not mask variables. ........ Merged revisions 397977 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-30 00:11 +0000 [r397962-397969]  Mark Michelson <mmichelson@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. ........ Merged
	  revisions 397968 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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. ........ Merged revisions 397960
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 22:49 +0000 [r397959]  Kevin Harwell <kharwell@digium.com>

	* apps/app_dumpchan.c, main/logger.c, apps/app_verbose.c,
	  main/asterisk.c, channels/chan_misdn.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 ........ Merged
	  revisions 397958 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 22:26 +0000 [r397956-397957]  Mark Michelson <mmichelson@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.
	  ........ Merged revisions 397955 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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 ........
	  Merged revisions 397945 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 21:37 +0000 [r397947]  Kevin Harwell <kharwell@digium.com>

	* main/file.c, main/app.c, main/config_options.c, main/cel.c,
	  main/asterisk.c, main/cdr.c, main/manager.c, /,
	  main/stasis_config.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) ........ Merged revisions 397946 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 20:22 +0000 [r397939]  Matthew Jordan <mjordan@digium.com>

	* configs/safe_asterisk.conf.sample (removed), /, CHANGES,
	  contrib/scripts/safe_asterisk, Makefile: 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. ........
	  Merged revisions 397938 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 16:21 +0000 [r397932]  David M. Lee <dlee@digium.com>

	* rest-api-templates/make_ari_stubs.py, /,
	  rest-api-templates/api.wiki.mustache,
	  rest-api-templates/asterisk_processor.py: Account for {} in
	  Swagger notes ........ Merged revisions 397927 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 16:05 +0000 [r397925]  Matthew Jordan <mjordan@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. ........ Merged revisions 397924 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 15:43 +0000 [r397923]  Mark Michelson <mmichelson@digium.com>

	* /, apps/app_queue.c, main/cel.c, main/stasis_bridges.c: Multiple
	  revisions 397921-397922 ........ r397921 | mmichelson |
	  2013-08-29 10:42:10 -0500 (Thu, 29 Aug 2013) | 6 lines 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. ........ r397922 | mmichelson | 2013-08-29 10:42:29
	  -0500 (Thu, 29 Aug 2013) | 3 lines Remove extra debug message.
	  ........ Merged revisions 397921-397922 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-29 12:30 +0000 [r397912]  Matthew Jordan <mjordan@digium.com>

	* contrib/ast-db-manage/config,
	  contrib/ast-db-manage/config/script.py.mako,
	  contrib/ast-db-manage/voicemail.ini.sample,
	  contrib/ast-db-manage/voicemail/env.py,
	  contrib/ast-db-manage/voicemail,
	  contrib/ast-db-manage/voicemail/script.py.mako,
	  contrib/ast-db-manage/README.md,
	  contrib/ast-db-manage/config/versions,
	  contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
	  contrib/ast-db-manage (added),
	  contrib/ast-db-manage/voicemail/versions, /,
	  contrib/ast-db-manage/config.ini.sample,
	  contrib/ast-db-manage/config/env.py,
	  contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py:
	  Actually *add* the database schema management utilities In
	  r397874, the scripts were removed... but not replaced. Thanks to
	  Michael Young for noticing this! ........ Merged revisions 397911
	  from http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-28 23:15 +0000 [r397886-397903]  Richard Mudgett <rmudgett@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 ........ Merged revisions 397902 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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. ........ Merged revisions 397900
	  from http://svn.asterisk.org/svn/asterisk/branches/12

	* main/cdr.c, /: Made the on/off in CLI "cdr set debug [on|off]"
	  case insensitive. ........ Merged revisions 397898 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/cdr.c, /: Make CDR variable name chandling consistently case
	  insensitive. ........ Merged revisions 397896 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, main/cdr.c: Make CDR code deal with channel names case
	  insensitively. ........ Merged revisions 397894 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, funcs/func_cdr.c, main/cdr.c: Some CDR code optimization.
	  ........ Merged revisions 397892 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, funcs/func_cdr.c: Whitespace and curly braces. ........ Merged
	  revisions 397885 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-28 21:09 +0000 [r397877]  Mark Michelson <mmichelson@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. ........ Merged revisions
	  397876 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-28 20:55 +0000 [r397872-397875]  Matthew Jordan <mjordan@digium.com>

	* 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,
	  contrib/realtime/mysql/musiconhold.sql: 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) ........ Merged revisions 397874 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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/ ........ Merged
	  revisions 397870 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-28 16:13 +0000 [r397857-397860]  Richard Mudgett <rmudgett@digium.com>

	* /, main/pbx.c: pbx.c: Make ast_str_substitute_variables_full()
	  not mask variables. ........ Merged revisions 397859 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* main/chanvars.c: ast_free() is null tollerant.

	* include/asterisk/threadstorage.h, /: Match use of ast_free() with
	  ast_calloc() and add some curly braces. ........ Merged revisions
	  397856 from http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-28 15:43 +0000 [r397855]  Mark Michelson <mmichelson@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.
	  ........ Merged revisions 397854 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-27 19:19 +0000 [r397820]  David M. Lee <dlee@digium.com>

	* 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,
	  res/res_stasis.c, main/stasis_bridges.c: 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/ ........ Merged
	  revisions 397816 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-27 18:52 +0000 [r397811]  Richard Mudgett <rmudgett@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 ........ Merged
	  revisions 397809 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-27 18:10 +0000 [r397753-397760]  Matthew Jordan <mjordan@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 ........ Merged
	  revisions 397759 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, 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 ........ Merged
	  revisions 397713 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-27 16:51 +0000 [r397746]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c,
	  channels/chan_dahdi.c, channels/sig_analog.c, /,
	  channels/chan_sip.c, channels/chan_motif.c: Fix uninitialized
	  value in struct ast_control_pvt_cause_code usage. ........ Merged
	  revisions 397744 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
	  revisions 397745 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-26 23:48 +0000 [r397691]  Matthew Jordan <mjordan@digium.com>

	* /, 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. ........ Merged revisions 397690 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-26 21:32 +0000 [r397674]  David M. Lee <dlee@digium.com>

	* /, main/bucket.c: Fixed bucket.c for systems where tv_usec is not
	  an unsigned long. ........ Merged revisions 397673 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-26 16:25 +0000 [r397644-397651]  Richard Mudgett <rmudgett@digium.com>

	* /, include/asterisk/bridge_channel.h, main/bridge_channel.c:
	  bridging: Fix a livelock with local channel optimization. Use a
	  better means of waking up the bridge channel thread. ........
	  Merged revisions 397650 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* channels/Makefile, /: chan_dahdi: Add some missing build cleanup.
	  ........ Merged revisions 397643 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-25 18:12 +0000 [r397622-397631]  Matthew Jordan <mjordan@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. ........ Merged
	  revisions 397630 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* 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. ........
	  Merged revisions 397628 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

	* /, 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 ........ Merged
	  revisions 397621 from
	  http://svn.asterisk.org/svn/asterisk/branches/12

2013-08-23 22:40 +0000 [r397615]  Matthew Jordan <mjordan@digium.com>

	* /: Set new merge properties on 12

2013-08-23 22:20 +0000 [r397613]  Joshua Colp <jcolp@digium.com>

	* main/bucket.c: Fix building of trunk. Note: This is why I commit
	  on the weekend.

