2015-04-08  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.8.2 Released.

	* Mitigate MitM attack potential from certificate with NULL byte in CN.

	  When registering to a SIP server with TLS, Asterisk will accept CA
	  signed certificates with a common name that was signed for a domain
	  other	than the one requested if it contains a null character in the
	  common name portion of the cert. This patch fixes that by checking
	  that the common name length matches the the length of the content we
	  actually read from the common	name segment. Some certificate
	  authorities automatically sign CA requests when the requesting CN
	  isn't already taken, so an attacker could potentially register a CN
	  with something like www.google.com\x00www.secretlyevil.net and have
	  their certificate signed and Asterisk would accept that certificate
	  as though it had been for www.google.com.

	  ASTERISK-24847 #close
	  Reported by: Maciej Szmigiero
	  patches:
	    asterisk-null-in-cn.patch uploaded by mhej (license 6085)

	  AST-2015-003

2015-01-28  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.8.1 Released.

	* Mitigate possible HTTP injection attacks using CURL() function in
	  Asterisk.

	  CVE-2014-8150 disclosed a vulnerability in libcURL where HTTP request
	  injection can be performed given properly-crafted URLs.

	  Since Asterisk makes use of libcURL, and it is possible that users of
	  Asterisk may get cURL URLs from user input or remote sources, we have
	  made a patch to Asterisk to prevent such HTTP injection attacks from
	  originating from Asterisk.

	  ASTERISK-24676 #close
	  Reported by: Matt Jordan, Olle Johansson

	  Review: https://reviewboard.asterisk.org/r/4364

	  AST-2015-002

	* Fix file descriptor leak in RTP code.

	  SIP requests that offered codecs incompatible with configured values
	  could result in the allocation of RTP and RTCP ports that would not
	  get reclaimed later.

	  ASTERISK-24666 #close
	  Reported by Y Ateya

	  Review: https://reviewboard.asterisk.org/r/4323

	  AST-2015-001

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

	* Asterisk 12.8.0 Released.

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

	* Asterisk 12.8.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 12.8.0-rc1 Released.

2014-12-08 15:41 +0000 [r429061]  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

2014-12-06 18:15 +0000 [r429028-429032]  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

	* /, 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

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

	* include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c,
	  include/asterisk/test.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/

2014-12-04 17:12 +0000 [r428864-428972]  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.

	* main/test.c, main/manager.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/

	* 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.

	* 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

	* 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

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

	* CHANGES: CHANGES: Add item for new 'pjsip show identif(y|ies)
	  commands Tested-by: George Joseph

2014-12-02 17:02 +0000 [r428788]  Matthew Jordan <mjordan@digium.com>

	* 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

2014-12-02 12:20 +0000 [r428760]  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/

2014-12-02 00:35 +0000 [r428725-428733]  George Joseph <george.joseph@fairview5.com>

	* main/config.c, include/asterisk/config.h: 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/

	* 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/

2014-12-01 15:53 +0000 [r428681]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_refer.c, channels/chan_mgcp.c, main/stasis_cache.c,
	  channels/chan_sip.c, include/asterisk/stasis_internal.h,
	  configs/stasis.conf.sample (added), include/asterisk/stasis.h,
	  UPGRADE.txt, res/parking/parking_applications.c, res/res_xmpp.c,
	  include/asterisk/stasis_message_router.h, channels/sig_pri.c,
	  channels/chan_iax2.c, apps/app_queue.c, res/res_jabber.c,
	  res/res_stasis_device_state.c, main/endpoints.c,
	  res/parking/parking_bridge_features.c, main/stasis.c,
	  channels/chan_dahdi.c, main/stasis_message_router.c,
	  channels/chan_skinny.c, res/res_pjsip_mwi.c,
	  main/stasis_channels.c, res/res_pjsip_pubsub.c,
	  tests/test_stasis.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

2014-12-01 13:40 +0000 [r428654]  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

2014-11-24 20:26 +0000 [r428601]  Richard Mudgett <rmudgett@digium.com>

	* 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/

2014-11-21 18:59 +0000 [r428571]  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

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

	* res/res_pjsip_phoneprov_provider.c, tests/test_sorcery.c,
	  main/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/

2014-11-20 16:36 +0000 [r428422]  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

2014-11-20 16:33 +0000 [r428334-428409]  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

	* 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

2014-11-20 15:46 +0000 [r428333]  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/

2014-11-20 14:54 +0000 [r428301-428304]  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

	* 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

2014-11-19 19:30 +0000 [r428272]  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/

2014-11-19 16:56 +0000 [r428245]  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

2014-11-19 11:50 +0000 [r428195]  Joshua Colp <jcolp@digium.com>

	* 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/

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

	* res/parking/parking_tests.c: parking_tests.c: Add missing newline
	  on a unit test message.

2014-11-17 15:59 +0000 [r428118]  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

2014-11-17 15:27 +0000 [r428078-428114]  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

	* tests/test_cel.c: tests/test_cel: Fix CEL unit tests This is a
	  backport of the test_cel portion of r427870, which was not
	  applied to the 12 branch. This fixes the compilation issues with
	  the CEL unit tests introduced by the API changes needed to fix
	  publication of blind transfer messages.

	* /, 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

2014-11-16 21:11 +0000 [r427978-428051]  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.

	* 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

	* channels/chan_pjsip.c, channels/chan_motif.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

	* 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

2014-11-15 16:56 +0000 [r427953]  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

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

	* configs/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/

2014-11-14 15:49 +0000 [r427875]  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

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

	* res/stasis/app.c, main/bridge.c, main/bridge_basic.c,
	  include/asterisk/stasis_bridges.h, apps/app_queue.c, main/cel.c,
	  main/stasis_bridges.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

2014-11-14 14:55 +0000 [r427843-427845]  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

	* res/res_pjsip_pubsub.c: res_pjsip_pubsub: Add some casting so
	  that it builds once again.

2014-11-14 14:21 +0000 [r427840]  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 a possible race condition where
	  duplicate requests may be handled by separate threads. If an
	  endpoint retransmits a request, it's possible due to temporary
	  load that Asterisk may end up processing both requests at the
	  same time in separate threads. One thread will successfully
	  handle the request, while the other thread fails to handle the
	  request since the first thread already registered the transaction
	  with the PJSIP core. The fix here is to detect the duplicated
	  transaction failure and to silently absorb the request since
	  another thread should be properly handling the request. Review:
	  https://reviewboard.asterisk.org/r/4174

2014-11-13 21:56 +0000 [r427814]  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/

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

	* res/stasis/app.h, res/res_stasis.c, res/stasis/app.c,
	  res/stasis/stasis_bridge.c, include/asterisk/stasis.h,
	  include/asterisk/stasis_app.h: 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

2014-11-12 23:59 +0000 [r427762]  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

2014-11-12 20:37 +0000 [r427736]  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/

2014-11-12 16:11 +0000 [r427710]  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

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

	* /, tests, codecs/speex, apps/confbridge, Makefile.rules,
	  codecs/ilbc: 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

2014-11-09 07:58 +0000 [r427642]  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

2014-11-09 00:37 +0000 [r427582-427614]  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

	* 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

	* 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/

2014-11-08 17:30 +0000 [r427555]  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

2014-11-06 19:21 +0000 [r427493-427508]  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/

	* main/bridge_channel.c, include/asterisk/bridge_channel.h: 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/

2014-11-06 18:20 +0000 [r427490]  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/

2014-11-06 12:12 +0000 [r427382-427465]  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

	* 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/

	* /, 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

2014-11-06 02:34 +0000 [r427329-427355]  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

	* /: Recorded merge of revisions 427328 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ 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/

2014-11-05 12:16 +0000 [r427300]  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/

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

	* include/asterisk/utils.h, main/utils.c, pbx/pbx_config.c,
	  main/config.c, tests/test_strings.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/

	* 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/

2014-11-04 19:37 +0000 [r427200-427203]  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/

	* 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/

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

	* Asterisk 12.7.0 Released.

2014-11-07  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.7.0-rc2 Released.

2014-11-06 09:05 +0000 [r427382]  Corey Farrell <git@cfware.com>

	* 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/

2014-11-03  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.7.0-rc1 Released.

2014-11-03 17:54 +0000 [r427129]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip.c, configs/pjsip.conf.sample,
	  res/res_pjsip/config_system.c, UPGRADE.txt: 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/

2014-11-03 02:33 +0000 [r427020-427088]  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

	* apps/app_voicemail.c, /, main/app.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

	* /, 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

2014-11-02 01:01 +0000 [r426995]  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.

2014-10-31 16:46 +0000 [r426933]  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

2014-10-31 16:33 +0000 [r426923-426928]  Scott Griepentrog <sgriepentrog@digium.com>

	* configs/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

	* 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)

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

	* channels/sip/include/reqresp_parser.h, /,
	  channels/sip/reqresp_parser.c: 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

2014-10-31 03:06 +0000 [r426806-426832]  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

	* 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

2014-10-30 21:12 +0000 [r426755-426779]  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

	* 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/

2014-10-30 09:18 +0000 [r426696]  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

2014-10-30 06:02 +0000 [r426667]  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

2014-10-30 01:58 +0000 [r426596-426601]  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

	* 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

2014-10-28 21:16 +0000 [r426531]  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.

2014-10-28 20:55 +0000 [r426524-426528]  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

	* 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/

2014-10-28 18:08 +0000 [r426458]  mdavenport <mdavenport@localhost>:

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

2014-10-28 16:40 +0000 [r426367-426431]  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

	* 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

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

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

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

2014-10-28 11:19 +0000 [r426260]  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

2014-10-27 02:45 +0000 [r426142-426210]  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

	* 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!)

	* /, 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

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

	* UPGRADE.txt, res/res_xmpp.c, res/res_jabber.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)

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

	* configure.ac, makeopts.in, Makefile, configure: 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/

2014-10-19 03:58 +0000 [r425921-425943]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_sdp_rtp.c: res/res_pjsip_sdp_rtp: Undo 425921 This
	  patch for r425921 introduced a different 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,
	  particularly in 12: (1) The format capabilities structures and
	  how they are used are a bit harder to manipulate than they are in
	  13 (2) 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: Check joint caps
	  when looking to decline outgoing media When constructing an
	  outgoing media stream for an SDP offer/answer, the current code
	  checks the override preferences (set by the PJSIP_MEDIA_OFFER
	  function) as well as what is configured on the endpoint to
	  determine if a codec is available for the media stream.
	  Unfortunately, this isn't good enough: we must also look at the
	  negotiated (joint) format capabilities. Otherwise, we'll
	  construct a media stream offer/answer with no codecs. Note that
	  this isn't an issue in 13, which already looks at the joint
	  capabilities thanks to the media re-work done there.

2014-10-17 13:32 +0000 [r425820-425868]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip.c, res/res_pjsip_session.c,
	  res/res_pjsip_sdp_rtp.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

	* /, 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

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

	* main/channel.c, main/core_unreal.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/

2014-10-17 01:55 +0000 [r425735-425760]  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

	* 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.

	* 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

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

	* tests/test_config.c, main/config.c, include/asterisk/config.h:
	  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/

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

	* 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_registrar_expire.c, res/res_pjsip_t38.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_exten_state.c, res/res_pjsip_session.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_xpidf_body_generator.c,
	  res/res_pjsip_dialog_info_body_generator.c,
	  res/res_pjsip_pidf_eyebeam_body_supplement.c,
	  channels/chan_pjsip.c, res/res_pjsip_registrar.c,
	  res/res_pjsip_transport_websocket.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/

2014-10-16 06:07 +0000 [r425668]  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

2014-10-16 01:25 +0000 [r425645]  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

2014-10-15 09:45 +0000 [r425589]  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

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

	* main/config.c, include/asterisk/config.h, tests/test_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/

2014-10-14 18:49 +0000 [r425503]  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/

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

	* include/asterisk/phoneprov.h, res/res_pjsip_phoneprov_provider.c,
	  res/res_phoneprov.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/

2014-10-14 16:45 +0000 [r425458]  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

2014-10-14 16:24 +0000 [r425430]  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/

2014-10-14 16:18 +0000 [r425411]  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

2014-10-13 16:07 +0000 [r425383]  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/

2014-10-12 21:08 +0000 [r425361]  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

2014-10-12 08:14 +0000 [r425288-425298]  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

	* /, 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

	* /, 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

2014-10-11 21:07 +0000 [r425264]  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/

2014-10-10 20:47 +0000 [r425242]  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/

2014-10-10 14:30 +0000 [r425220]  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.

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

	* res/res_pjsip_phoneprov_provider.c: res_pjsip_phoneprov_provider:
	  Add missing dependency on pjproject.

2014-10-10 12:58 +0000 [r425154]  Kinsey Moore <kmoore@digium.com>

	* main/callerid.c, /, tests/test_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

2014-10-10 12:09 +0000 [r425131]  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

2014-10-10 07:27 +0000 [r425070]  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

2014-10-09 21:28 +0000 [r425030]  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 425029 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

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

	* configs/pjsip.conf.sample, res/res_pjsip_phoneprov_provider.c
	  (added): 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/

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

	* res/res_phoneprov.c: res/res_phoneprov: Don't cancel Asterisk
	  load on module load failure

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

	* main/chanvars.c, res/res_phoneprov.exports.in (added),
	  configs/phoneprov.conf.sample, include/asterisk/phoneprov.h
	  (added), include/asterisk/chanvars.h, res/res_phoneprov.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/

2014-10-09 16:34 +0000 [r424941]  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.

2014-10-09 08:07 +0000 [r424879]  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

2014-10-08 18:45 +0000 [r424853]  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

2014-10-07 17:40 +0000 [r424691-424730]  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

	* /, 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

2014-10-06 15:36 +0000 [r424668]  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/

2014-10-06 12:37 +0000 [r424618-424646]  Matthew Jordan <mjordan@digium.com>

	* main/sdp_srtp.c: sdp_srtp: Add new lines to some WARNING messages

	* 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

	* 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

	* 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

2014-10-05 00:45 +0000 [r424551-424579]  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

	* /, channels/chan_sip.c: chan_sip: Clean leak on error path of
	  process_sdp Resolve leak in process_sdp that occurs in 2 error
	  path's where crypto lines are expected but not provided.
	  ASTERISK-24385 #close Reported by: Corey Farrell Review:
	  https://reviewboard.asterisk.org/r/4045/ ........ Merged
	  revisions 424569 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, 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

2014-10-03 21:51 +0000 [r424471-424528]  Richard Mudgett <rmudgett@digium.com>

	* UPGRADE.txt, res/res_pjsip.c: res_pjsip: Fix XML typo and update
	  UPGRADE.txt. ASTERISK-24199

	* 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/

	* 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, channels/chan_sip.c,
	  include/asterisk/taskprocessor.h,
	  res/res_pjsip_session.exports.in, 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: 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/

2014-10-03 15:53 +0000 [r424447]  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/

2014-10-03 13:57 +0000 [r424423-424426]  Kinsey Moore <kmoore@digium.com>

	* configs/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.

	* 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/

2014-10-03 07:52 +0000 [r424414]  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.

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

	* res/res_pjsip.c, res/res_pjsip/config_transport.c,
	  configs/pjsip.conf.sample: 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/

2014-10-02 19:58 +0000 [r424372]  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/

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

	* configs/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/

2014-10-01 20:30 +0000 [r424312]  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/

2014-10-01 16:35 +0000 [r424287-424290]  Joshua Colp <jcolp@digium.com>

	* configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
	  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

	* res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Accept DTLS
	  attributes in top level, not just media session. #SIPit31

2014-10-01 12:24 +0000 [r424244-424263]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip/location.c, configs/pjsip.conf.sample,
	  res/res_pjsip_endpoint_identifier_ip.c,
	  res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/config_transport.c: 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/

	* 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/

2014-10-01 10:09 +0000 [r424178-424183]  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

	* /, 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

2014-09-30 11:39 +0000 [r424152-424155]  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

	* /, 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

2014-09-29 21:58 +0000 [r424128]  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/

2014-09-29 21:25 +0000 [r424125]  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

2014-09-29 21:16 +0000 [r424096-424103]  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.

	* 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.

2014-09-27 12:42 +0000 [r424056]  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/

2014-09-26 15:19 +0000 [r423987]  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

2014-09-26 08:24 +0000 [r423917]  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

2014-09-25 21:00 +0000 [r423894]  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.

2014-09-24 18:28 +0000 [r423866]  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/

2014-09-24 08:52 +0000 [r423802]  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

2014-09-22 19:47 +0000 [r423659-423722]  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

	* 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

2014-09-20 23:54 +0000 [r423617-423620]  Matthew Jordan <mjordan@digium.com>

	* 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

	* 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/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: 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

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

	* Asterisk 12.6.0 Released.

2014-09-19  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.6.0-rc1 Released.

2014-09-19 19:50 +0000 [r423579]  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

2014-09-19 15:10 +0000 [r423525]  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/

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

	* res/res_pjsip_t38.c, include/asterisk/framehook.h,
	  main/framehook.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/

2014-09-18 19:29 +0000 [r423481]  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

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

	* main/utils.c, include/asterisk/strings.h, tests/test_strings.c:
	  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/

2014-09-18 16:44 +0000 [r423417]  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/

2014-09-18 16:39 +0000 [r423416]  Richard Mudgett <rmudgett@digium.com>

	* 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

2014-09-18 16:20 +0000 [r423344-423365]  Mark Michelson <mmichelson@digium.com>

	* /, 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

	* res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_pidf_body_generator.c, 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_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

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

	* res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip/config_transport.c, include/asterisk/res_pjsip.h,
	  res/res_pjsip/config_auth.c, res/res_pjsip/location.c,
	  res/res_pjsip_endpoint_identifier_ip.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/

	* main/config.c, main/manager.c, /, include/asterisk/config.h:
	  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

2014-09-17 18:04 +0000 [r423151-423254]  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

	* 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

	* /, 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

	* res/res_pjsip_session.c: res_pjsip_session: Fix usage of wrong
	  memory pool when creating local SDP.

	* /, 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

2014-09-15 10:45 +0000 [r423068-423128]  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.

	* configs/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

2014-09-12 16:01 +0000 [r422984]  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/

2014-09-11 22:16 +0000 [r422964]  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.

2014-09-10 16:02 +0000 [r422904]  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

2014-09-10 15:58 +0000 [r422899]  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.

2014-09-07 00:09 +0000 [r422791]  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

2014-09-06 22:48 +0000 [r422766-422769]  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.

	* 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.

2014-09-06 19:11 +0000 [r422746]  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.

2014-09-05 22:02 +0000 [r422715-422718]  Matthew Jordan <mjordan@digium.com>

	* apps/app_stack.c, main/cdr.c, apps/app_macro.c,
	  include/asterisk/channel.h: 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

	* 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

2014-09-05 17:46 +0000 [r422626-422664]  Jonathan Rose <jrose@digium.com>

	* 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/

	* /, 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

2014-09-03 14:03 +0000 [r422557]  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

2014-09-02 18:16 +0000 [r422536]  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

2014-09-01 14:16 +0000 [r422503-422506]  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.

	* 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

2014-08-30 17:28 +0000 [r422441-422444]  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/

	* 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

2014-08-29 19:39 +0000 [r422295-422378]  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

	* /, 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

	* /, 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

2014-08-28 20:29 +0000 [r422275]  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

2014-08-28 17:19 +0000 [r422214-422255]  Richard Mudgett <rmudgett@digium.com>

	* UPGRADE.txt: Added ConfBridge AMI event note to UPGRADE.txt.

	* 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().

2014-08-27 17:21 +0000 [r422176]  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/

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

	* main/callerid.c, main/utils.c, res/res_pjsip_caller_id.c,
	  include/asterisk/utils.h, /, channels/chan_sip.c,
	  tests/test_callerid.c (added), tests/test_utils.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/ ........
	  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

2014-08-26 23:18 +0000 [r422090]  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/

2014-08-26 22:08 +0000 [r422070]  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

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

	* 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

2014-08-24 19:34 +0000 [r421910-421955]  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

	* 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.

	* 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.

	* /, 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

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

	* 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,
	  res/res_stasis_answer.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/

2014-08-22 13:50 +0000 [r421859]  Matthew Jordan <mjordan@digium.com>

	* main/message.c: main/message: Add a new-line to a DEBUG message

2014-08-21 22:05 +0000 [r421801]  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

2014-08-21 21:42 +0000 [r421789-421796]  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

	* 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

	* res/res_pjsip_caller_id.c: Let's try checking the name and
	  number, instead of the name twice.

2014-08-21 21:15 +0000 [r421779]  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

2014-08-21 21:14 +0000 [r421778]  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.

2014-08-21 17:33 +0000 [r421677-421719]  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

	* 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

	* main/dns.c, res/stasis/messaging.h: 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)

2014-08-20 22:19 +0000 [r421608]  Richard Mudgett <rmudgett@digium.com>

	* /, 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

2014-08-20 20:02 +0000 [r421565]  Mark Michelson <mmichelson@digium.com>

	* 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.

2014-08-20 12:56 +0000 [r421537]  Kinsey Moore <kmoore@digium.com>

	* main/stasis_bridges.c, res/ari/ari_model_validators.h,
	  rest-api/api-docs/events.json, res/stasis/app.c, main/bridge.c,
	  include/asterisk/stasis_bridges.h, tests/test_cel.c,
	  res/ari/ari_model_validators.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/

2014-08-19 20:27 +0000 [r421447-421485]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip.c: Alter documentation for callerid_privacy to use
	  correct values.

	* res/res_stasis.c: Fix compilation error on certain versions of
	  GCC.

2014-08-19 19:41 +0000 [r421444]  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

2014-08-19 16:20 +0000 [r421416]  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)

2014-08-19 16:06 +0000 [r421400]  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/

2014-08-18 20:17 +0000 [r421329]  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

2014-08-17 23:28 +0000 [r421229-421270]  Matthew Jordan <mjordan@digium.com>

	* 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

	* 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

	* /, 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

2014-08-15 16:56 +0000 [r421186]  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/

2014-08-15 15:41 +0000 [r421037-421165]  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

	* 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

	* /, 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

	* 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.

2014-08-14 16:30 +0000 [r420956-421009]  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/

	* res/res_pjsip_send_to_voicemail.c: res_pjsip_send_to_voicemail.c:
	  Fix svn file properties.

2014-08-13 16:47 +0000 [r420949]  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.

2014-08-13 15:21 +0000 [r420934]  Jonathan Rose <jrose@digium.com>

	* 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, main/bridge_after.c,
	  main/channel_internal_api.c, include/asterisk/channel.h: 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/

2014-08-13 07:50 +0000 [r420898]  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 is a
	  backport of that fix to 11. That 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

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

	* res/stasis/command.c: res/stasis/command.c: Fix recent commit
	  using spaces instead of tabs.

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

	* Asterisk 12.5.0 Released.

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

	* Asterisk 12.5.0-rc1 Released.

2014-08-11 18:48 +0000 [r420805]  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, 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.

2014-08-11 18:45 +0000 [r420795-420802]  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

	* res/stasis/stasis_bridge.c, include/asterisk/stasis_app.h,
	  res/res_stasis.c, res/ari/resource_bridges.c: 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/

2014-08-11 10:37 +0000 [r420656-420716]  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

	* 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

2014-08-08 12:31 +0000 [r420533]  Matthew Jordan <mjordan@digium.com>

	* main/message.c: main/message: remove debug message

2014-08-08 02:51 +0000 [r420513]  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.

2014-08-07 21:48 +0000 [r420436]  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

2014-08-07 21:16 +0000 [r420408-420414]  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.

	* 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/

2014-08-07 19:43 +0000 [r420385-420387]  Mark Michelson <mmichelson@digium.com>

	* main/bridge.c: Ensure bridges exist when trying to determine
	  bridged parties when publishing transfer information.

	* res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_pidf_body_generator.c, main/bridge.c,
	  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:
	  Revert previous patch since it had some unreviewed content in it.

	* 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, main/bridge.c,
	  res/res_pjsip_mwi.c, res/res_pjsip_dialog_info_body_generator.c,
	  res/res_pjsip_xpidf_body_generator.c: Ensure bridges actually
	  exist when trying to determine the bridged peer.

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

	* res/ari/ari_model_validators.c, main/cel.c, apps/app_queue.c,
	  main/stasis_bridges.c, main/channel.c,
	  res/ari/ari_model_validators.h, include/asterisk/datastore.h,
	  tests/test_cel.c, 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, res/stasis/stasis_bridge.c,
	  main/bridge_basic.c, res/stasis/command.h,
	  include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h,
	  res/stasis/app.h, res/stasis/control.h: 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/

2014-08-06 21:47 +0000 [r420211-420262]  Richard Mudgett <rmudgett@digium.com>

	* main/format.c: Change comment.

	* 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,
	  contrib/ast-db-manage/voicemail/versions/39428242f7f5_increase_recording_column_size.py
	  (added): 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/

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

	* main/pbx.c, /, pbx/pbx_lua.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

2014-08-05 21:47 +0000 [r420089-420099]  Matthew Jordan <mjordan@digium.com>

	* res/stasis/messaging.c: stasis: Fix compilation issue with ao2
	  tagged objects

	* tests/test_message.c: test_message: Fix strict-aliasing
	  compilation issue

	* /: Remove automerge properties :-(

	* res/ari/resource_channels.c, res/res_stasis.c, main/message.c,
	  res/stasis/messaging.c (added), rest-api/api-docs/endpoints.json,
	  res/ari/resource_endpoints.c, rest-api/api-docs/events.json, /,
	  include/asterisk/vector.h, 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,
	  res/ari/ari_model_validators.c, include/asterisk/manager.h,
	  CHANGES, res/ari/ari_model_validators.h, main/json.c,
	  res/res_ari_endpoints.c, include/asterisk/message.h: 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

2014-08-05 19:12 +0000 [r420060]  Richard Mudgett <rmudgett@digium.com>

	* main/format.c, /: format.c: Add reason comments for the
	  format_list ordering. ........ Merged revisions 420054 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-08-04 19:45 +0000 [r419944]  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

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

	* /: Get rid of automerge properties

	* res/res_rtp_asterisk.c, main/rtp_engine.c, /, res/res_hep_rtcp.c
	  (added), CHANGES, channels/chan_pjsip.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

2014-07-29 10:52 +0000 [r419750-419764]  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/

	* res/res_pjsip_pidf_body_generator.c,
	  res/res_pjsip_xpidf_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/

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

	* main/channel.c, /, funcs/func_frame_trace.c, main/abstract_jb.c,
	  apps/app_speech_utils.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

2014-07-25 14:46 +0000 [r419565-419566]  Matthew Jordan <mjordan@digium.com>

	* CHANGES: Update CHANGES for r419565

	* res/res_stasis_recording.c, res/ari/ari_model_validators.c,
	  rest-api/api-docs/recordings.json,
	  res/ari/ari_model_validators.h: 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

2014-07-25 10:53 +0000 [r419536-419538]  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/

	* 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/

2014-07-24 17:57 +0000 [r419442]  Corey Farrell <git@cfware.com>

	* /, channels/chan_sip.c: chan_sip: sip_subscribe_mwi_destroy
	  should not call sip_destroy sip_subscribe_mwi_destroy calls
	  sip_destroy on the reference counted mwi->call. This results in
	  the fields of mwi->call being freed, but mwi->call itself it
	  leaked. If other code is still using mwi->call it can cause
	  problems. This change uses dialog_unref instead, to balance the
	  ref provided by sip_alloc(). ASTERISK-24087 #close Reported by:
	  Corey Farrell Review: https://reviewboard.asterisk.org/r/3834/
	  ........ Merged revisions 419440 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 419441 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-07-24 16:50 +0000 [r419376]  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

2014-07-23 16:45 +0000 [r419316-419318]  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.

	* res/res_pjsip_refer.c: res_pjsip_refer: remove stray debugging
	  line How'd those @ symbols get in there...

2014-07-23 13:58 +0000 [r419285]  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

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

	* 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,
	  include/asterisk/endpoints.h,
	  rest-api/api-docs/applications.json, include/asterisk/xmpp.h,
	  main/channel_internal_api.c, channels/chan_motif.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

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

	* addons/ooh323c/src/printHandler.c, tests/test_sorcery_realtime.c,
	  addons/ooh323c/src/ooq931.c, tests/test_json.c,
	  tests/test_astobj2_thrash.c, addons/chan_ooh323.c, /,
	  tests/test_abstract_jb.c, apps/app_meetme.c,
	  tests/test_optional_api.c, tests/test_logger.c,
	  tests/test_event.c, tests/test_format_api.c,
	  tests/test_hashtab_thrash.c, channels/chan_gtalk.c,
	  res/res_mwi_external_ami.c, res/res_jabber.c,
	  tests/test_sorcery.c, channels/chan_jingle.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

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

	* CHANGES, 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: 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

2014-07-18 21:24 +0000 [r418996-419019]  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().

	* 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/

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

	* funcs/func_audiohookinherit.c: func_audiohookinherit.c: Fixup
	  some XML documentation wording.

2014-07-18 16:01 +0000 [r418914]  Jonathan Rose <jrose@digium.com>

	* 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,
	  main/channel.c, funcs/func_audiohookinherit.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/

2014-07-17 22:17 +0000 [r418886]  Scott Griepentrog <sgriepentrog@digium.com>

	* 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/

2014-07-17 14:27 +0000 [r418810]  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.

2014-07-16 23:06 +0000 [r418787]  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.

2014-07-16 13:58 +0000 [r418756]  Matthew Jordan <mjordan@digium.com>

	* 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/res_pjsip/pjsip_configuration.c, CHANGES, res/res_pjsip.c:
	  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

2014-07-15 23:03 +0000 [r418715]  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.

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

	* 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. Review:
	  https://reviewboard.asterisk.org/r/3776/ ASTERISK-23985 #close
	  ........ Merged revisions 418713 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-07-15 17:45 +0000 [r418650]  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

2014-07-15 17:14 +0000 [r418636]  Scott Griepentrog <sgriepentrog@digium.com>

	* 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/

2014-07-14 14:46 +0000 [r418586]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/logger.h: logger.h: Extract DEBUG_ATLEAST() to
	  complement VERBOSITY_ATLEAST().

2014-07-13 21:55 +0000 [r418466-418506]  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

	* 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

2014-07-11 21:09 +0000 [r418396]  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/

2014-07-11 16:40 +0000 [r418369]  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

2014-07-10 15:35 +0000 [r418324]  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

2014-07-10 01:52 +0000 [r418225-418263]  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

	* res/stasis/stasis_bridge.c (added),
	  include/asterisk/bridge_channel.h, main/bridge_basic.c,
	  res/stasis/stasis_bridge.h (added), main/bridge_channel.c,
	  res/res_stasis.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/

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

	* Asterisk 12.4.0 Released.

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

	* Asterisk 12.4.0-rc1 Released.

2014-07-08 14:47 +0000 [r418172-418182]  Matthew Jordan <mjordan@digium.com>

	* 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,
	  rest-api/api-docs/playbacks.json, UPGRADE.txt,
	  rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
	  rest-api/resources.json: manager/ARI: Update version to
	  2.4.0/1.4.0; Update UPGRADE.txt

	* 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

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

	* res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c,
	  include/asterisk/res_pjsip_presence_xml.h,
	  include/asterisk/res_pjsip_body_generator_types.h,
	  res/res_pjsip_dialog_info_body_generator.c (added):
	  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/

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

	* res/ari/resource_channels.c, res/res_stasis.c, res/stasis/app.c,
	  include/asterisk/stasis_app.h: 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

2014-07-07 01:18 +0000 [r418066-418071]  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/

	* main/http.c: HTTP: Fix build for gcc 4.10

2014-07-03 22:06 +0000 [r417880-417958]  Richard Mudgett <rmudgett@digium.com>

	* UPGRADE.txt, channels/sig_pri.c, channels/sig_pri.h,
	  channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /:
	  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

	* res/res_ari.c, main/manager.c, res/ari/resource_channels.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

	* configs/http.conf.sample, include/asterisk/http.h, main/tcptls.c,
	  res/res_ari.c, main/manager.c, res/res_phoneprov.c, main/http.c,
	  UPGRADE.txt, include/asterisk/tcptls.h, res/res_http_post.c,
	  res/res_http_websocket.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/

2014-07-03 16:07 +0000 [r417878]  sgalarneau <sgalarneau@localhost>:

	* res/ari/resource_channels.h, rest-api/api-docs/events.json,
	  res/ari/resource_events.h, rest-api/api-docs/channels.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/

2014-07-03 11:26 +0000 [r417799]  Matthew Jordan <mjordan@digium.com>

	* /, 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

2014-07-01 14:40 +0000 [r417678-417705]  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.

	* main/sdp_srtp.c, res/res_pjsip_sdp_rtp.c,
	  res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
	  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,
	  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: 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/

2014-06-30 03:25 +0000 [r417589]  Matthew Jordan <mjordan@digium.com>

	* /, 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

2014-06-27 23:11 +0000 [r417565]  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.

2014-06-27 19:27 +0000 [r417483-417509]  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

	* 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

2014-06-27 13:48 +0000 [r417311-417460]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_pubsub.c, res/res_pjsip_registrar.c,
	  include/asterisk/res_pjsip.h,
	  res/res_pjsip_outbound_registration.c,
	  res/res_pjsip/pjsip_configuration.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/

	* 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

	* 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

	* 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

	* 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/ari/internal.h, configs/ari.conf.sample,
	  res/res_pjsip.c, res/res_http_websocket.c: 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

2014-06-26 10:05 +0000 [r417212-417250]  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

	* 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/

2014-06-23 18:49 +0000 [r417142]  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

2014-06-23 15:53 +0000 [r417119]  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().

2014-06-22 18:44 +0000 [r416995]  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

2014-06-20 23:16 +0000 [r416871-416931]  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

	* 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

2014-06-20 20:46 +0000 [r416849]  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/

2014-06-20 15:22 +0000 [r416737-416806]  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/

	* 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/

2014-06-19 19:35 +0000 [r416734]  Kinsey Moore <kmoore@digium.com>

	* channels/sip/reqresp_parser.c, main/logger.c, main/test.c, /,
	  main/bridge.c, res/parking/parking_tests.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

2014-06-19 16:03 +0000 [r416582-416669]  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

	* /, 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

2014-06-18 04:16 +0000 [r416557]  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)

2014-06-17 18:43 +0000 [r416442-416502]  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

	* res/res_pjsip_xpidf_body_generator.c,
	  res/res_pjsip_pidf_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.

2014-06-17 16:26 +0000 [r416441]  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

2014-06-16 09:02 +0000 [r416338]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* main/db.c, res/res_config_sqlite3.c, cdr/cdr_sqlite3_custom.c, /,
	  cel/cel_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

2014-06-16 02:39 +0000 [r416255-416318]  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.

	* 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.

	* 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.

	* 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

2014-06-13 18:16 +0000 [r416211]  Matthew Jordan <mjordan@digium.com>

	* main/channel.c, main/dial.c, main/manager.c,
	  include/asterisk/stasis_channels.h, 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: 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/

2014-06-13 13:10 +0000 [r416148-416152]  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

	* 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/

2014-06-13 05:13 +0000 [r416070]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_sip.c, main/http.c, include/asterisk/tcptls.h,
	  main/tcptls.c, main/manager.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

2014-06-12 21:17 +0000 [r416001]  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. ASTERISK-23764 Review:
	  https://reviewboard.asterisk.org/r/3610/ ........ Merged
	  revisions 415998 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 415999 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-06-12 20:13 +0000 [r415980]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip_pubsub.c: Fix build in devmode for GCC 4.10

2014-06-12 16:41 +0000 [r415896]  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

2014-06-12 15:50 +0000 [r415838]  Jonathan Rose <jrose@digium.com>

	* /, UPGRADE.txt: Correct UPGRADE.txt notes in r415825 The change
	  was marked against the wrong version of Asterisk. My apologies.
	  ........ Merged revisions 415837 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-06-12 15:41 +0000 [r415836]  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

2014-06-12 15:26 +0000 [r415832]  Jonathan Rose <jrose@digium.com>

	* UPGRADE.txt, apps/app_mixmonitor.c, /: 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

2014-06-12 14:38 +0000 [r415812]  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

2014-06-12 14:03 +0000 [r415794]  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

2014-06-12 11:33 +0000 [r415766]  Joshua Colp <jcolp@digium.com>

	* 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/res_pjsip.c,
	  res/res_pjsip_pubsub.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/

2014-06-12 07:47 +0000 [r415748]  Walter Doekes <walter+asterisk@wjd.nu>

	* contrib/scripts/safe_asterisk, Makefile, UPGRADE.txt:
	  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)

2014-06-11 22:54 +0000 [r415729]  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

2014-06-10 18:31 +0000 [r415678]  Kinsey Moore <kmoore@digium.com>

	* main/channel.c: Fix build in dev mode due to signed/unsigned
	  mismatch

2014-06-10 15:46 +0000 [r415658]  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/

2014-06-10 09:18 +0000 [r415602]  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

2014-06-09 20:20 +0000 [r415579]  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.

2014-06-09 12:08 +0000 [r415523]  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

2014-06-09 03:48 +0000 [r415465]  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

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

	* main/channel.c, main/pbx.c, main/framehook.c,
	  main/bridge_after.c, include/asterisk/channel.h,
	  bridges/bridge_native_rtp.c, main/bridge_channel.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/

2014-06-07 00:41 +0000 [r415427]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridge.h: bridge.h: Remove redundant struct
	  ast_bridge_channel forward declaration.

2014-06-06 21:35 +0000 [r415410]  Jonathan Rose <jrose@digium.com>

	* main/manager.c, /, channels/chan_sip.c,
	  include/asterisk/config.h, include/asterisk/manager.h,
	  main/config.c: 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

2014-06-06 19:08 +0000 [r415342]  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

2014-06-06 15:19 +0000 [r415336]  Richard Mudgett <rmudgett@digium.com>

	* utils: utils: Update svn:ignore for the new astobj2 split files.
	  v12 only

2014-06-06 14:08 +0000 [r415317-415318]  George Joseph <george.joseph@fairview5.com>

	* utils/Makefile: Update utils/Makefile so refcounter compiles post
	  astobj2 split. utils/refcounter was removed from trunk so this is
	  a 12-only patch to keep refcounter from failing to build.
	  https://reviewboard.asterisk.org/r/3576/

	* 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,
	  tests/test_astobj2.c: 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/

2014-06-06 12:48 +0000 [r415301]  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/

2014-06-05 17:51 +0000 [r415230]  Richard Mudgett <rmudgett@digium.com>

	* 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

2014-06-05 14:39 +0000 [r415207]  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

2014-06-05 11:55 +0000 [r415191]  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/

2014-06-04 20:14 +0000 [r415172]  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

2014-06-04 14:12 +0000 [r415115-415117]  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.

	* 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.

2014-06-04 07:23 +0000 [r415078]  Corey Farrell <git@cfware.com>

	* apps/app_confbridge.c, /, apps/confbridge/include/confbridge.h:
	  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

2014-06-03 07:34 +0000 [r414999]  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 ~ASTERISK-23582 #comment test
	  -ASTERISK-23582 #comment test2 X-ASTERISK-23582 #comment test3
	  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

2014-06-01 15:31 +0000 [r414975]  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/

2014-05-30 14:46 +0000 [r414948]  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

2014-05-30 12:39 +0000 [r414882-414934]  Matthew Jordan <mjordan@digium.com>

	* main/stasis_channels.c, 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: 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

	* /, 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

2014-05-29 18:44 +0000 [r414860]  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

2014-05-28 20:52 +0000 [r414780]  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.

2014-05-28 17:45 +0000 [r414763-414765]  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, UPGRADE.txt,
	  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.

	* 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.

2014-05-28 16:54 +0000 [r414747-414749]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip_t38.c, res/res_pjsip_session.c,
	  include/asterisk/res_pjsip_session.h: 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/

	* apps/app_agent_pool.c, CHANGES: 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/

2014-05-28 11:37 +0000 [r414695]  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

2014-05-28 09:43 +0000 [r414566-414678]  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

	* /, 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

	* 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

2014-05-25 02:30 +0000 [r414542]  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.

2014-05-23 17:35 +0000 [r414528]  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.

2014-05-23 14:35 +0000 [r414474]  Kinsey Moore <kmoore@digium.com>

	* main/event.c, res/res_pjsip/config_transport.c,
	  channels/chan_pjsip.c, res/parking/parking_bridge_features.c,
	  res/parking/parking_manager.c, res/res_pjsip_refer.c,
	  res/parking/parking_bridge.c, main/bridge.c,
	  res/res_pjsip_sdp_rtp.c: Fix signed/unsigned build warnings

2014-05-29  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.3.0 Released.

2014-05-28  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.3.0-rc2 Released.

	* 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.


	* 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

	* 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.

	* 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.

2014-05-22  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.3.0-rc1 Released.

2014-05-22 16:08 +0000 [r414405]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/stasis_channels.c, res/res_stasis.c,
	  main/manager_channels.c, main/stasis_endpoints.c,
	  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: 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/

2014-05-22 16:00 +0000 [r414404]  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

2014-05-22 15:44 +0000 [r414400]  Jonathan Rose <jrose@digium.com>

	* channels/chan_sip.c, main/parking.c, main/bridge.c,
	  main/bridge_basic.c, res/parking/parking_applications.c,
	  include/asterisk/parking.h, 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: 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/

2014-05-22 14:01 +0000 [r414330-414347]  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

	* main/event.c, main/stasis.c, include/asterisk/devicestate.h,
	  include/asterisk/event.h, main/stasis_message.c,
	  include/asterisk/event_defs.h, res/res_corosync.c,
	  include/asterisk/stasis.h, main/app.c, main/devicestate.c:
	  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

2014-05-21 22:17 +0000 [r414272]  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

2014-05-21 19:07 +0000 [r414216]  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 ASTEIRSK-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

2014-05-19 19:50 +0000 [r414195]  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/

2014-05-19 13:46 +0000 [r414154]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, /: chan_ooh323: fix h323_log full path name
	  * fix to use astlogdir option for h323_log file instead of
	  hardcoded ASTERISK-23754 #close Reported by: Igor Goncharovsky
	  Patches: ooh323_logger_patch.diff ........ Merged revisions
	  414152 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 414153 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-05-19 01:09 +0000 [r414122-414137]  Matthew Jordan <mjordan@digium.com>

	* main/framehook.c, 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:
	  Undo r414122 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/

2014-05-16 20:05 +0000 [r413993-414069]  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

	* /, 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

	* /, 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

2014-05-14 15:39 +0000 [r413896]  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

2014-05-13 18:01 +0000 [r413877]  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

2014-05-13 13:52 +0000 [r413789-413792]  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

	* 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

2014-05-13 00:25 +0000 [r413766-413771]  Richard Mudgett <rmudgett@digium.com>

	* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
	  channels/sig_pri.c: 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

	* channels/sig_pri.c: Fix compiler warning from GCC 4.10 fixup.

2014-05-12 22:23 +0000 [r413712]  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

2014-05-11 02:05 +0000 [r413650-413681]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  include/asterisk/framehook.h, main/channel.c, main/framehook.c,
	  main/bridge_basic.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/

	* main/framehook.c, main/bridge_basic.c,
	  include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  include/asterisk/framehook.h, main/channel.c: Undoing framehook
	  support. Issues were uncovered by Bamboo.

	* include/asterisk/channel.h, bridges/bridge_native_rtp.c,
	  include/asterisk/framehook.h, main/channel.c, main/framehook.c,
	  main/bridge_basic.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/

2014-05-09 23:13 +0000 [r413588-413597]  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

	* main/slinfactory.c, main/core_unreal.c, main/acl.c,
	  res/res_pjsip_t38.c, channels/sig_pri.c, channels/chan_jingle.c,
	  channels/chan_dahdi.c, channels/sig_analog.c,
	  include/asterisk/astobj.h, res/res_corosync.c,
	  res/res_stun_monitor.c, apps/app_sms.c, main/audiohook.c,
	  pbx/pbx_config.c, channels/iax2/firmware.c, apps/app_adsiprog.c,
	  channels/chan_sip.c, funcs/func_sysinfo.c, main/utils.c,
	  res/res_format_attr_h263.c, res/res_jabber.c,
	  res/res_http_websocket.c, res/res_pktccops.c, res/res_monitor.c,
	  main/file.c, res/res_pjsip/pjsip_configuration.c, main/adsi.c,
	  channels/sip/include/sip.h, cel/cel_pgsql.c, main/pbx.c,
	  res/res_calendar_icalendar.c, res/res_crypto.c, main/aoc.c,
	  channels/chan_gtalk.c, main/netsock.c, res/res_ari_model.c,
	  res/res_config_odbc.c, res/res_pjsip_outbound_registration.c,
	  main/event.c, funcs/func_iconv.c, apps/app_stack.c,
	  res/res_calendar.c, res/res_sorcery_config.c, main/frame.c,
	  main/parking.c, res/res_format_attr_h264.c, channels/chan_iax2.c,
	  apps/confbridge/conf_config_parser.c, funcs/func_hangupcause.c,
	  main/manager.c, formats/format_pcm.c, funcs/func_srv.c,
	  res/res_format_attr_silk.c, main/asterisk.c, main/xmldoc.c,
	  res/res_rtp_asterisk.c, main/format.c, main/ccss.c,
	  res/res_calendar_caldav.c, main/enum.c, main/config.c,
	  res/res_srtp.c, main/loader.c,
	  channels/pjsip/dialplan_functions.c, funcs/func_channel.c,
	  main/bucket.c, main/abstract_jb.c, res/res_stasis_recording.c,
	  apps/app_verbose.c, main/dsp.c, apps/app_voicemail.c,
	  main/stun.c, main/security_events.c, apps/app_festival.c,
	  res/res_timing_dahdi.c, main/devicestate.c, res/res_xmpp.c,
	  apps/app_getcpeid.c, main/cli.c, res/res_format_attr_celt.c,
	  main/manager_bridges.c, cel/cel_odbc.c, channels/chan_skinny.c,
	  funcs/func_frame_trace.c, main/callerid.c, pbx/pbx_dundi.c,
	  res/res_pjsip_pubsub.c, res/res_fax_spandsp.c,
	  channels/chan_mgcp.c, res/res_stasis_playback.c, /,
	  main/translate.c, cdr/cdr_adaptive_odbc.c, res/res_musiconhold.c,
	  pbx/dundi-parser.c, apps/app_queue.c, res/res_calendar_ews.c,
	  channels/iax2/parser.c, main/io.c, channels/chan_phone.c,
	  res/res_agi.c, channels/chan_motif.c, apps/app_minivm.c,
	  apps/app_dumpchan.c, main/logger.c, apps/app_confbridge.c,
	  channels/sip/config_parser.c, res/res_odbc.c,
	  main/manager_channels.c, main/udptl.c, apps/app_dial.c,
	  res/res_fax.c, funcs/func_env.c, bridges/bridge_softmix.c,
	  main/taskprocessor.c, res/res_stasis_snoop.c,
	  res/res_format_attr_opus.c, res/ael/pval.c, main/channel.c,
	  main/cdr.c, main/data.c, res/res_pjsip/location.c,
	  main/config_options.c, main/app.c, channels/chan_alsa.c,
	  main/stdtime/localtime.c, main/bridge_channel.c,
	  res/res_pjsip_registrar.c, main/sched.c, channels/chan_unistim.c,
	  main/rtp_engine.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

2014-05-09 16:35 +0000 [r413556]  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

2014-05-08 00:35 +0000 [r413487]  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

2014-05-07 20:58 +0000 [r413452-413454]  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

	* /, 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

2014-05-07 17:50 +0000 [r413306-413398]  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

	* 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.

	* 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)

	* 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

2014-05-02 20:35 +0000 [r413226-413282]  Mark Michelson <mmichelson@digium.com>

	* res/res_config_odbc.c: Correct variable traversal logic in
	  res_config_odbc's update_odbc function. Closes issue
	  ASTERISK-23675 Reported by Leando Dardini Patches:
	  asterisk-23675-odbc-linkedlist-traversal_12.diff uploaded by
	  Michael L. Young (license #5026)

	* 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

	* /, 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

2014-05-02 16:33 +0000 [r413210]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_sip.c, UPGRADE.txt, res/res_pjsip_refer.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/

2014-05-02 15:58 +0000 [r413196]  Jonathan Rose <jrose@digium.com>

	* CHANGES, res/parking/parking_bridge_features.c,
	  res/parking/parking_manager.c, res/parking/res_parking.h:
	  Parking: Add 'AnnounceChannel' argument to manager action 'Park'
	  (closes ASTERISK-23397) Reported by: Denis Review:
	  https://reviewboard.asterisk.org/r/3446/

2014-05-01 15:41 +0000 [r413173]  Mark Michelson <mmichelson@digium.com>

	* 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

2014-05-01 12:30 +0000 [r413159]  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/

2014-04-30 20:47 +0000 [r413142]  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

2014-04-30 20:38 +0000 [r413140]  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.

2014-04-30 13:06 +0000 [r413124]  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

2014-04-30 12:41 +0000 [r413117-413121]  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/

	* 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/

	* 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/

2014-04-29 15:09 +0000 [r413102]  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.

2014-04-29 11:19 +0000 [r413088]  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/

2014-04-28 20:01 +0000 [r413073]  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.

2014-04-25 17:48 +0000 [r413009]  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

2014-04-24 14:37 +0000 [r412992]  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/

2014-04-23 20:06 +0000 [r412976]  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/

2014-04-23 18:00 +0000 [r412924]  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

2014-04-22 10:09 +0000 [r412882]  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

2014-04-21 17:54 +0000 [r412823]  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

2014-04-21 16:15 +0000 [r412749]  Kinsey Moore <kmoore@digium.com>

	* main/manager.c, /, main/http.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

2014-04-21 16:05 +0000 [r412747]  Jonathan Rose <jrose@digium.com>

	* /, 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

2014-04-21 14:57 +0000 [r412728-412730]  Kinsey Moore <kmoore@digium.com>

	* 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

	* 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

2014-04-21 08:31 +0000 [r412713]  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

2014-04-19 02:13 +0000 [r412657-412698]  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

	* /, 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

2014-04-18 20:26 +0000 [r412639-412653]  Jonathan Rose <jrose@digium.com>

	* 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, 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: ARI: Remove unnecessary \briefs from
	  automatically generated documentation Review:
	  https://reviewboard.asterisk.org/r/3440/

	* 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,
	  res/ari/resource_bridges.h, res/stasis/control.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/

2014-04-18 17:16 +0000 [r412587]  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

2014-04-18 16:39 +0000 [r412582]  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

2014-04-18 16:38 +0000 [r412579-412581]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_originate.c, include/asterisk/pbx.h, main/dial.c,
	  main/pbx.c: 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/

	* 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/

2014-04-18 14:21 +0000 [r412565]  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.

2014-04-17 22:49 +0000 [r412551]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
	  res/res_pjsip_registrar.c, res/res_pjsip/location.c,
	  res/res_pjsip/pjsip_configuration.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/

2014-04-17 22:42 +0000 [r412535-412549]  Jonathan Rose <jrose@digium.com>

	* main/app.c: Fix a silly shadowed variable mistake that was missed
	  from play tones patch

	* 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,
	  res/ari/resource_bridges.h: 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/

2014-04-17 20:24 +0000 [r412483]  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

2014-04-17 15:16 +0000 [r412453]  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/

2014-04-16 19:13 +0000 [r412439]  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

2014-04-15 18:27 +0000 [r412383-412413]  Richard Mudgett <rmudgett@digium.com>

	* res/res_parking.c, main/rtp_engine.c, main/stasis_channels.c,
	  main/features_config.c: Eliminate some more unnecessary
	  RAII_VAR() uses. RAII_VAR() is not a hammer appropriate to pound
	  all nails.

	* 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, main/pbx.c,
	  res/res_ari.c, res/res_stasis_playback.c, res/stasis/app.c,
	  res/res_fax.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.

	* 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/

	* /, 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

2014-04-15 15:58 +0000 [r412330]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c, configs/sip.conf.sample: 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

2014-04-14 15:53 +0000 [r412306]  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

2014-04-11 21:41 +0000 [r412227]  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

2014-04-11 12:35 +0000 [r412193]  Kinsey Moore <kmoore@digium.com>

	* res/ari/resource_bridges.c, main/bridge.c, main/bridge_basic.c,
	  include/asterisk/stasis_bridges.h, tests/test_cel.c,
	  apps/app_confbridge.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

2014-04-11 02:48 +0000 [r412088-412153]  Matthew Jordan <mjordan@digium.com>

	* build_tools/cflags.xml, /, channels/chan_sip.c,
	  channels/sip/security_events.c, include/asterisk/astobj2.h,
	  main/astobj2.c, contrib/scripts/refcounter.py (added),
	  main/asterisk.c: 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. 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

	* 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.

2014-04-10 21:07 +0000 [r412074]  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.

2014-04-09 20:32 +0000 [r412048]  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)

2014-04-09 18:16 +0000 [r412034]  Kinsey Moore <kmoore@digium.com>

	* res/res_stasis_answer.c: res_stasis_answer: Add missing newlines

2014-04-08 21:23 +0000 [r411945-411985]  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

	* 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

	* 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

2014-04-08 14:48 +0000 [r411927]  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

2014-04-07 20:39 +0000 [r411883]  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.

2014-04-07 16:02 +0000 [r411868]  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/

2014-04-07 14:55 +0000 [r411809-411811]  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

	* configs/res_odbc.conf.sample, /, UPGRADE.txt: configs: Clean up
	  long line and typo in res_odbc.conf.sample. ........ Merged
	  revisions 411807 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411808 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-04-07 14:28 +0000 [r411790-411804]  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.

	* 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.

2014-04-04 19:02 +0000 [r411701-411717]  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:
	  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(). 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

	* main/stasis_cache.c, main/utils.c, res/res_musiconhold.c,
	  main/channel.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/

2014-04-04 15:11 +0000 [r411687]  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.

2014-04-03 11:57 +0000 [r411670]  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/

2014-04-03 11:43 +0000 [r411668]  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.

2014-04-01 22:41 +0000 [r411636-411638]  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.

	* main/stasis_channels.c: stasis_channels.c: Eliminate another
	  overuse of RAII_VAR().

2014-04-01 16:51 +0000 [r411586]  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

2014-04-23  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.2.0 Released.

2014-04-21  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.2.0-rc3 Released.

	* 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.

	* 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.

2014-04-14  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.2.0-rc2 Released.

	* 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

	* 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.

	* 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.

	* 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.

	* 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.

	* 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.

2014-03-28  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.2.0-rc1 Released.

2014-03-28 18:09 +0000 [r411534]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/res_hep.h (added), res/res_hep_pjsip.c (added),
	  res/res_hep.exports.in (added), CHANGES, configs/hep.conf.sample
	  (added), 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/

2014-03-28 17:52 +0000 [r411532]  Alexandr Anikin <may@telecom-service.ru>

	* addons/ooh323c/src/oochannels.c,
	  addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c,
	  addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c,
	  addons/chan_ooh323.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

2014-03-28 17:35 +0000 [r411529]  Matthew Jordan <mjordan@digium.com>

	* rest-api/api-docs/applications.json,
	  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: 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

2014-03-28 17:08 +0000 [r411514]  Mark Michelson <mmichelson@digium.com>

	* 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.

2014-03-28 16:48 +0000 [r411512]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_odbc.exports.in, UPGRADE.txt, res/res_odbc.c,
	  configs/res_odbc.conf.sample, include/asterisk/res_odbc.h,
	  res/res_config_odbc.c: res_config_odbc/res_odbc: Fix handling of
	  non-text columns updates with empty values. 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.
	  This patch also adds a compatibility setting in res_odbc.conf,
	  allow_empty_string_in_nontext. It is enabled by default. It
	  should be disabled for database backends (such as PostgreSQL)
	  that require NULL instead of an empty string for Integer columns.
	  Review: https://reviewboard.asterisk.org/r/3375 (issue
	  ASTERISK-23459) Reported by: zvision patches:
	  res_config_odbc.diff uploaded by zvision (License 5755) ........
	  Merged revisions 411399 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 411408 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-03-28 16:17 +0000 [r411465]  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

2014-03-28 16:00 +0000 [r411374-411461]  Matthew Jordan <mjordan@digium.com>

	* /: Remove block on 411408

	* /, 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

	* 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.

	* 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

2014-03-27 19:15 +0000 [r411311-411315]  Corey Farrell <git@cfware.com>

	* main/message.c, apps/app_jack.c, funcs/func_dialplan.c,
	  channels/chan_sip.c, funcs/func_math.c,
	  funcs/func_jitterbuffer.c, res/res_mutestream.c,
	  funcs/func_global.c, apps/app_speech_utils.c,
	  res/res_pjsip_header_funcs.c, funcs/func_callcompletion.c,
	  funcs/func_blacklist.c, funcs/func_cdr.c, funcs/func_channel.c,
	  apps/app_stack.c, funcs/func_callerid.c, res/res_calendar.c,
	  apps/app_voicemail.c, funcs/func_speex.c, /,
	  funcs/func_strings.c, res/res_xmpp.c, res/res_jabber.c,
	  main/features_config.c, channels/chan_iax2.c,
	  apps/confbridge/conf_config_parser.c,
	  channels/pjsip/dialplan_functions.c, funcs/func_groupcount.c,
	  funcs/func_pitchshift.c, funcs/func_odbc.c, funcs/func_volume.c,
	  funcs/func_frame_trace.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

	* include/asterisk.h, /, main/format.c: 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

2014-03-27 14:20 +0000 [r411295]  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

2014-03-26 22:44 +0000 [r411245]  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

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

	* configs/sip.conf.sample, /, channels/chan_sip.c: 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

2014-03-26 16:03 +0000 [r411191]  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.

2014-03-25 18:43 +0000 [r411173]  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/

2014-03-25 17:52 +0000 [r411157-411159]  Mark Michelson <mmichelson@digium.com>

	* tests/test_sorcery.c, tests/test_sorcery_realtime.c,
	  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:
	  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

	* 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.

2014-03-25 16:55 +0000 [r411141]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/res_pjsip.h, res/res_pjsip/pjsip_options.c,
	  res/res_pjsip.c: 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/

2014-03-25 16:04 +0000 [r411091]  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

2014-03-25 15:44 +0000 [r411086]  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/

2014-03-24 21:38 +0000 [r411023]  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

2014-03-21 16:01 +0000 [r410995]  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'.

2014-03-20 22:54 +0000 [r410966]  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

2014-03-20 16:27 +0000 [r410949]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/channel.h, res/ari/resource_channels.c,
	  res/res_stasis_snoop.c, include/asterisk/rtp_engine.h,
	  main/dial.c, main/manager.c, main/channel_internal_api.c,
	  main/core_unreal.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/

2014-03-19 17:26 +0000 [r410933]  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.

2014-03-19 14:24 +0000 [r410904-410918]  Joshua Colp <jcolp@digium.com>

	* res/res_stasis.c: res_stasis: Fix a bug where the default bridge
	  type was not set.

	* 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/

2014-03-19 02:29 +0000 [r410890]  Matthew Jordan <mjordan@digium.com>

	* res/res_ari.c: res_ari: Fix documentation schema error

2014-03-18 23:31 +0000 [r410876]  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

2014-03-18 15:28 +0000 [r410861]  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.

2014-03-18 14:51 +0000 [r410858]  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/

2014-03-18 12:45 +0000 [r410844]  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!

2014-03-18 11:51 +0000 [r410830]  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

2014-03-18 02:02 +0000 [r410813]  Richard Mudgett <rmudgett@digium.com>

	* main/stasis_cache.c: stasis_cache: Use the right variable in the
	  cache entry ao2 cmp function.

2014-03-17 22:53 +0000 [r410793-410795]  Joshua Colp <jcolp@digium.com>

	* CHANGES, res/res_pjsip/include/res_pjsip_private.h,
	  res/res_pjsip.c, main/dns.c, res/res_pjsip/config_system.c,
	  include/asterisk/dns.h: 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/

	* 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/

2014-03-17 21:56 +0000 [r410747-410750]  Russ Meyerriecks <rmeyerreicks@digium.com>

	* /, main/callerid.c: !fixup: callerid: Logic error in checksum
	  processing Fixes syntax error in previous commit :-( ........
	  Merged revisions 410748 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 410749 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* 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) ........ Merged revisions 410710
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 410717 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-03-17 18:36 +0000 [r410673-410696]  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.

	* 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,
	  bridges/bridge_softmix.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

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

	* apps/confbridge/conf_chan_announce.c: app_confbridge: Add missing
	  destructor call to announcer channel destructor.

2014-03-16 20:20 +0000 [r410650]  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)

2014-03-14 21:55 +0000 [r410625]  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.

2014-03-14 21:28 +0000 [r410623]  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

2014-03-14 20:53 +0000 [r410590-410607]  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

	* 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

	* 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

2014-03-14 17:56 +0000 [r410588]  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/

2014-03-14 16:26 +0000 [r410574]  Jonathan Rose <jrose@digium.com>

	* CHANGES, res/res_pjsip/config_transport.c,
	  include/asterisk/acl.h, main/acl.c,
	  res/res_pjsip/pjsip_configuration.c: 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/

2014-03-14 16:11 +0000 [r410559]  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

2014-03-14 16:05 +0000 [r410558]  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/

2014-03-14 15:55 +0000 [r410541-410555]  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/

	* 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.

2014-03-13 19:30 +0000 [r410527]  Kinsey Moore <kmoore@digium.com>

	* res/stasis/control.c, res/stasis/control.h, res/res_stasis.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/

2014-03-13 13:24 +0000 [r410509-410510]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_multihomed.c: res_pjsip_multihomed: Remove change
	  for testing fix.

	* res/res_pjsip_multihomed.c: res_pjsip_multihomed: Fix a bug where
	  the 200 OK for a REGISTER would contain the wrong contact.

2014-03-12 19:05 +0000 [r410491-410493]  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/

	* 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

2014-03-12 12:50 +0000 [r410451-410471]  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.

	* 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/

2014-03-10 17:16 +0000 [r410383]  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

2014-03-10 16:32 +0000 [r410368]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/manager.c, res/ari/resource_channels.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.

2014-03-10 13:25 +0000 [r410329]  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

2014-03-10 12:52 +0000 [r410306]  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

2014-03-08 16:41 +0000 [r410287]  George Joseph <george.joseph@fairview5.com>

	* res/res_pjsip/config_transport.c, main/sorcery.c,
	  include/asterisk/res_pjsip.h, 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:
	  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/

2014-03-08 15:43 +0000 [r410274]  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.

2014-03-07 22:53 +0000 [r410226]  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

2014-03-07 22:07 +0000 [r410211]  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.

2014-03-07 21:53 +0000 [r410194-410209]  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

	* 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.

2014-03-07 21:10 +0000 [r410190]  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/

2014-03-07 21:03 +0000 [r410187]  Mark Michelson <mmichelson@digium.com>

	* tests/test_sorcery_realtime.c, main/sorcery.c,
	  res/res_sorcery_realtime.c, include/asterisk/sorcery.h: 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

2014-03-07 20:28 +0000 [r410171-410184]  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/

	* 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)

2014-03-07 15:46 +0000 [r410157]  Scott Griepentrog <sgriepentrog@digium.com>

	* addons/chan_mobile.c, main/bridge_channel.c,
	  channels/chan_pjsip.c, channels/chan_mgcp.c,
	  channels/chan_unistim.c, res/res_calendar_icalendar.c,
	  main/pbx.c, channels/chan_bridge_media.c, main/ccss.c,
	  main/bridge.c, tests/test_stasis_channels.c,
	  apps/app_originate.c, apps/app_bridgewait.c,
	  res/parking/parking_applications.c, include/asterisk/channel.h,
	  res/res_calendar_caldav.c, apps/app_queue.c, apps/app_followme.c,
	  main/cel.c, res/res_ari_channels.c,
	  rest-api/api-docs/bridges.json, res/res_calendar_ews.c,
	  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,
	  include/asterisk/core_unreal.h, res/res_calendar.c,
	  addons/chan_ooh323.c, channels/chan_sip.c, res/stasis/control.c,
	  main/channel_internal_api.c, include/asterisk/stasis_app.h,
	  channels/chan_console.c, res/res_stasis_snoop.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, tests/test_cdr.c,
	  res/res_clioriginate.c, res/res_ari_bridges.c,
	  tests/test_substitution.c, channels/chan_multicast_rtp.c,
	  res/res_stasis_playback.c, apps/app_meetme.c,
	  apps/confbridge/conf_chan_record.c, tests/test_app.c,
	  include/asterisk/channel_internal.h, main/bridge_basic.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,
	  include/asterisk/pbx.h, res/ari/resource_channels.c,
	  res/res_stasis.c, include/asterisk/bridge.h,
	  res/ari/resource_channels.h, apps/app_voicemail.c,
	  apps/app_dial.c, res/res_calendar_exchange.c,
	  channels/chan_vpb.cc, apps/app_page.c, apps/app_chanisavail.c,
	  main/core_local.c, include/asterisk/dial.h,
	  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:
	  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/

2014-03-07 04:51 +0000 [r410107]  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

2014-03-06 23:40 +0000 [r410090]  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

2014-03-06 23:35 +0000 [r410089]  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().

2014-03-06 18:50 +0000 [r410028]  Jonathan Rose <jrose@digium.com>

	* 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,
	  include/asterisk/acl.h: 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/

2014-03-06 18:18 +0000 [r410025]  Joshua Colp <jcolp@digium.com>

	* res/res_stasis_recording.c, 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_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/

2014-03-06 15:43 +0000 [r410011]  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.

2014-03-06 15:13 +0000 [r410006]  George Joseph <george.joseph@fairview5.com>

	* 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, res/res_pjsip/config_auth.c,
	  funcs/func_sorcery.c (added), res/res_pjsip/location.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 02:05 +0000 [r409991]  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

2014-03-06 00:32 +0000 [r409967-409976]  Richard Mudgett <rmudgett@digium.com>

	* apps/confbridge/conf_state_inactive.c,
	  apps/confbridge/conf_state_multi.c: app_confbridge: Remove some
	  noop code.

	* res/res_musiconhold.c: res_musiconhold.c: Remove some unnecessary
	  RAII_VAR() usage. * Made the moh_register() define use useful
	  parameter names.

2014-03-05 20:40 +0000 [r409900-409918]  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

	* 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

2014-03-05 18:46 +0000 [r409887]  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

2014-03-05 18:40 +0000 [r409885]  Richard Mudgett <rmudgett@digium.com>

	* contrib/ast-db-manage/cdr/versions (added),
	  contrib/ast-db-manage/cdr/versions/210693f3123d_create_cdr_table.py
	  (added),
	  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 (added),
	  contrib/ast-db-manage/cdr (added),
	  contrib/ast-db-manage/cdr/script.py.mako (added): 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/

2014-03-05 16:57 +0000 [r409835]  David M. Lee <dlee@digium.com>

	* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
	  main/config.c: 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

2014-03-05 12:05 +0000 [r409779]  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

2014-03-05 06:30 +0000 [r409746-409762]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Correct RTP handling in chan_unistim
	  and fix transfer process broken in previous fix: - Fixed too
	  early RTP setup with phone, that cause no ringback tone on caller
	  side - Handle call transfer cancel only in STATE_CALL case
	  (related to ASTERISK-23073) (Reported by: Németh Tamás, niurkin
	  sil) ........ Merged revisions 409761 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* 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 04:59 +0000 [r409697-409704]  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
	  ........ Merged revisions 409703 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* 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

2014-03-05 00:55 +0000 [r409682]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/stasis_internal.h: stasis: Made
	  internal_stasis_subscribe() prototype and definition match
	  exactly.

2014-03-04 19:34 +0000 [r409626]  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

2014-03-04 17:07 +0000 [r409570]  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

2014-03-04 16:53 +0000 [r409568]  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

2014-03-04 14:54 +0000 [r409474]  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

2014-03-03 19:44 +0000 [r409422]  Joshua Colp <jcolp@digium.com>

	* res/res_stasis_recording.c: res_stasis_recording: Fix memory leak
	  of the absolute name.

2014-03-03 02:08 +0000 [r409363]  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

2014-03-02 15:14 +0000 [r409346]  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

2014-03-01 20:27 +0000 [r409287]  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.

2014-03-01 00:04 +0000 [r409256-409274]  Richard Mudgett <rmudgett@digium.com>

	* main/devicestate.c: devicestate.c: Simplified some logic in
	  _ast_device_state().

	* main/stasis_cache.c: stasis_cache.c: Remove some unnecessary
	  RAII_VAR() usage.

	* 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().

	* /, 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

2014-02-28 21:24 +0000 [r409234]  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.

2014-02-28 18:02 +0000 [r409158]  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

2014-02-27 19:42 +0000 [r409131]  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

2014-02-27 16:25 +0000 [r409087]  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

2014-02-27 16:05 +0000 [r409054]  Corey Farrell <git@cfware.com>

	* res/res_fax.c, configs/res_fax.conf.sample, /: res_fax: Warn that
	  minrate=2400 is not valid for V.27 instead of failing load.
	  Change minrate from 2400 to 4800 on config reload in response to
	  changes from ASTERISK-22790 only. Any config with minrate of 2400
	  that would fail before r405693 will still fail. 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

2014-02-27 12:28 +0000 [r408999]  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/

2014-02-26 23:33 +0000 [r408983]  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().

2014-02-26 19:00 +0000 [r408970]  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/

2014-02-26 17:03 +0000 [r408957]  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/

2014-02-26 13:46 +0000 [r408941-408943]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/res_pjsip_session.h: PJSIP: Fix some bad spacing

	* 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

2014-02-25 17:50 +0000 [r408880-408882]  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/

	* 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/

2014-02-25 17:43 +0000 [r408878]  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

2014-02-22 19:56 +0000 [r408855]  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

2014-02-22 17:57 +0000 [r408839]  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

2014-02-22 02:29 +0000 [r408787]  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

2014-02-21 18:34 +0000 [r408730]  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

2014-02-21 18:17 +0000 [r408711-408715]  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.

	* res/res_stasis_recording.c, main/stasis_channels.c,
	  res/res_sorcery_astdb.c, include/asterisk/json.h, main/sorcery.c,
	  res/ari/resource_endpoints.c, apps/app_meetme.c, res/res_fax.c:
	  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().

	* 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.

2014-02-21 16:20 +0000 [r408644-408649]  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

	* 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

2014-02-21 10:42 +0000 [r408591]  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

2014-02-21 00:49 +0000 [r408538]  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

2014-02-20 21:09 +0000 [r408518-408522]  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/

	* 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/

	* 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, include/asterisk/sorcery.h:
	  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/

2014-02-20 19:02 +0000 [r408502]  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.

2014-02-20 02:43 +0000 [r408449]  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

2014-02-19 19:07 +0000 [r408385-408389]  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

	* 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/

2014-02-19 12:00 +0000 [r408314-408331]  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

	* 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

2014-02-18 19:18 +0000 [r408297]  Richard Mudgett <rmudgett@digium.com>

	* 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,
	  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: alembic: Add svn:ignore
	  *.pyc to directories and svn:executable to *.py files.

2014-02-17 15:21 +0000 [r408270]  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.

2014-02-16 03:23 +0000 [r408194-408220]  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

	* 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

2014-02-14 21:44 +0000 [r408138-408140]  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)

	* 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

2014-02-14 13:29 +0000 [r408085]  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

2014-02-14 12:39 +0000 [r408069]  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/

2014-02-13 18:50 +0000 [r407988-408005]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_mwi.c, res/res_pjsip_pubsub.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

	* 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.

2014-02-12 08:18 +0000 [r407968]  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/

2014-02-11 03:16 +0000 [r407937]  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/

2014-02-10 16:43 +0000 [r407875]  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

2014-02-10 15:54 +0000 [r407858]  Kinsey Moore <kmoore@digium.com>

	* 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,
	  apps/app_confbridge.c: 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

2014-02-07 20:48 +0000 [r407766]  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

2014-02-07 20:09 +0000 [r407747-407750]  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

	* 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.

2014-02-07 18:18 +0000 [r407729]  Richard Mudgett <rmudgett@digium.com>

	* configs/iax.conf.sample, /, channels/chan_iax2.c,
	  include/asterisk/frame.h: 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

2014-02-07 16:46 +0000 [r407676]  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.

2014-02-07 13:13 +0000 [r407624]  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

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

	* Asterisk 12.1.0 Released.

2014-03-01  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.1.0-rc3 Released.

	* 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

2013-02-27  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.1.0-rc2 Released.

	* 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/

	* res_fax: Warn that minrate=2400 is not valid for V.27 instead of
	  failing load.

	  Change minrate from 2400 to 4800 on config reload in response to
	  changes from ASTERISK-22790 only.  Any config with minrate of
	  2400 that would fail before r405693 will still fail.

	  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/

	* 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

	* 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.

	* 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

	* 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.

	* 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.

2013-02-06  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.1.0-rc1 Released.

2014-02-06 20:06 +0000 [r407589]  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.

2014-02-06 19:57 +0000 [r407587]  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/

2014-02-06 17:54 +0000 [r407572]  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.

2014-02-06 17:06 +0000 [r407568]  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/

2014-02-06 16:53 +0000 [r407567]  Mark Michelson <mmichelson@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.

2014-02-05 23:03 +0000 [r407513]  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

2014-02-05 20:55 +0000 [r407461]  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.

2014-02-05 20:43 +0000 [r407458]  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

2014-02-05 19:41 +0000 [r407442]  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

2014-02-05 17:27 +0000 [r407423]  Kinsey Moore <kmoore@digium.com>

	* UPGRADE.txt: UPGRADE: Note change in behavior for device state
	  subscriptions

2014-02-05 17:12 +0000 [r407419]  Jonathan Rose <jrose@digium.com>

	* CHANGES: CHANGES: Update changes log to include new bridge fields
	  added in r404042

2014-02-05 14:22 +0000 [r407389-407402]  Matthew Jordan <mjordan@digium.com>

	* 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,
	  rest-api/api-docs/playbacks.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.

	* 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.

2014-02-04 20:08 +0000 [r407274-407339]  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

	* 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/

	* 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

2014-02-04 16:54 +0000 [r407259]  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)

2014-02-04 02:21 +0000 [r407213]  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

2014-02-04 02:04 +0000 [r407197]  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)

2014-02-03 01:14 +0000 [r407166]  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.

2014-02-01 16:23 +0000 [r407153]  Joshua Colp <jcolp@digium.com>

	* res/ari/ari_model_validators.c, res/res_stasis.c,
	  main/stasis_bridges.c, res/ari/ari_model_validators.h,
	  rest-api/api-docs/events.json, res/stasis/app.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/

2014-02-01 00:24 +0000 [r407104]  coreyfarrell <coreyfarrell@localhost>:

	* /, 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

2014-01-31 23:40 +0000 [r407082-407084]  Matthew Jordan <mjordan@digium.com>

	* main/manager_channels.c, apps/app_dial.c, main/cdr.c, main/pbx.c,
	  main/bridge_after.c, UPGRADE.txt: 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

	* 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

2014-01-31 23:14 +0000 [r407034-407036]  Kevin Harwell <kharwell@digium.com>

	* contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py
	  (added), configs/pjsip.conf.sample, UPGRADE.txt,
	  res/res_pjsip_logger.c, CHANGES, res/res_pjsip.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c:
	  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/

	* 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

2014-01-31 22:38 +0000 [r407031]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/res_pjsip_presence_xml.h (added): Add file that
	  apparently got missed in the merge.

2014-01-31 22:17 +0000 [r407019]  Kevin Harwell <kharwell@digium.com>

	* UPGRADE.txt,
	  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:
	  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/

2014-01-31 22:11 +0000 [r407016]  Mark Michelson <mmichelson@digium.com>

	* 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,
	  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: 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

2014-01-31 22:05 +0000 [r407014]  Kevin Harwell <kharwell@digium.com>

	* 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/

2014-01-31 15:01 +0000 [r407000]  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

2014-01-31 05:28 +0000 [r406987]  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.

2014-01-30 20:34 +0000 [r406935]  coreyfarrell <coreyfarrell@localhost>:

	* 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

2014-01-30 17:33 +0000 [r406919]  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

2014-01-29 00:42 +0000 [r406862]  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

2014-01-28 23:35 +0000 [r406788-406847]  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

	* 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

	* 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)

2014-01-28 19:13 +0000 [r406775]  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

2014-01-28 16:41 +0000 [r406723]  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

2014-01-28 00:11 +0000 [r406707]  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.

2014-01-27 20:36 +0000 [r406574-406645]  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

	* main/channel.c, /, main/file.c, include/asterisk/channel.h:
	  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

2014-01-26 23:03 +0000 [r406516]  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

2014-01-26 02:10 +0000 [r406489]  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/

2014-01-24 23:29 +0000 [r406401-406465]  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

	* 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

2014-01-24 21:25 +0000 [r406389]  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

2014-01-24 18:04 +0000 [r406342]  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

2014-01-23 23:41 +0000 [r406327]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pidf.c: Today is not my day for writing code that
	  compiles.

2014-01-23 22:54 +0000 [r406311]  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)

2014-01-23 21:09 +0000 [r406294-406295]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pidf.c: 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.

	* res/res_pjsip_pidf.c: 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.

2014-01-22 22:23 +0000 [r406264]  Scott Griepentrog <sgriepentrog@digium.com>

	* utils/extconf.c, main/pbx.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

2014-01-22 19:34 +0000 [r406152-406223]  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

	* /, 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

	* 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

2014-01-21 21:47 +0000 [r406133]  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.

2014-01-21 21:06 +0000 [r406081]  Walter Doekes <walter+asterisk@wjd.nu>

	* configs/manager.conf.sample, main/manager.c, /: 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

2014-01-21 20:20 +0000 [r406003-406049]  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

	* 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.

	* rest-api-templates/ari_resource.h.mustache,
	  res/res_ari_device_states.c, res/res_ari_mailboxes.c,
	  res/res_ari_asterisk.c,
	  rest-api-templates/res_ari_resource.c.mustache,
	  res/res_ari_applications.c,
	  rest-api-templates/body_parsing.mustache (added),
	  res/res_ari_channels.c, res/ari/resource_playbacks.h,
	  rest-api-templates/param_parsing.mustache,
	  res/ari/resource_sounds.h, res/ari/resource_bridges.h,
	  res/ari/resource_device_states.h, res/ari/resource_mailboxes.h,
	  rest-api/api-docs/channels.json, res/ari/resource_asterisk.h,
	  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: 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

2014-01-20 23:18 +0000 [r405982]  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.

2014-01-20 22:15 +0000 [r405928]  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

2014-01-20 21:53 +0000 [r405924]  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.

2014-01-20 18:07 +0000 [r405908]  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/

2014-01-18 23:57 +0000 [r405893]  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.

2014-01-17 22:05 +0000 [r405877]  Sean Bright <sean@malleable.com>

	* channels/chan_sip.c: Make sure the maxptime attribute is added to
	  the correct offers.

2014-01-17 21:32 +0000 [r405861-405875]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/frame.c, include/asterisk/format_pref.h,
	  res/res_pjsip_sdp_rtp.c, main/format_pref.c, main/sorcery.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/

	* 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/

2014-01-17 18:54 +0000 [r405777-405843]  Rusty Newton <rnewton@digium.com>

	* res/res_pjsip.c: Fixing some XML syntax issues with my previous
	  commit at r405777 for ASTERISK-23071

	* /, 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

	* 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

2014-01-16 20:05 +0000 [r405746-405748]  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/

	* 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

2014-01-16 19:32 +0000 [r405743]  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

2014-01-16 19:06 +0000 [r405643-405694]  Kevin Harwell <kharwell@digium.com>

	* /, res/res_fax.c, configs/res_fax.conf.sample, UPGRADE.txt:
	  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

	* 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/

2014-01-15 16:48 +0000 [r405585-405587]  Jonathan Rose <jrose@digium.com>

	* CHANGES: Remove subversion conflict tag accidentally left in
	  CHANGES

	* CHANGES: Include CHANGES info for r405553

2014-01-15 16:36 +0000 [r405583]  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

2014-01-15 13:14 +0000 [r405565]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip_messaging.c, UPGRADE.txt, res/res_pjsip_t38.c,
	  res/res_pjsip_caller_id.c, CHANGES,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip.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, 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:
	  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/

2014-01-14 23:26 +0000 [r405553]  Jonathan Rose <jrose@digium.com>

	* rest-api/resources.json, res/ari/ari_model_validators.c,
	  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): 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/

2014-01-14 21:44 +0000 [r405541]  Richard Mudgett <rmudgett@digium.com>

	* main/strings.c: string container: Remove unnecessary RAII_VAR
	  usage and string object lock.

2014-01-14 18:13 +0000 [r405435]  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

2014-01-14 18:03 +0000 [r405432]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/logger.h, main/pbx.c, main/manager.c, /,
	  funcs/func_timeout.c, apps/app_dumpchan.c, main/logger.c,
	  UPGRADE.txt, apps/app_verbose.c, main/asterisk.c,
	  configs/logger.conf.sample, main/cli.c: 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

2014-01-14 03:12 +0000 [r405367]  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.

2014-01-13 17:09 +0000 [r405350]  Jonathan Rose <jrose@digium.com>

	* res/res_pjsip_session.c: PJSIP: Backport r405270 - Unhold on
	  reinvite without SDP Adds behavior to unhold on a reinvite
	  without an SDP section Review:
	  https://reviewboard.asterisk.org/r/3106/

2014-01-13 13:28 +0000 [r405338]  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

2014-01-12 22:23 +0000 [r405325]  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/

2014-01-12 21:58 +0000 [r405311-405312]  Matthew Jordan <mjordan@digium.com>

	* funcs/func_cdr.c, include/asterisk/cdr.h, apps/app_cdr.c,
	  main/cdr.c, apps/app_forkcdr.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/

	* 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/

2014-01-10 19:39 +0000 [r405298]  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

2014-01-10 18:00 +0000 [r405282]  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

2014-01-09 23:45 +0000 [r405268]  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.

2014-01-09 23:36 +0000 [r405266]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_messaging.c, res/res_pjsip.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/

2014-01-09 20:25 +0000 [r405253]  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

2014-01-09 16:51 +0000 [r405235]  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

2014-01-09 15:49 +0000 [r405216]  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/ (closes issue AST-1258)
	  Reported by: Steve Pitts ........ Merged revisions 405215 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2014-01-09 14:14 +0000 [r405162]  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

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

	* res/res_pjsip/security_events.c: Use proper case for checking if
	  digest authentication is used.

2014-01-08 16:28 +0000 [r405083-405124]  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

	* /, 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

2014-01-07 19:55 +0000 [r405019-405034]  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.

	* 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

2014-01-06 21:54 +0000 [r404952-405006]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_voicemail.c: app_voicemail: Explicitly set
	  defaultenabled=yes

	* 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/

	* apps/app_voicemail.c, res/res_mwi_external.c (added),
	  configs/sorcery.conf.sample, include/asterisk/res_mwi_external.h
	  (added), res/res_mwi_external.exports.in (added): 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/

2014-01-05 16:00 +0000 [r404923-404935]  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.

	* 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

2014-01-04 10:42 +0000 [r404911]  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

2014-01-03 21:59 +0000 [r404859]  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

2014-01-03 21:45 +0000 [r404843-404855]  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.

	* 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

2014-01-03 19:00 +0000 [r404781-404786]  Kevin Harwell <kharwell@digium.com>

	* 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

	* /, 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

2014-01-03 18:24 +0000 [r404764]  Richard Mudgett <rmudgett@digium.com>

	* tests/test_stasis.c: test_stasis.c: Fix ref leak in normal
	  execution path.

2014-01-03 17:25 +0000 [r404725-404737]  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.

	* 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

2014-01-02 19:37 +0000 [r404676]  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

2014-01-02 19:06 +0000 [r404663]  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/

2013-12-31 22:49 +0000 [r404613-404652]  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

	* 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

2013-12-31 21:38 +0000 [r404605]  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

2013-12-31 20:26 +0000 [r404592]  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

2013-12-30 23:21 +0000 [r404581]  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

2013-12-24 17:10 +0000 [r404565-404568]  David M. Lee <dlee@digium.com>

	* UPGRADE.txt: Added note to UPGRADE.txt about the default value of
	  live_dangerously changing

	* 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/

2013-12-24 02:19 +0000 [r404553]  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

2013-12-21 03:34 +0000 [r404531]  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.

2013-12-20 22:02 +0000 [r404509]  David M. Lee <dlee@digium.com>

	* res/ari/resource_channels.h, rest-api/api-docs/applications.json,
	  rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c: 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

2013-12-20  Asterisk Development Team <asteriskteam@digium.com>

	* Asterisk 12.0.0 Released.

2013-12-20 22:02 +0000 [r404509]  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

2013-12-20 21:25 +0000 [r404480-404488]  Matthew Jordan <mjordan@digium.com>

	* /: Remove automerge properties

	* 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,
	  include/asterisk/config.h, main/config.c, main/channel.c,
	  res/res_pjsip/location.c, include/asterisk/res_pjsip_cli.h
	  (added): 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)

2013-12-20 21:16 +0000 [r404458]  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

2013-12-20 20:11 +0000 [r404439]  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.

2013-12-20 20:04 +0000 [r404437]  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".

2013-12-20 19:52 +0000 [r404434]  Richard Mudgett <rmudgett@digium.com>

	* res/res_pjsip/location.c, tests/test_cel.c,
	  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:
	  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/

2013-12-20 19:17 +0000 [r404421]  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.

2013-12-20 19:06 +0000 [r404419]  Richard Mudgett <rmudgett@digium.com>

	* main/sounds_index.c: Whitespace fixes.

2013-12-20 17:21 +0000 [r404405]  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/

2013-12-19 18:15 +0000 [r404375]  Richard Mudgett <rmudgett@digium.com>

	* CHANGES: Put notice in CHANGES as well as UPGRADE.txt.

2013-12-19 17:58 +0000 [r404369-404371]  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.

	* 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.

2013-12-19 17:15 +0000 [r404356]  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

2013-12-19 17:03 +0000 [r404354]  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/

2013-12-19 17:02 +0000 [r404352]  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

2013-12-19 16:37 +0000 [r404348]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.h, channels/chan_h323.c, main/app.c,
	  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, UPGRADE.txt, res/res_xmpp.c,
	  configs/skinny.conf.sample, res/res_jabber.c, CHANGES,
	  channels/chan_iax2.c, channels/h323/chan_h323.h,
	  channels/sig_pri.c, configs/iax.conf.sample, channels/sig_pri.h,
	  include/asterisk/app.h, channels/chan_dahdi.c,
	  channels/chan_skinny.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/

2013-12-19 16:31 +0000 [r404345]  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

2013-12-19 12:17 +0000 [r404332]  Joshua Colp <jcolp@digium.com>

	* main/channel.c: channel: Add a missing ast_channel_unlock when
	  allocating a Surrogate channel.

2013-12-19 08:19 +0000 [r404320]  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

2013-12-19 02:53 +0000 [r404306]  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.

2013-12-19 00:47 +0000 [r404294]  Matthew Jordan <mjordan@digium.com>

	* apps/app_cdr.c, main/cdr.c, apps/app_forkcdr.c, main/pbx.c,
	  funcs/func_cdr.c, apps/app_disa.c, UPGRADE.txt,
	  include/asterisk/cdr.h, CHANGES: 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/

2013-12-19 00:29 +0000 [r404292]  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.

2013-12-18 22:50 +0000 [r404279]  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

2013-12-18 20:57 +0000 [r404263]  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

2013-12-18 20:46 +0000 [r404237-404261]  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

	* main/pickup.c, include/asterisk/aoc.h,
	  include/asterisk/stasis_bridges.h, apps/app_disa.c,
	  apps/app_userevent.c, include/asterisk/channelstate.h,
	  channels/chan_console.c, 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,
	  pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
	  main/bridge_channel.c, addons/chan_mobile.c,
	  res/parking/parking_manager.c, channels/chan_pjsip.c,
	  tests/test_cdr.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, main/cel.c,
	  apps/app_queue.c, channels/sig_pri.c, main/stasis_bridges.c,
	  channels/chan_jingle.c, main/dial.c, channels/chan_dahdi.c,
	  channels/chan_phone.c, include/asterisk/stasis_channels.h,
	  channels/sig_analog.c, 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: 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

2013-12-18 19:20 +0000 [r404204]  Joshua Colp <jcolp@digium.com>

	* main/channel.c, channels/chan_dahdi.c, channels/chan_phone.c,
	  channels/chan_skinny.c, res/parking/parking_tests.c,
	  tests/test_voicemail_api.c, channels/chan_motif.c,
	  channels/chan_alsa.c, main/message.c, addons/chan_mobile.c,
	  tests/test_cdr.c, channels/chan_mgcp.c, main/pbx.c,
	  channels/chan_sip.c, tests/test_app.c,
	  apps/confbridge/conf_chan_record.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, apps/app_voicemail.c, res/res_calendar.c,
	  channels/chan_unistim.c, tests/test_substitution.c,
	  addons/chan_ooh323.c, channels/chan_vpb.cc,
	  channels/chan_multicast_rtp.c, apps/app_meetme.c,
	  res/res_stasis_snoop.c, channels/chan_gtalk.c,
	  channels/chan_iax2.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/

2013-12-18 12:36 +0000 [r404184]  Matthew Jordan <mjordan@digium.com>

	* 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,
	  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: ari: Bump the version of ARI to 1.0.0
	  (closes issue ASTERISK-23007)

2013-12-18 12:00 +0000 [r404137]  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

2013-12-18 00:35 +0000 [r404099]  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

2013-12-18 00:16 +0000 [r404050]  Matthew Jordan <mjordan@digium.com>

	* LICENSE: LICENSE: Update language to include ARI

2013-12-17 23:50 +0000 [r404048]  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.

2013-12-17 23:36 +0000 [r404046]  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)

2013-12-17 23:17 +0000 [r404042]  Jonathan Rose <jrose@digium.com>

	* 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,
	  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: 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/

2013-12-17 18:34 +0000 [r404027-404029]  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.

	* 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/

2013-12-17 14:33 +0000 [r404006]  David M. Lee <dlee@digium.com>

	* configs/asterisk.conf.sample, main/asterisk.c: Changed the
	  default for live_dangerously to no

2013-12-17 12:51 +0000 [r403993]  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

2013-12-16 18:31 +0000 [r403959]  David M. Lee <dlee@digium.com>

	* UPGRADE.txt, 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: 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

2013-12-16 18:22 +0000 [r403957]  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)

2013-12-16 16:11 +0000 [r403856-403864]  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

	* 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

2013-12-15 01:38 +0000 [r403823]  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.

2013-12-14 17:25 +0000 [r403808-403811]  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/

	* 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/

2013-12-13 21:24 +0000 [r403796]  Jonathan Rose <jrose@digium.com>

	* res/res_pjsip_messaging.c, main/message.c: documentation: Add
	  PJSIP technology to messaging documentation

2013-12-13 20:06 +0000 [r403782]  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.

2013-12-13 20:04 +0000 [r403781]  Jonathan Rose <jrose@digium.com>

	* include/asterisk/bridge.h, res/parking/parking_bridge_features.c,
	  res/parking/parking_manager.c, main/bridge.c,
	  main/bridge_basic.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/

2013-12-13 19:55 +0000 [r403779-403780]  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. ........ Merged revisions
	  403726 from http://svn.asterisk.org/svn/asterisk/trunk

	* main/app.c, apps/app_voicemail.c, include/asterisk/app.h,
	  include/asterisk/doxyref.h: 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. ........ Merged revisions 403643 from
	  http://svn.asterisk.org/svn/asterisk/trunk

2013-12-13 18:24 +0000 [r403749-403767]  Kevin Harwell <kharwell@digium.com>

	* channels/chan_sip.c, include/asterisk/channel.h,
	  bridges/bridge_native_rtp.c, channels/chan_pjsip.c,
	  main/channel.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)

	* main/http.c, rest-api/api-docs/channels.json,
	  res/ari/resource_channels.c, res/res_ari_channels.c,
	  res/ari/resource_channels.h: 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/

	* 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,
	  res/res_stasis_answer.c, rest-api/api-docs/bridges.json,
	  res/ari/resource_bridges.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/

2013-12-13 16:27 +0000 [r403748]  David M. Lee <dlee@digium.com>

	* channels/pjsip: Setting svn:ignore

2013-12-13 05:00 +0000 [r403736]  Matthew Jordan <mjordan@digium.com>

	* channels/Makefile: channels/Makefile: clean pjsip directory

2013-12-12 19:44 +0000 [r403713]  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/

2013-12-12 19:12 +0000 [r403705]  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

2013-12-11 20:11 +0000 [r403680]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip/pjsip_configuration.c, res/res_pjsip_messaging.c,
	  res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
	  configs/pjsip.conf.sample: 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/

2013-12-11 19:18 +0000 [r403639]  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

2013-12-11 13:05 +0000 [r403616-403618]  Matthew Jordan <mjordan@digium.com>

	* funcs/func_channel.c, channels/pjsip/include (added),
	  channels/pjsip/include/dialplan_functions.h (added),
	  res/res_pjsip_t38.c, channels/pjsip/include/chan_pjsip.h (added),
	  channels/Makefile, channels/chan_pjsip.c, main/xmldoc.c,
	  channels/pjsip/dialplan_functions.c (added),
	  include/asterisk/res_pjsip_session.h, channels/pjsip (added):
	  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/

	* 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

2013-12-09 22:47 +0000 [r403587]  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/

2013-12-09 19:23 +0000 [r403545-403559]  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 '^'.

	* 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().

2013-12-09 18:31 +0000 [r403542]  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

2013-12-09 18:31 +0000 [r403527-403541]  Richard Mudgett <rmudgett@digium.com>

	* 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.

	* main/sorcery.c: sorcery: Whitespace You would think that a new
	  file would start off without any whitespace oddities.

2013-12-09 16:40 +0000 [r403510]  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

2013-12-09 03:19 +0000 [r403435-403458]  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

	* 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.

2013-12-05 20:49 +0000 [r403398]  David M. Lee <dlee@digium.com>

	* main/core_unreal.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,
	  include/asterisk/stasis_channels.h, channels/sig_analog.c,
	  channels/chan_motif.c, res/res_agi.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_disa.c,
	  apps/app_userevent.c, main/core_local.c, channels/chan_console.c,
	  include/asterisk/channelstate.h, 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,
	  channels/chan_alsa.c, pbx/pbx_realtime.c, main/stasis_channels.c,
	  channels/chan_nbs.c, main/bridge_channel.c, addons/chan_mobile.c,
	  channels/chan_pjsip.c, tests/test_cdr.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: Reverting r403311. It's causing
	  ARI tests to hang.

2013-12-04 21:41 +0000 [r403377]  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

2013-12-04 20:53 +0000 [r403364]  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".

2013-12-04 18:40 +0000 [r403349]  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.

2013-12-03 20:17 +0000 [r403342]  David M. Lee <dlee@digium.com>

	* 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.

2013-12-03 17:59 +0000 [r403329]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c, configure,
	  include/asterisk/autoconfig.h.in, configure.ac:
	  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.

2013-12-03 17:23 +0000 [r403324]  Richard Mudgett <rmudgett@digium.com>

	* main/bucket.c, 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:
	  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.

2013-12-03 16:37 +0000 [r403312]  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.

2013-12-03 16:33 +0000 [r403311]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/stasis_bridges.h, apps/app_disa.c,
	  apps/app_userevent.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,
	  channels/chan_alsa.c, pbx/pbx_realtime.c, main/stasis_channels.c,
	  channels/chan_nbs.c, main/bridge_channel.c, addons/chan_mobile.c,
	  channels/chan_pjsip.c, tests/test_cdr.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,
	  main/core_unreal.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,
	  include/asterisk/stasis_channels.h, channels/sig_analog.c,
	  channels/chan_motif.c, res/res_agi.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, main/pickup.c,
	  channels/chan_sip.c, include/asterisk/aoc.h: 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.

2013-12-03 16:32 +0000 [r403310]  Joshua Colp <jcolp@digium.com>

	* res/res_ari.c: 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.

2013-12-02 18:34 +0000 [r403304]  David M. Lee <dlee@digium.com>

	* res/res_ari.c: Fixed the filename for the ari.conf docs

2013-12-02 18:03 +0000 [r403290-403291]  Alexandr Anikin <may@telecom-service.ru>

	* /: remove unwanted property svn:mergeinfo

	* /, 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

2013-12-01 21:12 +0000 [r403256-403271]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c: res_pjsip_session: Apply fromuser and
	  fromdomain to all requests as documented.

	* 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.

	* res/res_pjsip_transport_websocket.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip/location.c,
	  res/res_pjsip/security_events.c, res/res_pjsip/pjsip_options.c,
	  res/res_pjsip.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/

2013-11-30 14:11 +0000 [r403240]  Joshua Colp <jcolp@digium.com>

	* res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
	  rest-api/api-docs/events.json: res_ari: Add Recording events to
	  the validator.

2013-11-28 02:12 +0000 [r403179-403223]  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

	* 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

	* 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/

	* 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/

	* 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

2013-11-27 15:36 +0000 [r403175]  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 [r403160-403173]  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

	* 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.

2013-11-23 17:38 +0000 [r403131-403134]  Kevin Harwell <kharwell@digium.com>

	* 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, res/ari.make,
	  rest-api/api-docs/applications.json,
	  include/asterisk/stasis_app_device_state.h (added),
	  res/ari/resource_device_states.h (added),
	  res/ari/resource_applications.h, res/res_stasis.c,
	  include/asterisk/devicestate.h,
	  res/res_stasis_device_state.exports.in (added),
	  rest-api/api-docs/events.json, res/res_ari_device_states.c
	  (added), res/stasis/app.c: 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/

	* 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, include/asterisk/sorcery.h,
	  res/res_pjsip/pjsip_configuration.c, include/asterisk/strings.h,
	  res/res_pjsip_pubsub.c,
	  res/res_pjsip/include/res_pjsip_private.h,
	  res/res_pjsip/config_transport.c, 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_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/

2013-11-23 12:51 +0000 [r403117-403119]  Joshua Colp <jcolp@digium.com>

	* res/ari/ari_model_validators.h, 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: 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/

	* main/audiohook.c, res/ari/resource_channels.c,
	  res/res_stasis_snoop.c (added), res/res_ari_channels.c,
	  res/ari/resource_channels.h, res/res_stasis_snoop.exports.in
	  (added), include/asterisk/stasis_app_snoop.h (added),
	  rest-api/api-docs/channels.json: 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/

2013-11-22 23:44 +0000 [r403094]  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.

2013-11-22 22:24 +0000 [r403082]  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.

2013-11-22 20:01 +0000 [r403069]  Kinsey Moore <kmoore@digium.com>

	* 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_app.h,
	  include/asterisk/stasis.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,
	  res/res_stasis.c: 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

2013-11-22 17:19 +0000 [r403022]  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/

2013-11-22 17:11 +0000 [r403016]  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

2013-11-21 22:35 +0000 [r402981-402993]  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

	* 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.

2013-11-21 19:21 +0000 [r402968]  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!)

2013-11-21 19:08 +0000 [r402944-402956]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/app.h: voicemail: Fixup some doxygen comments.

	* main/bucket.c: bucket: Fix scheme ref leak in
	  __ast_bucket_scheme_register().

2013-11-21 17:52 +0000 [r402940-402941]  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.

	* 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).

2013-11-21 15:55 +0000 [r402926]  David M. Lee <dlee@digium.com>

	* res/stasis/control.c, 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: 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/

2013-11-19 23:17 +0000 [r402891]  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

2013-11-16 13:44 +0000 [r402864]  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

2013-11-15 14:35 +0000 [r402838]  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

2013-11-14 15:01 +0000 [r402817]  David M. Lee <dlee@digium.com>

	* res/res_stasis.c: stasis: Fixed scoping problem with bridge
	  tracking.

2013-11-13 23:09 +0000 [r402804]  Joshua Colp <jcolp@digium.com>

	* res/stasis/control.c, 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_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.

2013-11-12 23:16 +0000 [r402787-402793]  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

	* 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

2013-11-12 19:11 +0000 [r402767-402769]  Mark Michelson <mmichelson@digium.com>

	* main/channel.c: Switch to a scoped lock to avoid missing unlocks
	  in failure returns.

	* 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.

2013-11-12 16:45 +0000 [r402757]  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

2013-11-12 16:33 +0000 [r402755]  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.

2013-11-12 15:26 +0000 [r402738]  David M. Lee <dlee@digium.com>

	* res/ari/ari_model_validators.h, rest-api/api-docs/events.json:
	  Fixed a typ.

2013-11-12 15:02 +0000 [r402710]  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

2013-11-11 19:26 +0000 [r402687]  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

2013-11-11 15:36 +0000 [r402647]  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

2013-11-08 23:04 +0000 [r402606]  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

2013-11-08 20:20 +0000 [r402593]  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/

2013-11-08 19:28 +0000 [r402584]  Jonathan Rose <jrose@digium.com>

	* configs/manager.conf.sample, CHANGES, include/asterisk/manager.h,
	  main/manager.c, main/security_events.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/

2013-11-08 19:22 +0000 [r402582]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip.c: Clarify an ambiguous error message.

2013-11-08 18:48 +0000 [r402561-402570]  David M. Lee <dlee@digium.com>

	* res/res_pjsip/config_system.c: res_pjsip: Print a helpful error
	  message if sorcery registration fails

	* res/ari/resource_playbacks.h: Changes from make ari-stubs after
	  r402560

2013-11-08 17:39 +0000 [r402560]  Kevin Harwell <kharwell@digium.com>

	* 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), rest-api/resources.json,
	  res/ari/resource_playback.h (removed), res/res_ari_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

2013-11-08 17:28 +0000 [r402555]  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/

2013-11-07 23:16 +0000 [r402537]  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.

2013-11-07 21:09 +0000 [r402528]  David M. Lee <dlee@digium.com>

	* rest-api-templates/swagger_model.py, res/ari/resource_asterisk.h,
	  rest-api-templates/ari_resource.c.mustache,
	  rest-api-templates/asterisk_processor.py, res/res_ari_bridges.c,
	  rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
	  res/ari/resource_endpoints.h, res/res_ari_applications.c,
	  res/res_ari_playback.c, res/res_ari_channels.c,
	  rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
	  res/res_ari_recordings.c, res/ari/resource_bridges.h,
	  res/res_ari_events.c, 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, res/res_ari_sounds.c,
	  rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
	  res/ari/resource_channels.h,
	  rest-api-templates/ari_resource.h.mustache,
	  res/ari/resource_events.c, res/ari/resource_recordings.h,
	  rest-api-templates/rest_handler.mustache, res/res_ari_asterisk.c,
	  rest-api-templates/res_ari_resource.c.mustache,
	  res/ari/resource_events.h, rest-api/api-docs/sounds.json,
	  res/ari/resource_sounds.c, res/ari/resource_sounds.h,
	  rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/applications.json, res/res_ari_endpoints.c,
	  res/ari/resource_asterisk.c, rest-api/api-docs/playback.json:
	  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/

2013-11-06 21:57 +0000 [r402517]  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/

2013-11-05 21:16 +0000 [r402501-402507]  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.

	* 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

	* include/asterisk/netsock2.h, include/asterisk/acl.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.

	* 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/

2013-11-04 20:56 +0000 [r402452]  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

2013-11-02 04:30 +0000 [r402398-402438]  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++.

	* main/stasis.c, main/stasis_message_router.c,
	  include/asterisk/vector.h, include/asterisk/lock.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/

	* 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

	* /, 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

	* main/app.c, include/asterisk/app.h: 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.

2013-11-01 21:49 +0000 [r402387]  Scott Griepentrog <sgriepentrog@digium.com>

	* main/bridge.c, include/asterisk/bridge.h, main/manager_bridges.c:
	  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/

2013-11-01 16:31 +0000 [r402367]  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)

2013-11-01 14:37 +0000 [r402358]  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/

2013-11-01 12:38 +0000 [r402348]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, /,
	  channels/chan_sip.c: 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

2013-11-01 12:31 +0000 [r402336-402346]  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/

	* 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/

2013-10-31 22:08 +0000 [r402327]  Mark Michelson <mmichelson@digium.com>

	* 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,
	  contrib/scripts/sip_to_pjsip/sip_to_pjsip.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

2013-10-31 16:04 +0000 [r402285-402289]  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

	* 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.

2013-10-31 14:43 +0000 [r402276]  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.

2013-10-30 17:52 +0000 [r402265]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip_messaging.c, channels/chan_pjsip.c:
	  pjsip_messaging: Added debug for in dialog messaging (issue
	  ASTERISK-22777) Reported by: Matt Jordan

2013-10-29 23:43 +0000 [r402226]  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

2013-10-29 12:53 +0000 [r402154]  Matthew Jordan <mjordan@digium.com>

	* /, main/translate.c, main/xmldoc.c, main/channel.c, main/pbx.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

2013-10-29 12:51 +0000 [r402148-402152]  Kinsey Moore <kmoore@digium.com>

	* res/ari/resource_channels.h, rest-api/api-docs/channels.json,
	  res/ari/resource_channels.c, res/res_ari_channels.c: 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/

	* 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)

2013-10-29 11:15 +0000 [r402139]  Joshua Colp <jcolp@digium.com>

	* res/res_ari_playback.c, rest-api/api-docs/playback.json:
	  res_ari_playback: Add missing 404 error response for GET and
	  DELETE. (closes issue ASTERISK-22722) Reported by: Richard
	  Mudgett

2013-10-28 21:30 +0000 [r402127]  David M. Lee <dlee@digium.com>

	* doc: Ignore full docs

2013-10-28 15:05 +0000 [r402112-402115]  Michael L. Young <elgueromexicano@gmail.com>

	* UPGRADE-11.txt, UPGRADE.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.

	* UPGRADE.txt, /, channels/chan_sip.c: 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

2013-10-27 23:22 +0000 [r402081-402090]  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.

	* main/cdr.c, cdr/cdr_sqlite3_custom.c, cdr/cdr_syslog.c,
	  cdr/cdr_sqlite.c, UPGRADE.txt, 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: 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/

2013-10-26 12:55 +0000 [r402064]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/res_pjsip_session.h, channels/chan_pjsip.c:
	  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

2013-10-26 00:34 +0000 [r402044-402055]  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.

	* 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.

2013-10-25 23:48 +0000 [r402043]  Scott Griepentrog <sgriepentrog@digium.com>

	* include/asterisk/rtp_engine.h, main/rtp_engine.c, /: 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

2013-10-25 22:02 +0000 [r402003]  Richard Mudgett <rmudgett@digium.com>

	* res/stasis/app.c: You'd think that new files would be free of
	  whitespace issues. But you would be wrong.

2013-10-25 21:53 +0000 [r401973-402001]  Jonathan Rose <jrose@digium.com>

	* rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/res_ari_channels.c, rest-api/api-docs/bridges.json,
	  res/ari/resource_bridges.c, res/res_ari_bridges.c: 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/

	* 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, res/res_stasis_recording.c,
	  rest-api/api-docs/channels.json, res/ari/resource_channels.c,
	  res/ari/ari_model_validators.c: 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/

2013-10-25 20:47 +0000 [r401961]  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

2013-10-25 17:34 +0000 [r401897-401938]  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/

	* 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

	* /, 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

2013-10-25 16:07 +0000 [r401885]  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

2013-10-25 13:48 +0000 [r401872]  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/

2013-10-24 20:56 +0000 [r401835]  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

2013-10-24 20:34 +0000 [r401706-401831]  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

	* 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

	* /, 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

	* /, 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

	* 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

	* 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

2013-10-24 03:12 +0000 [r401701]  David M. Lee <dlee@digium.com>

	* rest-api-templates/ari_model_validators.c.mustache,
	  rest-api-templates/models.wiki.mustache,
	  rest-api/api-docs/events.json,
	  rest-api-templates/swagger_model.py: 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/

2013-10-23 20:02 +0000 [r401621-401662]  Jonathan Rose <jrose@digium.com>

	* /, 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

	* res/res_rtp_asterisk.c, /, main/translate.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

2013-10-23 16:49 +0000 [r401581]  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

2013-10-23 16:37 +0000 [r401578]  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/

2013-10-23 15:23 +0000 [r401539]  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

2013-10-23 11:14 +0000 [r401499]  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

2013-10-23 02:31 +0000 [r401488]  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/

2013-10-22 22:50 +0000 [r401447]  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

2013-10-22 19:03 +0000 [r401420-401434]  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

	* 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/

	* 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/

	* 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/

2013-10-21 21:05 +0000 [r401364]  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)

2013-10-21 19:48 +0000 [r401327]  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

2013-10-21 18:58 +0000 [r401315]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/channels.json: Fixing r401281; the model name
	  is Channel, with a capital C

2013-10-19 21:53 +0000 [r401291]  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/

2013-10-19 14:43 +0000 [r401281]  Joshua Colp <jcolp@digium.com>

	* res/res_ari_channels.c, res/ari/resource_channels.h, main/pbx.c,
	  rest-api/api-docs/channels.json, res/ari/resource_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/

2013-10-18 22:51 +0000 [r401271]  Richard Mudgett <rmudgett@digium.com>

	* res/parking/parking_controller.c: res_parking: Remove setting
	  useless flag.

2013-10-18 21:49 +0000 [r401261]  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/

2013-10-18 18:33 +0000 [r401248]  Mark Michelson <mmichelson@digium.com>

	* main/manager.c, main/bridge.c, main/bucket.c, main/sorcery.c,
	  main/cli.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.

2013-10-18 16:52 +0000 [r401232-401239]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_dial.c, main/channel.c, res/res_fax.c,
	  include/asterisk/channel.h: 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/

	* include/asterisk/bridge.h: Tweak ast_bridge_depart() doxygen.

2013-10-18 16:05 +0000 [r401212-401223]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/bridge.h: Remove the bit about requiring
	  ast_bridge_depart() to be called before ast_bridge_destroy().

	* include/asterisk/bridge.h: Clarify in ast_bridge_destroy() about
	  how departable channels must be handled.

2013-10-18 15:13 +0000 [r401183]  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

2013-10-18 14:47 +0000 [r401180]  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

2013-10-17 20:37 +0000 [r401168]  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

2013-10-17 18:16 +0000 [r401158]  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

2013-10-17 15:40 +0000 [r401121]  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

2013-10-16 21:20 +0000 [r401107]  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

2013-10-16 21:17 +0000 [r401096-401106]  David M. Lee <dlee@digium.com>

	* res/res_ari.c: Fixed malformed Access-Control-Allow-Methods
	  header. Was causing Safari to barf on POST and DELETE.

	* rest-api/resources.json: Oops. Leftover /stasis reference

2013-10-16 14:01 +0000 [r401087]  Kinsey Moore <kmoore@digium.com>

	* res/ari/resource_bridges.h, rest-api/api-docs/channels.json,
	  rest-api/api-docs/bridges.json, res/ari/resource_channels.h:
	  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

2013-10-16 12:12 +0000 [r401077]  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

2013-10-16 00:02 +0000 [r401040]  Paul Belanger <paul.belanger@polybeacon.com>

	* res/res_ari_bridges.c, rest-api/api-docs/bridges.json: Use POST /
	  DELETE to toggle ARI bridge moh Review:
	  https://reviewboard.asterisk.org/r/2911/

2013-10-15 20:25 +0000 [r401030]  Richard Mudgett <rmudgett@digium.com>

	* channels/dahdi/bridge_native_dahdi.c: bridge_native_dahdi: Return
	  channel join failure if could not make the channels compatible.

2013-10-15 20:02 +0000 [r401018]  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

2013-10-15 20:01 +0000 [r401017]  Richard Mudgett <rmudgett@digium.com>

	* /, 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

2013-10-15 15:26 +0000 [r400999]  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/

2013-10-15 15:21 +0000 [r400984]  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

2013-10-15 13:43 +0000 [r400958]  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)

2013-10-14 21:55 +0000 [r400911]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_dahdi.h, channels/chan_dahdi.c: 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

2013-10-14 21:52 +0000 [r400910]  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

2013-10-14 15:52 +0000 [r400890]  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/

2013-10-14 14:57 +0000 [r400881]  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.

2013-10-13 15:41 +0000 [r400872]  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

2013-10-12 16:49 +0000 [r400863]  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.

2013-10-11 16:53 +0000 [r400849-400854]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/channel.h: channel.h: whitespace changes.

	* 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

2013-10-11 16:18 +0000 [r400842-400848]  David M. Lee <dlee@digium.com>

	* res/ari/resource_playback.h, rest-api/api-docs/playback.json: Fix
	  a stupid copy/paste error in ARI docs. Patches: ari-doc-patch.txt
	  uploaded by jbigelow (license 5091)

	* res/ari/resource_bridges.h, rest-api/api-docs/channels.json,
	  rest-api/api-docs/bridges.json, res/ari/resource_channels.h:
	  Updated /play resource docs. The playback of http: resources
	  isn't implemented... yet

	* rest-api-templates/models.wiki.mustache,
	  rest-api-templates/api.wiki.mustache,
	  rest-api-templates/asterisk_processor.py: Correct some ARI wiki
	  rendering errors

2013-10-10 18:21 +0000 [r400824-400833]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip/location.c: Perform validation of permanent
	  contacts on AORs in res_pjsip.

	* 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

2013-10-09 11:00 +0000 [r400771-400812]  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.

	* 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)

2013-10-08 22:30 +0000 [r400769]  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

2013-10-08 21:19 +0000 [r400754]  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

2013-10-08 20:51 +0000 [r400749]  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.

2013-10-08 20:16 +0000 [r400724-400742]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_confbridge.c, CHANGES,
	  apps/confbridge/conf_config_parser.c,
	  configs/confbridge.conf.sample, /,
	  apps/confbridge/include/confbridge.h: 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

	* 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

2013-10-08 18:19 +0000 [r400682-400701]  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

	* 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

2013-10-08 15:36 +0000 [r400680]  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.

2013-10-08 15:11 +0000 [r400661-400671]  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/

	* include/asterisk/stasis.h, apps/app_queue.c,
	  include/asterisk/manager.h: Miscellaneous stand alone comment
	  cleanups.

2013-10-06 17:11 +0000 [r400624]  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

2013-10-05 00:41 +0000 [r400588]  Richard Mudgett <rmudgett@digium.com>

	* channels/iax2/include/parser.h: chan_iax2: Fix compile error.

2013-10-04 21:40 +0000 [r400567]  Michael L. Young <elgueromexicano@gmail.com>

	* channels/iax2/include/parser.h, main/acl.c,
	  include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.c,
	  channels/iax2/parser.c, main/netsock.c, main/netsock2.c: Add IPv6
	  Support To chan_iax2 This patch adds IPv6 support to chan_iax2.
	  Yay! (closes issue ASTERISK-22025) Patches:
	  iax2-ipv6-v5-reviewboard.diff by Michael L. Young (license 5026)
	  Review: https://reviewboard.asterisk.org/r/2660/

2013-10-04 19:31 +0000 [r400552]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/applications.json (added): Added missing file
	  from r400522

2013-10-04 18:42 +0000 [r400532-400542]  Jonathan Rose <jrose@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/

	* contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
	  configs/extconfig.conf.sample, configs/sorcery.conf.sample,
	  contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
	  (added): chan_pjsip: Add alembic scripts for generating db tables
	  for PJSIP Also updates sample configurations for sorcery and
	  extconfig to demonstrate how to use databases created by that
	  alembic script. (closes issue ASTERISK-22133) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2892/

2013-10-04 15:54 +0000 [r400522]  Matthew Jordan <mjordan@digium.com>

	* res/stasis/app.h, rest-api/resources.json,
	  include/asterisk/_private.h, main/endpoints.c,
	  res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
	  res/res_ari_model.c, main/json.c, res/ari.make,
	  res/ari/resource_applications.c (added),
	  res/ari/resource_applications.h (added), res/res_stasis.c,
	  main/asterisk.c, rest-api/api-docs/endpoints.json,
	  rest-api/api-docs/events.json, res/stasis/app.c,
	  include/asterisk/endpoints.h,
	  rest-api-templates/ari_model_validators.h.mustache,
	  res/res_ari_applications.c (added), res/ari/resource_endpoints.h,
	  include/asterisk/stasis_app.h: ARI: Add subscription support This
	  patch adds an /applications API to ARI, allowing explicit
	  management of Stasis applications. * GET /applications - list
	  current applications * GET /applications/{applicationName} - get
	  details of a specific application * POST
	  /applications/{applicationName}/subscription - explicitly
	  subscribe to a channel, bridge or endpoint * DELETE
	  /applications/{applicationName}/subscription - explicitly
	  unsubscribe from a channel, bridge or endpoint Subscriptions work
	  by a reference counting mechanism: if you subscript to an event
	  source X number of times, you must unsubscribe X number of times
	  to stop receiveing events for that event source. Review:
	  https://reviewboard.asterisk.org/r/2862 (issue ASTERISK-22451)
	  Reported by: Matt Jordan

2013-10-04 15:48 +0000 [r400510-400520]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip.c: Enclose the To URI and update its user portion
	  if a request user has been specified.

	* res/res_pjsip_session.c: Replace the connection address at the
	  SDP level if altering the SDP with the external media address.

2013-10-04 04:54 +0000 [r400508]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/playback.json, res/res_ari_playback.c:
	  Corrected response class for stopPlayback

2013-10-03 23:11 +0000 [r400471]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c: chan_sip: Don't ignore expires value in
	  contact header if it lacks semicolon (closes issue
	  ASTERISK-22574) Reported by: Filip Jenicek Patches:
	  chan_sip_expires.patch uploaded by Filip Jenicek (license 6277)
	  ........ Merged revisions 400469 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400470 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-10-03 21:40 +0000 [r400460]  Matthew Jordan <mjordan@digium.com>

	* main/channel_internal_api.c: Remove publication of a channel
	  snapshot when the technology is set This patch removes said
	  publication for a few reasons: (1) It is unnecessary. Association
	  of the channel technology with a specific channel is an
	  implementation detail that should be assumed to "just happen",
	  and consumers of Stasis don't need to be informed about it. (2)
	  Publication of said message can now cause crashes, as the actual
	  creation of a channel in normal locations now stages its
	  messages. As a result, things that create dummy channels (such as
	  the SIP RTP QOS unit test) and associate them with a channel
	  technology were now crashing, as the channel itself was not known
	  by Stasis.

2013-10-03 19:31 +0000 [r400442]  Joshua Colp <jcolp@digium.com>

	* main/cdr.c: When serializing CDR variables (like for "core show
	  channels") don't output an error if CDRs aren't enabled.

2013-10-03 19:29 +0000 [r400440]  Kinsey Moore <kmoore@digium.com>

	* /, main/security_events.c: Fix security events for AMI invalid
	  password In r337595, additional security events were added for
	  chan_sip authentication failures. The new IEs added to the
	  existing invalid password event were defined as required IEs, but
	  existing users of the event did not set the new IEs and could not
	  since they didn't apply to existing uses. They are now marked as
	  optional IEs. (closes issue ASTERISK-22578) Reported by: Matt
	  Jordan ........ Merged revisions 400421 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-10-03 19:11 +0000 [r400403]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/bridge_technology.h,
	  bridges/bridge_native_rtp.c: Fix assumption in
	  bridge_native_rtp.c regarding number of participants in a bridge.
	  When a party leaves a bridge, there may be more participants in
	  the bridge than expected. As such, it is important not to make
	  assumptions regarding the list of channels in a bridge. This
	  change makes it so that when a party leaves a native RTP bridge,
	  we unbridge it and the party it was bridged with. Previously, the
	  first and last channels in the list were unbridged since it was
	  assumed that these were the two channels that had been bridged.
	  As previously stated, a new party had been inserted into the
	  bridge, so this logic did not work properly. (closes issue
	  ASTERISK-22615) reported by Matt Jordan (closes issue
	  ASTERISK-22532) reported by Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2899

2013-10-03 19:05 +0000 [r400401]  Joshua Colp <jcolp@digium.com>

	* res/ari/resource_channels.c: Fix a crash caused by muting and
	  unmuting a channel in ARI without specifying a direction. (closes
	  issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by
	  Matt Jordan, whose office I have taken over in the name of
	  Canada.

2013-10-03 18:44 +0000 [r400398]  Richard Mudgett <rmudgett@digium.com>

	* main/cel.c: cel: Some whitespace cleanups

2013-10-03 18:28 +0000 [r400384-400395]  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

	* configure, include/asterisk/autoconfig.h.in, configure.ac,
	  main/xml.c: Detect and use xsltCleanupGlobals when available This
	  introduces usage of an additional libxslt cleanup function,
	  xsltCleanupGlobals, when the configure script detects that it is
	  available. Early versions of the library did not include this
	  function. (closes issue ASTERISK-22570) Reported by: Corey
	  Farrell Patches: xsltCleanupGlobals.patch uploaded by Corey
	  Farrell (License 5909)

2013-10-03 17:55 +0000 [r400383]  Matthew Jordan <mjordan@digium.com>

	* contrib/ast-db-manage/config/env.py,
	  contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
	  contrib/ast-db-manage/voicemail/env.py: Update Alembic database
	  scripts for external scripting and PostgreSQL, Oracle This patch
	  does the following: 1) The env scripts have been updated to be
	  tolerant of a NULL configuration file. This occurs when
	  configuration is provided by an external script, such that the
	  actual config.ini file is not used. 2) Enum types have all been
	  given names. This is needed for PostgreSQL script generation. 3)
	  The identifier meetme_confno_starttime_endtime is greater than 30
	  characters, and hence invalid for Oracle databases. This has been
	  truncated down to meetme_confno_start_end.

2013-10-03 16:22 +0000 [r400373]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_vpb.cc: chan_vpb: Make compile again.

2013-10-03 14:56 +0000 [r400362]  Mark Michelson <mmichelson@digium.com>

	* tests/test_cel.c: Get rid of uses of stasis_topic_wait()

2013-10-03 14:51 +0000 [r400360]  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

2013-10-02 22:34 +0000 [r400318-400356]  Mark Michelson <mmichelson@digium.com>

	* main/rtp_engine.c, addons/chan_ooh323.c,
	  channels/chan_multicast_rtp.c, main/ccss.c, apps/app_meetme.c,
	  bridges/bridge_holding.c, main/bridge_basic.c,
	  bridges/bridge_softmix.c, channels/chan_gtalk.c,
	  channels/chan_iax2.c, main/media_index.c, main/channel.c,
	  channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
	  main/manager.c, pbx/pbx_spool.c, channels/chan_skinny.c,
	  main/format_cap.c, channels/chan_motif.c, res/res_agi.c,
	  channels/chan_alsa.c, apps/app_confbridge.c,
	  addons/chan_mobile.c, channels/chan_mgcp.c,
	  res/res_clioriginate.c, channels/chan_sip.c,
	  channels/chan_bridge_media.c, res/res_pjsip_sdp_rtp.c,
	  tests/test_format_api.c, bridges/bridge_simple.c,
	  apps/app_originate.c, res/parking/parking_applications.c,
	  main/core_local.c, channels/chan_console.c, channels/chan_oss.c,
	  include/asterisk/format_cap.h, res/res_pjsip_session.c,
	  res/ari/resource_bridges.c, channels/chan_jingle.c,
	  channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c,
	  channels/chan_h323.c, main/file.c,
	  res/res_pjsip/pjsip_configuration.c, tests/test_config.c,
	  channels/chan_nbs.c, bridges/bridge_native_rtp.c,
	  res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c:
	  Cache string values of formats on ast_format_cap() to save
	  processing. Channel snapshots have string representations of the
	  channel's native formats. Prior to this change, the format
	  strings were re-created on ever channel snapshot creation. Since
	  channel native formats rarely change, this was very wasteful.
	  Now, string representations of formats may optionally be stored
	  on the ast_format_cap for cases where string representations may
	  be requested frequently. When formats are altered, the string
	  cache is marked as invalid. When strings are requested, the cache
	  validity is checked. If the cache is valid, then the cached
	  strings are copied. If the cache is invalid, then the string
	  cache is rebuilt and copied, and the cache is marked as being
	  valid again. Review: https://reviewboard.asterisk.org/r/2879

	* /: Remove svn:mergeinfo property.

	* main/stasis_endpoints.c, main/stasis_wait.c (removed),
	  res/ari/resource_endpoints.c, /, include/asterisk/stasis.h,
	  tests/test_cel.c, include/asterisk/stasis_endpoints.h,
	  channels/chan_pjsip.c, main/stasis.c: Remove unnecessary waits
	  from stasis. Since caches are updated on publisher threads, there
	  is no need to wait for the cache updates to occur after a stasis
	  message is published. In the case of chan_pjsip device state
	  changes, this set of changes caused an improvement to
	  performance. Review: https://reviewboard.asterisk.org/r/2890

2013-10-02 21:32 +0000 [r400316]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_iax2.c: Cast Integer Argument To Unsigned Char
	  The member reg in the peercnt structure is an unsigned char and
	  peercnt_modify() is expecting an unsigned char argument which
	  gets assigned to peercnt->reg. This patch fixes that by casting
	  the integer argument being passed to peercnt_modify to unsigned
	  char. ........ Merged revisions 400314 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400315 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-10-02 21:25 +0000 [r400312]  Matthew Jordan <mjordan@digium.com>

	* main/cel.c, main/cdr.c, main/manager.c: Only create Stasis
	  subscriptions when enabled Subscribing to Stasis isn't free. As
	  such, this patch makes AMI, CDR, and CEL - the "big 3" - only
	  subscribe when enabled. Toggling their availability via a .conf
	  file will unsubscribe/subscribe as appropriate. Review:
	  https://reviewboard.asterisk.org/r/2888/

2013-10-02 20:30 +0000 [r400303]  Richard Mudgett <rmudgett@digium.com>

	* main/pbx.c: Originate: Make setting caller id on outgoing call
	  use either name or number. Previous code was requiring both name
	  and number to be available. Also restored a comment block on why
	  caller id is also set on an outgoing call leg in addition to
	  connected line from earlier versions of Asterisk.

2013-10-02 19:19 +0000 [r400291]  Kinsey Moore <kmoore@digium.com>

	* rest-api/api-docs/asterisk.json: Correct allowable values for ARI
	  general information filter

2013-10-02 18:57 +0000 [r400286]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c: Fix the CDR CLI command 'cdr show active {channel}'
	  When the switch from channel names to channel unique IDs
	  happened, the poor CLI command got left in the dust. This fixes
	  the command so that users can once again see how Asterisk is
	  messing up your billing information.

2013-10-02 18:42 +0000 [r400284]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_t38.c: Fix a crash in res_pjsip_t38 caused by the
	  wrong assumption that a session will always have a channel. When
	  starting up or shutting down this assumption is false.

2013-10-02 18:25 +0000 [r400281]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* Makefile, doc/astdb2sqlite3.8 (added), /, doc/astdb2bdb.8
	  (added): man pages for astdb2bdb and astdb2sqlite3 Review:
	  https://reviewboard.asterisk.org/r/2898/ ........ Merged
	  revisions 400279 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-10-02 17:11 +0000 [r400268-400270]  Richard Mudgett <rmudgett@digium.com>

	* main/utils.c, apps/app_stack.c, res/stasis_recording/stored.c,
	  main/json.c, main/stasis_cache.c, res/res_ari.c: MALLOC_DEBUG:
	  Fix some misuses of free() when MALLOC_DEBUG is enabled. * There
	  were several places in ARI where an external library was
	  mallocing memory that must always be released with free(). When
	  MALLOC_DEBUG is enabled, free() is redirected to the MALLOC_DEBUG
	  version. Since the external library call still uses the normal
	  malloc(), MALLOC_DEBUG complains that the freed memory block is
	  not registered and will not free it. These cases must use
	  ast_std_free(). * Changed calls to asprintf() and vasprintf() to
	  the equivalent ast_asprintf() and ast_vasprintf() versions
	  respectively.

	* channels/sig_ss7.c: sig_ss7: Fix compiler warnings.

2013-10-02 16:20 +0000 [r400245-400265]  Joshua Colp <jcolp@digium.com>

	* channels/chan_jingle.c, main/channel.c, main/dial.c,
	  channels/chan_dahdi.c, include/asterisk/stasis_channels.h,
	  channels/chan_skinny.c, channels/chan_motif.c,
	  channels/chan_alsa.c, main/stasis_channels.c,
	  channels/chan_pjsip.c, channels/sig_ss7.c, channels/chan_mgcp.c,
	  channels/chan_unistim.c, apps/app_dial.c, main/pbx.c,
	  channels/chan_sip.c, main/bridge.c, include/asterisk/channel.h,
	  channels/chan_gtalk.c, channels/chan_console.c,
	  channels/sig_pri.c, channels/chan_iax2.c: Reduce channel snapshot
	  creation and publishing by up to 50%. This change introduces the
	  ability to stage channel snapshot creation and publishing by
	  suppressing the implicit creation and publishing that some
	  functions have. Once all operations are executed the staging is
	  marked as done and a single snapshot is created and published.
	  Review: https://reviewboard.asterisk.org/r/2889/

	* res/res_pjsip_session.c: Fix a random one way audio issue in
	  PJSIP. Due to the asynchronous design of the PJMEDIA SDP
	  negotiator it was possible for the SDP to be negotiated *after* a
	  channel was created and after it was being wait on by an
	  application. It is only after negotiation occurs that the file
	  descriptors for RTP are placed on the channel. Since the channel
	  was already being waited on these file descriptors were not
	  monitored, causing incoming media to never be read. This change
	  wakes up any application waiting on the channel so that added
	  file descriptors end up being monitored. (closes issue AST-1227)
	  Reported by: John Bigelow

	* res/stasis/control.c, include/asterisk/stasis_app.h,
	  res/ari/resource_channels.c: Allow specifying a channel to dial
	  an extension and context in an ARI dial operation. (issue
	  ASTERISK-22625) Reported by: Scott Griepentrog

	* res/res_pjsip_session.c: Retrieve and store the hostname only
	  once so multiple threads do not potentially initialize it at the
	  same time.

2013-10-01 21:17 +0000 [r400227-400236]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c, channels/sig_analog.c: chan_dahdi: Fix
	  analog parking using flash-hook. Transferring an analog call
	  using a flash-hook to parking would fail to park the call and
	  result in an invalid ao2 object unref. * Park the correct bridged
	  channel.

	* main/features_config.c: Features: Rearm the parking config
	  options have moved warning for each reload.

2013-10-01 15:48 +0000 [r400217]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c: Filter out internal channels for bridge leave
	  messages and parked call messages Granted, if you manage to park
	  a Conference announcer channel, something has gone horrifically
	  wrong.

2013-09-30 21:31 +0000 [r400205]  Jonathan Rose <jrose@digium.com>

	* configs/res_parking.conf.sample, configs/features.conf.sample:
	  configuration samples: Pull all parking related stuff out of
	  features.conf This patch also adds documentation for parking from
	  features.conf to res_parking.conf

2013-09-30 19:57 +0000 [r400194-400196]  Matthew Jordan <mjordan@digium.com>

	* funcs/func_cdr.c: Parse arguments passed to the CDR_PROP function
	  correctly I can only blame this on a bad merge, because this in
	  no way worked properly the way it was written. Mea culpa. The
	  function should now parse its arguments correctly and function
	  properly. (Note that the API used by the CDR_PROP function has
	  working unit tests... this was merely bad coding of the actual
	  registered function) (closes issue ASTERISK-22613) Reported by:
	  Private Name

	* main/cdr.c: Remove spurious event raised when CDRs are reloaded
	  The Reload event is now raised by the module loading core. As
	  such, the Reload event in the CDR engine was a duplicate and not
	  needed.

2013-09-30 18:48 +0000 [r400178-400181]  David M. Lee <dlee@digium.com>

	* include/asterisk/stasis.h, main/devicestate.c, res/res_xmpp.c,
	  main/taskprocessor.c, main/sounds_index.c, main/endpoints.c,
	  channels/chan_iax2.c, res/res_jabber.c,
	  res/parking/parking_bridge_features.c, res/res_chan_stats.c,
	  main/cdr.c, main/manager_bridges.c, main/manager.c,
	  channels/chan_skinny.c, tests/test_devicestate.c,
	  res/res_pjsip_mwi.c, tests/test_taskprocessor.c,
	  tests/test_stasis.c, res/parking/parking_manager.c,
	  channels/chan_mgcp.c, res/res_security_log.c, main/pbx.c,
	  main/ccss.c, apps/app_meetme.c, include/asterisk/taskprocessor.h,
	  res/parking/parking_applications.c, channels/sig_pri.c,
	  apps/app_queue.c, main/cel.c, main/stasis.c,
	  channels/chan_dahdi.c, main/stasis_message_router.c,
	  funcs/func_presencestate.c, apps/confbridge/confbridge_manager.c,
	  res/res_agi.c, res/res_stasis_test.c, main/manager_channels.c,
	  main/manager_mwi.c, res/res_pjsip_refer.c, apps/app_voicemail.c,
	  main/stasis_cache.c, main/stasis_wait.c, res/stasis/app.c,
	  include/asterisk/stasis_internal.h, channels/chan_sip.c,
	  main/manager_endpoints.c: Remove dispatch object allocation from
	  Stasis publishing While looking for areas for performance
	  improvement, I realized that an unused feature in Stasis was
	  negatively impacting performance. When a message is sent to a
	  subscriber, a dispatch object is allocated for the dispatch,
	  containing the topic the message was published to, the subscriber
	  the message is being sent to, and the message itself. The topic
	  is actually unused by any subscriber in Asterisk today. And the
	  subscriber is associated with the taskprocessor the message is
	  being dispatched to. First, this patch removes the unused topic
	  parameter from Stasis subscription callbacks. Second, this patch
	  introduces the concept of taskprocessor local data, data that may
	  be set on a taskprocessor and provided along with the data
	  pointer when a task is pushed using the
	  ast_taskprocessor_push_local() call. This allows the task to have
	  both data specific to that taskprocessor, in addition to data
	  specific to that invocation. With those two changes, the dispatch
	  object can be removed completely, and the message is simply
	  refcounted and sent directly to the taskprocessor. Review:
	  https://reviewboard.asterisk.org/r/2884/

	* main/manager_system.c, tests/test_stasis.c,
	  main/manager_channels.c, main/manager_mwi.c,
	  main/stasis_cache_pattern.c, include/asterisk/vector.h (added),
	  res/stasis/app.c, main/channel_internal_api.c,
	  include/asterisk/stasis.h, apps/app_queue.c, main/cel.c,
	  main/stasis.c, tests/test_stasis_endpoints.c, main/cdr.c,
	  main/manager_bridges.c, main/manager.c: 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/

	* configure, include/asterisk/autoconfig.h.in,
	  configs/stasis.conf.sample (removed), include/asterisk/sem.h
	  (added), configure.ac, include/asterisk/stasis.h,
	  main/taskprocessor.c, main/sem.c (added), main/stasis.c,
	  main/stasis_config.c (removed), include/asterisk/taskprocessor.h:
	  Taskprocessor optimization; switch Stasis to use taskprocessors
	  This patch optimizes taskprocessor to use a semaphore for
	  signaling, which the OS can do a better job at managing
	  contention and waiting that we can with a mutex and condition.
	  The taskprocessor execution was also slightly optimized to reduce
	  the number of locks taken. The only observable difference in the
	  taskprocessor implementation is that when the final reference to
	  the taskprocessor goes away, it will execute all tasks to
	  completion instead of discarding the unexecuted tasks. For
	  systems where unnamed semaphores are not supported, a really
	  simple semaphore implementation is provided. (Which gives
	  identical performance as the original taskprocessor
	  implementation). The way we ended up implementing Stasis caused
	  the threadpool to be a burden instead of a boost to performance.
	  This was switched to just use taskprocessors directly for
	  subscriptions. Review: https://reviewboard.asterisk.org/r/2881/

2013-09-30 15:55 +0000 [r400141]  Kinsey Moore <kmoore@digium.com>

	* configs/pjsip.conf.sample, res/res_pjsip_outbound_registration.c,
	  configs/sip.conf.sample, CHANGES, /, channels/chan_sip.c:
	  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

2013-09-30 15:24 +0000 [r400138]  David M. Lee <dlee@digium.com>

	* main/astobj2.c, main/stasis.c, main/stasis_message_router.c,
	  main/taskprocessor.c, include/asterisk/stasis_message_router.h,
	  res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c:
	  Stasis performance improvements This patch addresses several
	  performance problems that were found in the initial performance
	  testing of Asterisk 12. The Stasis dispatch object was allocated
	  as an AO2 object, even though it has a very confined lifecycle.
	  This was replaced with a straight ast_malloc(). The Stasis
	  message router was spending an inordinate amount of time
	  searching hash tables. In this case, most of our routers had 6 or
	  fewer routes in them to begin with. This was replaced with an
	  array that's searched linearly for the route. We more heavily
	  rely on AO2 objects in Asterisk 12, and the memset() in ao2_ref()
	  actually became noticeable on the profile. This was #ifdef'ed to
	  only run when AO2_DEBUG was enabled. After being misled by an
	  erroneous comment in taskprocessor.c during profiling, the wrong
	  comment was removed. Review:
	  https://reviewboard.asterisk.org/r/2873/

2013-09-28 22:56 +0000 [r400058-400121]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_notify.c, configs/pjsip_notify.conf.sample (added):
	  res_pjsip_notify: Add documentation We forgot to add
	  documentation for res_pjsip_notify, which would prevent it from
	  being loaded. Whoops. This patch also updates res_pjsip_notify to
	  use pjsip_notify.conf, which now has its own sample file in the
	  configs directory as well. Review:
	  https://reviewboard.asterisk.org/r/2835/

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Correct erroneous
	  lost packet information in RTCP reports RTCP's calculation of the
	  number of lost packets in an RTP stream is based on that stream's
	  sequence number count, the number of received packets, and how
	  many packets we expect to receive. When the SSRC for an RTP
	  stream changes, there can - and almost always will be - a large
	  jump in the next packet's timestamp and sequence number. If we
	  don't reset the number of received packets, sequence number
	  count, and other metrics used by RTCP, the next RR/SR report will
	  use the previous SSRC's values to calculate the lost packet count
	  for the new SSRC - resulting in a very large number of lost
	  packets. This patch modifies res_rtp_asterisk such that, if it
	  detects a SSRC change, it will reset the various values used by
	  the RTCP calculations. From the perspective of RTCP, this appears
	  as a new media stream - which is what it is. Review:
	  https://reviewboard.asterisk.org/r/2886/ (closes issue AST-1174)
	  Reported by: Thomas Arimont ........ Merged revisions 400089 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400093 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* configure.ac, /, configure: Add check for openSUSE when detecting
	  bfd library In ASTERISK-17842, some additional library checks
	  were added to the configure script so that the bfd library could
	  be found on CentOS and Fedora systems. As it turns out, openSUSE
	  requires an additional library. This patch adds another check to
	  the configure script for openSUSE that will add that library.
	  Review: https://reviewboard.asterisk.org/r/2885/ (closes issue
	  AST-1169) Reported by: Guenther Kelleter ........ Merged
	  revisions 400073 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400075 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/cdr.c: CDR: Improve handling of parking; resolve assertion
	  when originating into park This patch covers two problems: 1)
	  Currently, when a call is transferred into a parking lot from a
	  bridge (using either the blind transfer or one touch parking
	  mechanisms), the application fails to be set to "Park" in the
	  resulting CDR record for the parked channel. This is due to the
	  ParkedCall message arriving before the BridgeEnter for the
	  channel entering the parking bridge. The ParkedCall message isn't
	  handled as the CDR for the channel has already been finalized
	  (due to the channel having left its two party bridge), and the
	  BridgeEnter - which creates the new CDR - doesn't have the
	  parking information. This patch modifies the behavior so that
	  reception of a ParkedCall message will - if not handled by a CDR
	  chain - cause a new CDR to be created and put into the Parking
	  state. 2) It fixes a FRACK that occurred when a channel is
	  originated into a parking space. The DialedPending state - which
	  occurs for both Dialed and Originated channels - assumed that it
	  couldn't handle the parking transitions due to it having a Party
	  B; however, Originated channels don't have a Party B. As such,
	  the existing CDR needs to transition into the parking state -
	  this patch does that. Review:
	  https://reviewboard.asterisk.org/r/2877/ (closes issue
	  ASTERISK-22482) Reported by: Richard Mudgett

	* apps/app_queue.c: app_queue: Make manager events tolerant of
	  Local channel shenanigans app_queue currently attempts to handle
	  Local channel optimizations in an effort to provide accurate
	  information in Stasis messages (and their corresponding AMI
	  events) as well as the Queue log. Sometimes, however, things
	  don't go as planned. Consider the following scenario: SIP/foo <->
	  L;1 <-> L;2 <-> SIP/agent SIP/agent answers, triggering a Local
	  channel optimization. app_queue will normally do the following: *
	  Listen for the Local optimization events and update our agent
	  accordingly to SIP/agent in the queue log and messages * When we
	  get a hangup, publish the AgentComplete event based on our
	  information (SIP/foo and SIP/agent) However, as with all things
	  that depend on sanity from something as capricious as Local
	  channels, things can go wrong: (1) SIP/agent immediately hangs up
	  upon answering. This triggers a race condition between
	  termination messages coming from SIP/agent and the ongoing Local
	  channel optimization messages. (Note that this can also occur
	  with SIP/foo) (2) In a race condition, Asterisk can (rarely)
	  deliver the hangup messages prior to the Local channel
	  optimization. In that case, the messages *may* arrive to
	  app_queue in the following order: * Hangup SIP/Agent * Hangup
	  SIP/foo * Optimize L;1/L;2 * Hangup L;2 * Hangup L;1 When
	  app_queue receives the hangup of the agent or the caller, it will
	  attempt to publish the AgentComplete event. However, it now has a
	  problem - it thinks its agent is the ;1 side of the Local
	  channel, as it never received the optimization event. At the same
	  time, that channel is already gone. This results in getting NULL
	  from the Stasis cache. What's more, we can't really wait for the
	  optimization message, as we are currently handling the hangup of
	  the channel that the optimization event would tell us to use.
	  This patch modifies the behavior in app_queue such that, since we
	  still have a lot of pertinent queue information (interface, queue
	  name, etc.), we now raise the event with what information we
	  know. The channels involved now may or may not be present. Users
	  will still at least get the "AgentComplete" event, which
	  "completes" the known Agent information. Review:
	  https://reviewboard.asterisk.org/r/2878/ (closes issue
	  ASTERISK-22507) Reported by: Richard Mudgett

	* main/manager.c: manager: Fix crash when appending a manager
	  channel variable In r399887, a minor performance improvement was
	  introduced by not allocating the manager variable struct if it
	  wasn't used. Unfortunately, when directly accessing an
	  ast_channel struct, manager assumed that the struct was always
	  allocated. Since this was no longer the case, things got a bit
	  crashy. This fixes that problem by simply bypassing appending
	  variables if the manager channel variable struct isn't there.

2013-09-27 21:56 +0000 [r400015-400020]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_cdr.c, res/res_parking.c: app_cdr and res_parking: Fix
	  some resource leaks. * app_cdr left the ResetCDR application
	  registered. * res_parking leaked a ref to config global. (closes
	  issue ASTERISK-22566) Reported by: Corey Farrell Patches:
	  ASTERISK-22566-r2.patch (license #5909) patch uploaded by Corey
	  Farrell

	* /, channels/chan_sip.c, channels/sip/reqresp_parser.c: chan_sip:
	  Increase some scratch buffer sizes dealing with caller id. *
	  Eliminated an unnecessary initialization in check_user_full().
	  (closes issue ASTERISK-22477) Reported by: Michael Shepelev
	  ........ Merged revisions 400013 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 400014 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-09-27 18:26 +0000 [r399990]  Kevin Harwell <kharwell@digium.com>

	* include/asterisk/res_pjsip.h, res/res_pjsip.exports.in,
	  res/res_pjsip.c, res/res_pjsip_session.c: res_pjsip: crash when
	  using localnet and external_signaling_address options There was a
	  collision of mod_data use on the transaction between using a nat
	  hook and an session response callback. During state change it was
	  assumed what was in the mod_data was nothing or the response
	  callback. However, it was possible for it to also contain a nat
	  hook thus resulting in a bad cast and a crash. Added the ability
	  to store multiple data elements in mod_data via a hash table. In
	  this instance, mod_data now stores a hash table of the two values
	  that can be retrieved using an associated string key. (closes
	  issue ASTERISK-22394) Reported by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/2843/

2013-09-27 17:34 +0000 [r399976]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
	  Reject calls on 200 OKs if no SDP has been received When Asterisk
	  receives a 200 OK in response to an invite, that peer should have
	  sent an SDP at some point by then. If the channel has never
	  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

2013-09-27 17:03 +0000 [r399937]  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/

2013-09-27 14:29 +0000 [r399924]  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.

2013-09-27 14:01 +0000 [r399912]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/cel.h, tests/test_cel.c, main/cel.c: 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)

2013-09-26 18:48 +0000 [r399897]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip/security_events.c, res/res_pjsip_registrar.c,
	  include/asterisk/res_pjsip.h, res/res_pjsip.exports.in: 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/

2013-09-26 15:41 +0000 [r399887]  David M. Lee <dlee@digium.com>

	* main/channel.c: Minor performance bump by not allocate manager
	  variable struct if we don't need it

2013-09-26 14:12 +0000 [r399874]  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

2013-09-25 20:36 +0000 [r399842]  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

2013-09-25 19:40 +0000 [r399798]  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>

2013-09-25 19:28 +0000 [r399796]  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

2013-09-25 18:36 +0000 [r399781]  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/

2013-09-24 22:50 +0000 [r399736-399749]  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.

	* 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.

2013-09-24 19:22 +0000 [r399666-399695]  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.

	* 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.

	* main/cdr.c, main/stasis_bridges.c, tests/test_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/

2013-09-23 12:02 +0000 [r399624]  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

2013-09-21 04:48 +0000 [r399576-399607]  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

	* main/media_index.c: media_index: Fix process_description_file()
	  memory leak of file_id_persist.

	* main/features_config.c: features_config: Fix config ref leak of
	  parkinglots. This leak happend for just about every channel
	  created.

	* apps/app_queue.c: app_queue: Fix json blob ref leak. The json ref
	  from queue_member_blob_create() was never released.

	* 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.

2013-09-20 22:41 +0000 [r399565]  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

2013-09-20 22:04 +0000 [r399553]  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/

2013-09-20 16:17 +0000 [r399531]  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)

2013-09-20 14:25 +0000 [r399514]  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

2013-09-19 23:16 +0000 [r399501]  Richard Mudgett <rmudgett@digium.com>

	* main/optional_api.c: optional_api: Make always use the standard
	  malloc functions even with MALLOC_DEBUG.

2013-09-19 16:53 +0000 [r399458]  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

2013-09-18 19:59 +0000 [r399404]  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

2013-09-18 17:23 +0000 [r399365-399376]  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

	* 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

2013-09-18 14:34 +0000 [r399339]  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/

2013-09-18 00:12 +0000 [r399294]  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

2013-09-17 23:08 +0000 [r399283]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/res_pjsip.h, res/res_pjsip_sdp_rtp.c,
	  res/res_pjsip/pjsip_configuration.c, res/res_pjsip_t38.c: 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

2013-09-17 18:37 +0000 [r399268]  Kevin Harwell <kharwell@digium.com>

	* main/asterisk.c, /, main/logger.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

2013-09-17 17:54 +0000 [r399257]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/features_config.h: Fix doxygen to use correct
	  units of features.conf options.

2013-09-17 17:09 +0000 [r399237-399247]  Mark Michelson <mmichelson@digium.com>

	* main/features_config.c, main/bridge_basic.c: Fix other timeouts
	  (atxferloopdelay and atxfernoanswertimeout) to use seconds
	  instead of milliseconds. Thanks to Richard Mudgett for pointing
	  this out.

	* include/asterisk/features_config.h, main/bridge_basic.c,
	  main/features_config.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.

2013-09-17 14:48 +0000 [r399225]  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

2013-09-16 18:34 +0000 [r399160-399207]  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

	* res/res_speech.exports.in, apps/app_speech_utils.c:
	  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

	* /, 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

2013-09-16 02:33 +0000 [r399146]  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.

2013-09-13 22:05 +0000 [r399136]  Richard Mudgett <rmudgett@digium.com>

	* 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,
	  res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
	  include/asterisk/features.h, main/channel.c,
	  include/asterisk/bridge_channel.h, res/parking/parking_tests.c,
	  main/features.c, tests/test_cel.c, main/bridge_channel.c,
	  include/asterisk/bridge.h, apps/confbridge/conf_chan_announce.c,
	  tests/test_cdr.c, res/res_pjsip_refer.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/

2013-09-13 20:54 +0000 [r399100]  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

2013-09-13 14:49 +0000 [r399083]  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

2013-09-13 14:25 +0000 [r399064]  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

2013-09-13 14:24 +0000 [r399059]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_outbound_authenticator_digest.c,
	  res/res_pjsip_authenticator_digest.c,
	  res/res_pjsip/config_auth.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)

2013-09-13 14:21 +0000 [r399039-399049]  David M. Lee <dlee@digium.com>

	* res/res_pjsip_logger.c, res/res_rtp_asterisk.c,
	  res/res_pjsip_log_forwarder.c (added): 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/

	* 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/

2013-09-13 13:54 +0000 [r399035]  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

2013-09-13 13:27 +0000 [r399031]  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

2013-09-12 23:41 +0000 [r399019-399021]  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.

	* main/bridge.c: astobj2: Register the bridges container for debug
	  inspection.

2013-09-12 23:21 +0000 [r399017]  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/

2013-09-12 20:20 +0000 [r398991]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c, channels/sip/include/sip.h: 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

2013-09-12 16:38 +0000 [r398938]  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/

2013-09-12 15:23 +0000 [r398927]  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_.

2013-09-12 00:04 +0000 [r398882-398886]  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

	* 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

2013-09-11 19:56 +0000 [r398837]  Jonathan Rose <jrose@digium.com>

	* channels/sip/include/sip.h, /, channels/chan_sip.c: 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

2013-09-11 18:02 +0000 [r398821]  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

2013-09-11 14:14 +0000 [r398806]  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/

2013-09-10 18:03 +0000 [r398759]  Richard Mudgett <rmudgett@digium.com>

	* 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, main/event.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

2013-09-10 17:49 +0000 [r398750-398754]  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

	* utils/ael_main.c, utils/conf2ael.c, utils/check_expr.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

2013-09-09 23:23 +0000 [r398726]  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

2013-09-09 21:59 +0000 [r398694]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_endpoint_identifier_ip.c: Add extra debugging to
	  res_pjsip_endpoint_identifier_ip

2013-09-09 20:12 +0000 [r398638-398651]  David M. Lee <dlee@digium.com>

	* main/lock.c, /, main/utils.c, include/asterisk/lock.h: 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

	* res/ari/resource_channels.h: Added note about expected behavior
	  of originate (the rest of the commit)

	* rest-api/api-docs/channels.json: Added note about expected
	  behavior of originate

2013-09-08 23:25 +0000 [r398628]  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.

2013-09-07 01:02 +0000 [r398580-398619]  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

	* /, 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

2013-09-06 21:16 +0000 [r398579]  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.

2013-09-06 21:03 +0000 [r398578]  Kinsey Moore <kmoore@digium.com>

	* /: Unblock r398558

2013-09-06 20:20 +0000 [r398533-398572]  Richard Mudgett <rmudgett@digium.com>

	* 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.

	* 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().

	* main/parking.c, main/stasis_config.c, include/asterisk/astobj2.h,
	  main/cel.c, main/features_config.c, apps/app_agent_pool.c,
	  main/cdr.c, main/udptl.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.

2013-09-06 18:49 +0000 [r398511-398521]  Kinsey Moore <kmoore@digium.com>

	* res/stasis/app.c, main/http.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)

	* 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

2013-09-05 21:46 +0000 [r398381-398498]  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.

	* 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

	* 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

	* 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

2013-09-05 14:09 +0000 [r398368]  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

2013-09-04 23:06 +0000 [r398303]  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

2013-09-04 22:28 +0000 [r398299]  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)

2013-09-04 21:36 +0000 [r398283-398286]  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

	* 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

2013-09-04 16:00 +0000 [r398237]  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

2013-09-04 14:29 +0000 [r398226]  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

2013-09-03 19:49 +0000 [r398215]  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

2013-09-03 18:08 +0000 [r398206]  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.

2013-09-03 14:36 +0000 [r398198]  David M. Lee <dlee@digium.com>

	* Makefile: Fixed 'make clean' for wiki docs

2013-09-03 14:27 +0000 [r398196]  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

2013-08-30 20:58 +0000 [r398149]  David M. Lee <dlee@digium.com>

	* main/optional_api.c, main/asterisk.c,
	  include/asterisk/optional_api.h: Fix graceful shutdown crash. The
	  cleanup code for optional_api needs to happen after all of the
	  optional API users and providers have unused/unprovided.
	  Unfortunately, regsitering the atexit() handler at the beginning
	  of main() isn't soon enough, since module destructors run after
	  that.

2013-08-30 20:34 +0000 [r398147]  Rusty Newton <rnewton@digium.com>

	* configs/pjsip.conf.sample: New pjsip.conf.sample (issue
	  ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2811/

2013-08-30 19:51 +0000 [r398116-398139]  Kevin Harwell <kharwell@digium.com>

	* include/asterisk/sorcery.h, res/res_pjsip.c,
	  res/res_pjsip/config_transport.c, main/sorcery.c,
	  res/res_pjsip_outbound_registration.c: Add a reloadable option
	  for sorcery type objects Some configuration objects currently
	  won't place nice if reloaded. Specifically, in this case the
	  pjsip transport objects. Now when registering an object in
	  sorcery one may specify that the object is allowed to be reloaded
	  or not. If the object is set to not reload then upon reloading of
	  the configuration the objects of that type will not be reloaded.
	  The initially loaded objects of that type however will remain.
	  While the transport objects will not longer be reloaded it is
	  still possible for a user to configure an endpoint to an invalid
	  transport. A couple of log messages were added to help diagnose
	  this problem if it occurs. (closes issue ASTERISK-22382) Reported
	  by: Rusty Newton (closes issue ASTERISK-22384) Reported by: Rusty
	  Newton Review: https://reviewboard.asterisk.org/r/2807/

	* main/translate.c, main/named_acl.c, main/indications.c,
	  main/config.c, res/res_security_log.c, /, channels/chan_sip.c:
	  Fix various memory leaks main/config.c - cleanup cache fie
	  includes res/res_security_log.c - unregister logger level
	  channesl/chan_sip.c - cleanup io context and notify_types
	  main/translator.c - cleanup at shutdown main/named_acl.c -
	  cleanup cli commands main/indications.c -
	  ast_get_indication_tone() unref default_tone_zone if used (closes
	  issues ASTERISK-22378) Reported by: Corey Farrell Patches:
	  config_shutdown.patch uploaded by coreyfarrell (license 5909)
	  res_security_log.patch uploaded by coreyfarrell (license 5909)
	  chan_sip-11.patch uploaded by coreyfarrell (license 5909)
	  indications_refleak.patch uploaded by coreyfarrell (license 5909)
	  named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license
	  5909) translate_shutdown.patch uploaded by coreyfarrell (license
	  5909) ........ Merged revisions 398102 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398103 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-30 18:35 +0000 [r398100]  Matthew Jordan <mjordan@digium.com>

	* UPGRADE.txt: Update UPGRADE.txt file for Asterisk 12 This simply
	  pulls in the changes that were breaking from the CHANGES file and
	  updates a few other areas accordingly. It also removes the 10 =>
	  11 notes, which are traditionally removed from each major version
	  and stored in the appropriate UPGRADE-X.txt file.

2013-08-30 18:18 +0000 [r398068]  Jonathan Rose <jrose@digium.com>

	* main/config_options.c, main/features_config.c: features_config:
	  Ignore parkinglots in features.conf instead of failing to load
	  Parkinglots are defined in res_features.conf now, but this patch
	  fixes features_config so that features don't fail to load when
	  parkinglots are present in features.conf Review:
	  https://reviewboard.asterisk.org/r/2801/

2013-08-30 17:57 +0000 [r398062]  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

2013-08-30 17:10 +0000 [r398023-398025]  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.

	* /, tests/test_substitution.c: test_substituition: Fix failed test
	  reporting to actually report failure. You cannot put the "Testing
	  <blah> pass/fail" on a single line before actually performing the
	  test. Now any additional failure information is logged before the
	  test pass/fail announcement. * Added an additional CDR(answer,u)
	  test. ........ Merged revisions 398018 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 398019 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-30 16:57 +0000 [r398020]  Jonathan Rose <jrose@digium.com>

	* main/udptl.c, main/features_config.c: features_config: Don't
	  require features.conf to be present for Asterisk to load (closes
	  issue ASTERISK-22426) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2806/

2013-08-30 16:26 +0000 [r398002-398016]  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

	* main/asterisk.c, /: Check return value on fwrite ........ Merged
	  revisions 398000 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-30 13:39 +0000 [r397985-397989]  David M. Lee <dlee@digium.com>

	* build_tools/cflags.xml, configure, res/res_ari_events.c,
	  include/asterisk/http_websocket.h, main/optional_api.c (added),
	  rest-api-templates/swagger_model.py, res/ari/ari_websockets.c,
	  main/asterisk.c, channels/sip/include/sip.h, res/res_ari.c,
	  tests/test_optional_api.c (added), channels/chan_sip.c,
	  include/asterisk/autoconfig.h.in, configure.ac,
	  rest-api-templates/res_ari_resource.c.mustache,
	  res/ari/internal.h, res/res_http_websocket.c, CHANGES,
	  include/asterisk/compiler.h, include/asterisk/ari.h,
	  main/loader.c, include/asterisk/optional_api.h: 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/

	* res/stasis_recording (added), res/ari/resource_recordings.c,
	  res/ari/ari_model_validators.h, res/res_ari_recordings.c,
	  res/res_stasis_playback.c,
	  include/asterisk/stasis_app_recording.h,
	  res/ari/resource_recordings.h, res/res_stasis_recording.c,
	  res/Makefile, res/ari/ari_model_validators.c,
	  rest-api/api-docs/recordings.json: ARI: Implement
	  /recordings/stored API's his patch implements the ARI API's for
	  stored recordings. While the original task only specified
	  deleting a recording, it was simple enough to implement the GET
	  for all recordings, and for an individual recording. The
	  recording playback operation was modified to use the same code
	  for accessing the recording as the REST API, so that they will
	  behave consistently. There were several problems with the
	  api-docs that were also fixed, bringing the ARI spec in line with
	  the implementation. There were some 'wishful thinking' fields on
	  the stored recording model (duration and timestamp) that were
	  removed, because I ended up not implementing a metadata file to
	  go along with the recording to store such information. The GET
	  /recordings/live operation was removed, since it's not really
	  that useful to get a list of all recordings that are currently
	  going on in the system. (At least, if we did that, we'd probably
	  want to also list all of the current playbacks. Which seems
	  weird.) (closes issue ASTERISK-21582) Review:
	  https://reviewboard.asterisk.org/r/2693/

2013-08-30 01:19 +0000 [r397975-397977]  Richard Mudgett <rmudgett@digium.com>

	* main/pbx.c: pbx.c: Make pbx_substitute_variables_helper_full()
	  not mask variables.

	* main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: Revert
	  last commit.

	* funcs/func_cdr.c, main/pbx.c, tests/test_substitution.c: pbx.c:
	  Make ast_str_substitute_variables_full() not mask variables.

2013-08-30 00:10 +0000 [r397960-397968]  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.

	* res/res_pjsip_pidf.c: Fix method for creating activities string
	  in PIDF bodies. The previous method did not allocate enough space
	  to create the entire string, but adjusted the string's slen value
	  to be larger than the actual allocation. This resulted in garbled
	  text in NOTIFY requests from Asterisk. This method allocates the
	  proper amount of space first and then writes the content into the
	  buffer.

2013-08-29 22:45 +0000 [r397958]  Kevin Harwell <kharwell@digium.com>

	* apps/app_verbose.c, main/asterisk.c, channels/chan_misdn.c, /,
	  apps/app_dumpchan.c, main/logger.c: Verbose logging discrepancies
	  Refactored cases where a combination of
	  ast_verbose/options_verbose were present. Also in general tried
	  to eliminate, in as many places as possible, where the
	  options_verbose global variable was being used. Refactored the
	  way local and remote consoles handle verbose message logging in
	  an attempt to solve the various discrepancies that sometimes
	  would show between the two. (closes issue AST-1193) Reported by:
	  Guenther Kelleter Review:
	  https://reviewboard.asterisk.org/r/2798/ ........ Merged
	  revisions 397948 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-29 22:24 +0000 [r397955]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_pubsub.c: Fix when the subscription_terminated
	  callback is called for subscription handlers. The previous
	  placement would result in the resubscribe() callback called
	  instead of the subscription_terminated() callback being called
	  when a subscription was ended via a SUBSCRIBE request. This would
	  result in confusing PJSIP and having it throw an assertion.

2013-08-29 21:34 +0000 [r397946]  Kevin Harwell <kharwell@digium.com>

	* main/cel.c, main/asterisk.c, main/cdr.c, main/manager.c,
	  main/stasis_config.c, main/file.c, main/app.c,
	  main/config_options.c: Memory leaks fix (closes ASTERISK-22376)
	  Reported by: John Hardin Patches: memleak.patch uploaded by
	  jhardin (license 6512) memleak2.patch uploaded by jhardin
	  (license 6512)

2013-08-29 21:33 +0000 [r397945]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_session.c: Fix a race condition where a canceled
	  call was answered. RFC 5407 section 3.1.2 details a scenario
	  where a UAC sends a CANCEL at the same time that a UAS sends a
	  200 OK for the INVITE that the UAC is canceling. When this
	  occurs, it is the role of the UAC to immediately send a BYE to
	  terminate the call. This scenario was reproducible by have a
	  Digium phone with two lines place a call to a second phone that
	  forwarded the call to the second line on the original phone. The
	  Digium phone, upon realizing that it was connecting to itself,
	  would attempt to cancel the call. The timing of this happened to
	  trigger the aforementioned race condition about 80% of the time.
	  Asterisk was not doing its job of sending a BYE when receiving a
	  200 OK on a cancelled INVITE. The result was that the ast_channel
	  structure was destroyed but the underlying SIP session, as well
	  as the PJSIP inv_session and dialog, were still alive. Attempting
	  to perform an action such as a transfer, once in this state,
	  would result in Asterisk crashing. The circumstances are now
	  detected properly and the session is ended as recommended in RFC
	  5407. (closes issue AST-1209) reported by John Bigelow

2013-08-29 20:21 +0000 [r397938]  Matthew Jordan <mjordan@digium.com>

	* CHANGES, contrib/scripts/safe_asterisk, Makefile,
	  configs/safe_asterisk.conf.sample (removed): Revert r394939 due
	  to (numerous) objections The patch from ASTERISK-21965 was
	  committed perhaps a bit too hastily. Walter and Tzafrir have
	  pointed out numerous issues with the approach and have propsed an
	  alternative in r/2757. Since it's not a time critical issue and
	  is not worth holding up the release of 12 for it, I've gone ahead
	  and reverted r394939 from 12/trunk and re-opened ASTERISK-21965.

2013-08-29 16:18 +0000 [r397927]  David M. Lee <dlee@digium.com>

	* rest-api-templates/asterisk_processor.py,
	  rest-api-templates/make_ari_stubs.py,
	  rest-api-templates/api.wiki.mustache: Account for {} in Swagger
	  notes

2013-08-29 16:04 +0000 [r397924]  Matthew Jordan <mjordan@digium.com>

	* Makefile: Recursively search for '.c' files when making
	  documentation with 'make full' Without this, documentation
	  defined in sub-folders is ignored. Since having properly
	  generated documentation is especially important in Asterisk 12 -
	  not having it can cause a module to not load - 'make full' needs
	  to look in all .c files.

2013-08-29 15:42 +0000 [r397921-397922]  Mark Michelson <mmichelson@digium.com>

	* main/cel.c: Remove extra debug message.

	* apps/app_queue.c, main/cel.c, main/stasis_bridges.c: Resolve
	  assumptions that bridge snapshots would be non-NULL for transfer
	  stasis events. Attempting to transfer an unbridged call would
	  result in crashes in either CEL code or in the conversion to AMI
	  messages.

2013-08-29 12:27 +0000 [r397911]  Matthew Jordan <mjordan@digium.com>

	* contrib/ast-db-manage/README.md (added),
	  contrib/ast-db-manage/config/versions (added),
	  contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py
	  (added), contrib/ast-db-manage (added),
	  contrib/ast-db-manage/voicemail/versions (added),
	  contrib/ast-db-manage/config.ini.sample (added),
	  contrib/ast-db-manage/config/env.py (added),
	  contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py
	  (added), contrib/ast-db-manage/config (added),
	  contrib/ast-db-manage/config/script.py.mako (added),
	  contrib/ast-db-manage/voicemail.ini.sample (added),
	  contrib/ast-db-manage/voicemail/env.py (added),
	  contrib/ast-db-manage/voicemail (added),
	  contrib/ast-db-manage/voicemail/script.py.mako (added): Actually
	  *add* the database schema management utilities In r397874, the
	  scripts were removed... but not replaced. Thanks to Michael Young
	  for noticing this!

2013-08-28 23:14 +0000 [r397885-397902]  Richard Mudgett <rmudgett@digium.com>

	* main/stdtime/localtime.c, main/cdr.c, funcs/func_cdr.c: Fix some
	  uninitialized buffers for CDR handling valgrind found. * Made
	  ast_strftime_locale() ensure that the output buffer is
	  initialized. The std library strftime() returns 0 and does not
	  touch the buffer if it has an error. However, the function can
	  also return 0 without an error. (closes issue ASTERISK-22412)
	  Reported by: rmudgett

	* main/cdr.c: Fixed problems with ast_cdr_serialize_variables(). *
	  Fixed return value of ast_cdr_serialize_variables() on error. It
	  needs to return 0 indicating no CDR variables found. * Made
	  ast_cdr_serialize_variables() check the return value of
	  cdr_object_format_property() and assert if nonzero. A member of
	  the cdr_readonly_vars[] was not handled. * Removed unused
	  elements from cdr_readonly_vars[]: total_duration, total_billsec,
	  first_start, and first_answer.

	* main/cdr.c: Made the on/off in CLI "cdr set debug [on|off]" case
	  insensitive.

	* main/cdr.c: Make CDR variable name chandling consistently case
	  insensitive.

	* main/cdr.c: Make CDR code deal with channel names case
	  insensitively.

	* funcs/func_cdr.c, main/cdr.c: Some CDR code optimization.

	* funcs/func_cdr.c: Whitespace and curly braces.

2013-08-28 21:05 +0000 [r397876]  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.

2013-08-28 20:55 +0000 [r397870-397874]  Matthew Jordan <mjordan@digium.com>

	* contrib/realtime/mysql/voicemail_messages.sql,
	  contrib/realtime/postgresql/realtime.sql,
	  contrib/realtime/mysql/voicemail_data.sql, CHANGES,
	  contrib/realtime/mysql/musiconhold.sql,
	  contrib/realtime/mysql/queue_log.sql,
	  contrib/realtime/mysql/voicemail.sql,
	  contrib/realtime/mysql/sippeers.sql,
	  contrib/realtime/mysql/iaxfriends.sql,
	  contrib/realtime/mysql/meetme.sql: Add database schema management
	  using Alembic This patch replaces contrib/realtime/ with a new
	  setup for managing the database schema required for database
	  integration with Asterisk. In addition to initializing a database
	  with the proper schema, alembic can do a database migration to
	  assist with upgrading Asterisk in the future. Hopefully this
	  helps make setting up and operating Asterisk with a database
	  easier. With this the schema only needs to be maintained in one
	  place instead of once per database. The schemas I have added here
	  have a bit of improvement over the examples that were there
	  before (some added consistency and added some missing indexes).
	  Managing the schema in one place here also applies to all
	  databases supported by SQLAlchemy. See
	  contrib/ast-db-manage/README.md for more details. Review:
	  https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant
	  (license 6300)

	* CHANGES: Update CHANGES file for Asterisk 12 This updates the
	  Asterisk 12 CHANGES file with the things that were missed during
	  the development cycle. Review:
	  https://reviewboard.asterisk.org/r/2795/

2013-08-28 16:12 +0000 [r397856-397859]  Richard Mudgett <rmudgett@digium.com>

	* main/pbx.c: pbx.c: Make ast_str_substitute_variables_full() not
	  mask variables.

	* include/asterisk/threadstorage.h: Match use of ast_free() with
	  ast_calloc() and add some curly braces.

2013-08-28 15:40 +0000 [r397854]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip/pjsip_distributor.c: Fix dialog matching in the SIP
	  distributor. Dialog matching is performed in the distributor for
	  the sole purpose of retrieving an associated serializer so the
	  request may be serialized. This patch fixes two problems. First,
	  incoming CANCEL requests that had no to-tag (which really should
	  be *all* CANCEL requests) would not match with a dialog. An
	  earlier bug fix to deal with early CANCEL requests would result
	  in the CANCEL being replied to with a 481. The fix for this is to
	  find the matching INVITE transaction and get the dialog from that
	  transaction. Second, no SIP responses were matching dialogs. This
	  is because we were inverting the tags that we were passing into
	  PJSIP's dialog finding function. This logic has been corrected by
	  setting local and remote tag variables based on whether the
	  incoming message is a request or response.

2013-08-27 19:15 +0000 [r397816]  David M. Lee <dlee@digium.com>

	* 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,
	  rest-api-templates/param_parsing.mustache: ARI: WebSocket event
	  cleanup Stasis events (which get distributed over the ARI
	  WebSocket) are created by subscribing to the channel_all_cached
	  and bridge_all_cached topics, filtering out events for
	  channels/bridges currently subscribed to. There are two issues
	  with that. First was a race condition, where messages in-flight
	  to the master subscribe-to-all-things topic would get sent out,
	  even though the events happened before the channel was put into
	  Stasis. Secondly, as the number of channels and bridges grow in
	  the system, the work spent filtering messages becomes excessive.
	  Since r395954, individual channels and bridges have caching
	  topics, and can be subscribed to individually. This patch takes
	  advantage, so that channels and bridges are subscribed to on
	  demand, instead of filtering the global topics. The one case
	  where filtering is still required is handling BridgeMerge
	  messages, which are published directly to the bridge_all topic.
	  Other than the change to how subscriptions work, this patch
	  mostly just moves code around. Most of the work generating JSON
	  objects from messages was moved to .to_json handlers on the
	  message types. The callback functions handling app subscriptions
	  were moved from res_stasis (b/c they were global to the model) to
	  stasis/app.c (b/c they are local to the app now). (closes issue
	  ASTERISK-21969) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2754/

2013-08-27 18:49 +0000 [r397809]  Richard Mudgett <rmudgett@digium.com>

	* main/astmm.c: Made MALLOC_DEBUG less CPU intensive by default.
	  Storing a backtrace for each allocation in anticipation of a
	  memory management problem is very CPU intensive. * Added the CLI
	  "memory backtrace {on|off}" command to request that the backtrace
	  be gathered only on request. The backtrace is off by default.
	  (issue ASTERISK-22221) Reported by: Matt Jordan

2013-08-27 18:05 +0000 [r397759]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid
	  SDP If the SIP channel driver processes an invalid SDP that
	  defines media descriptions before connection information, it may
	  attempt to reference the socket address information even though
	  that information has not yet been set. This will cause a crash.
	  This patch adds checks when handling the various media
	  descriptions that ensures the media descriptions are handled only
	  if we have connection information suitable for that media. Thanks
	  to Walter Doekes, OSSO B.V., for reporting, testing, and
	  providing the solution to this problem. (closes issue
	  ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches:
	  issueA22007_sdp_without_c_death.patch uploaded by wdoekes
	  (License 5674) ........ Merged revisions 397756 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397757 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 397758 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-27 16:47 +0000 [r397745]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c, channels/sig_analog.c, /,
	  channels/chan_sip.c, channels/chan_motif.c, channels/chan_iax2.c,
	  channels/sig_pri.c, channels/sig_ss7.c: Fix uninitialized value
	  in struct ast_control_pvt_cause_code usage. ........ Merged
	  revisions 397744 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-27 16:03 +0000 [r397690-397713]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK
	  on dialog that has no channel A remote exploitable crash
	  vulnerability exists in the SIP channel driver if an ACK with SDP
	  is received after the channel has been terminated. The handling
	  code incorrectly assumed that the channel would always be
	  present. This patch adds a check such that the SDP will only be
	  parsed and applied if Asterisk has a channel present that is
	  associated with the dialog. Note that the patch being applied was
	  modified only slightly from the patch provided by Walter Doekes
	  of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin
	  Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches:
	  issueA21064_fix.patch uploaded by wdoekes (License 5674) ........
	  Merged revisions 397710 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397711 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 397712 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/bridge_channel.c: Better handle clearing the OUTGOING flag
	  when a channel leaves a bridge When a channel with the OUTGOING
	  flag leaves a bridge, and it will survive being pulled from the
	  bridge (either because it will execute dialplan, go into another
	  bridge, or live in a friendly autoloop), we have to clear the
	  OUTGOING flag. This is the signal to the CDR engine that this
	  channel is no longer a second class citizen, i.e., it is not
	  "dialed". The soft hangup flags are only half the picture. If a
	  channel is being moved from one bridge to another, the soft
	  hangup flags aren't set; however, the state of the bridge_channel
	  will not be hung up. Since the channel does not have one of the
	  two hang up states, that implies that the channel is still
	  technically alive. This patch modifies the check so that it
	  checks both the soft hangup flags as well as the bridge_channel
	  state. If either suggests that the channel is going to persist,
	  we clear the OUTGOING flag.

2013-08-26 21:30 +0000 [r397673]  David M. Lee <dlee@digium.com>

	* main/bucket.c: Fixed bucket.c for systems where tv_usec is not an
	  unsigned long.

2013-08-26 16:24 +0000 [r397643-397650]  Richard Mudgett <rmudgett@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.

	* channels/Makefile: chan_dahdi: Add some missing build cleanup.

2013-08-25 18:12 +0000 [r397621-397630]  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.

	* include/asterisk/config_options.h, main/config_options.c,
	  tests/test_config.c: Fix the config_options_test The config
	  options test requires the entire configuration item to be
	  transparent from the documentation system. So we let it do that
	  too. As an aside, please do not use this power for evil.
	  Documentation is your friend, and you really should document your
	  configurations. Hiding your module's configuration information
	  from the system attempting to enforce some sanity in the universe
	  is something only a Bond villain would contemplate.

	* res/res_pjsip/pjsip_configuration.c: Add rtpengine configuration
	  parameter The rtpengine configuration parameter was documented in
	  the XML documentation, but it was not actually registered with
	  the sorcery object. This adds the parameter with a default of
	  "asterisk", such that res_rtp_asterisk is chosen as the default
	  RTP implementation. (closes issue ASTERISK-22380) Reported by:
	  Rusty Newton Tested by: Rusty Newton

2013-08-23 22:36 +0000 [r397614]  Matthew Jordan <mjordan@digium.com>

	* / (added): __________ | \ |_______ | | | ______| | / | _ _ _ _ _
	  | _______| / \ ___| |_ ___ _ __(_)___| | __ / || | / _ \ / __|
	  __/ _ \ '__| / __| |/ / | || |_______ / ___ \__ \| | __/ | | \__
	  \ < | || | /_/ \_\___/\__\___|_| |_|___/_|\_\ |_| \__________|

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.

2013-08-23 22:12 +0000 [r397606]  Matthew Jordan <mjordan@digium.com>

	* main/pbx.c: Fix channel reference leak in Originated channels
	  When originating channels, ast_pbx_outgoing_* caused the dialed
	  channel reference to be bumped twice. Ostensibly, this routine is
	  bumping the channel lifetime such that the channel doesn't get
	  nuked in between locks/unlocks; however, since the routine should
	  return the dialed channel with its reference bumped, it only
	  needs to do this one time.

2013-08-23 21:53 +0000 [r397603]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip.c: Add some clarifying documentation to the
	  rewrite_contact endpoint option.

2013-08-23 21:51 +0000 [r397602]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge_channel.c: Blank line tweaks.

2013-08-23 21:49 +0000 [r397599-397600]  Joshua Colp <jcolp@digium.com>

	* makeopts.in, main/asterisk.c, include/asterisk/bucket.h (added),
	  main/sorcery.c, include/asterisk/config_options.h,
	  tests/test_bucket.c (added), build_tools/menuselect-deps.in,
	  configure, include/asterisk/autoconfig.h.in, main/Makefile,
	  main/bucket.c (added), configure.ac, main/config_options.c: Add
	  the bucket API. Bucket is a URI based API for the creation,
	  retrieval, updating, and deletion of "buckets" and files
	  contained within them. Review:
	  https://reviewboard.asterisk.org/r/2715/

	* include/asterisk/sorcery.h: Fix a bug where the argc value was
	  passed as no_doc when registering custom sorcery types. This also
	  adds a _nodoc equivalent.

2013-08-23 21:02 +0000 [r397593]  Mark Michelson <mmichelson@digium.com>

	* main/bridge_channel.c: Add test events necessary for bridge tests
	  to pass in the test suite. (closes issue AST-1200) reported by
	  John Bigelow Review: https://reviewboard.asterisk.org/r/2790/

2013-08-23 20:14 +0000 [r397585]  Matthew Jordan <mjordan@digium.com>

	* main/stasis_channels.c: Fix error in using
	  ast_channel_snapshot_type before initialization Starting Asterisk
	  would kick back an ERROR message stating that the Stasis message
	  type ast_channel_snapshot_type was used prior to initialization.
	  This occurred due to the caching topic being created prior to the
	  message type that it depended on. This patch re-orders the start
	  up such that the message type is initialized prior to the caching
	  topic. It also checks the return value of the initialization of
	  the agent login/logoff types.

2013-08-23 19:05 +0000 [r397578]  Jonathan Rose <jrose@digium.com>

	* bridges/bridge_native_rtp.c: bridge_native_rtp: Fix hold chain
	  bugs caused by native RTP bridge framehook Issuing hold/unhold
	  would lead to odd behavior. Between two chan_sip devices, a hold
	  could cause an endless chain of updates while with pjsip a
	  similar chain would begin but then end somewhat randomly. This
	  patch fixes that by no longer tweaking the RTP glue on both sides
	  of the call for every HOLD/UNHOLD/UPDATE_RTP_PEER frame. (issue
	  ASTERISK-22217) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2794/

2013-08-23 18:33 +0000 [r397577]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridge_channel.h, main/channel_internal_api.c,
	  bridges/bridge_builtin_interval_features.c,
	  include/asterisk/channel.h, res/res_musiconhold.c,
	  main/bridge_channel.c, main/channel.c,
	  include/asterisk/bridge_channel_internal.h, main/bridge.c: Handle
	  DTMF and hold wrapup when a channel leaves the bridging system.
	  DTMF start/end and hold/unhold events have state because a DTMF
	  begin event and hold event must be ended by something. The
	  following cases need to be handled when a channel is moved around
	  in the system. * When a channel leaves a bridge it may owe a DTMF
	  end event to the bridge. * When a channel leaves a bridge it may
	  owe an UNHOLD event to the bridge. (This case is explicitly
	  ignored because things like transfers need explicit control over
	  this.) * When a channel leaves the bridging system it may need to
	  simulate a DTMF end event to the channel. * When a channel leaves
	  the bridging system it may need to simulate an UNHOLD event to
	  the channel. The patch also fixes the following: * Fixes playing
	  a file and restarting MOH using the latest MOH class used.
	  (closes issue ASTERISK-22043) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2791/

2013-08-23 18:10 +0000 [r397571]  Matthew Jordan <mjordan@digium.com>

	* tests/test_sorcery_realtime.c, tests/test_sorcery_astdb.c,
	  tests/test_sorcery.c: Fix sorcery unit tests When strict XML
	  documentation checking was re-enabled, the test objects used in
	  sorcery would fail to register as the types were not marked
	  internal and the nodoc option wasn't used for the options. This
	  fixes that problem, such that, as one would hope, they once again
	  pass.

2013-08-23 18:07 +0000 [r397570]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/utils.h, include/asterisk/astmm.h, /,
	  main/backtrace.c, main/logger.c, main/utils.c,
	  include/asterisk/lock.h, main/astmm.c, channels/sig_pri.c,
	  main/astobj2.c, include/asterisk/backtrace.h, main/lock.c: Fix
	  memory corruption when trying to get "core show locks". Review
	  https://reviewboard.asterisk.org/r/2580/ tried to fix the
	  mismatch in memory pools but had a math error determining the
	  buffer size and didn't address other similar memory pool
	  mismatches. * Effectively reverted the previous patch to go in
	  the same direction as trunk for the returned memory pool of
	  ast_bt_get_symbols(). * Fixed memory leak in ast_bt_get_symbols()
	  when BETTER_BACKTRACES is defined. * Fixed some formatting in
	  ast_bt_get_symbols(). * Fixed sig_pri.c freeing memory allocated
	  by libpri when MALLOC_DEBUG is enabled. * Fixed
	  __dump_backtrace() freeing memory from ast_bt_get_symbols() when
	  MALLOC_DEBUG is enabled. * Moved __dump_backtrace() because of
	  compile issues with the utils directory. (closes issue
	  ASTERISK-22221) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2778/ ........ Merged
	  revisions 397525 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397528 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-23 18:02 +0000 [r397568]  Matthew Jordan <mjordan@digium.com>

	* main/config_options.c: Prevent seg fault in off nominal path when
	  registered option fails to validate If an option is registered to
	  a type and it is the last known type in the list of registered
	  types, and the option fails to register, an overrun of the types
	  array can occur due to the index variable having been already
	  incremented.

2013-08-23 17:45 +0000 [r397567]  Kevin Harwell <kharwell@digium.com>

	* contrib/scripts/sip_to_res_sip/sip_to_res_sip.py,
	  contrib/scripts/sip_to_res_sip/astconfigparser.py,
	  contrib/scripts/sip_to_res_sip/astdicts.py: PSJIP - sip.conf to
	  res_sip.conf script Most, if not all, of the backing features of
	  a conf file should now be implemented (e.g. multi-line comments,
	  includes, templates, etc...). A few of the options still need to
	  be mapped. Those are currently listed in the 'sip_to_res_sip.py'
	  file. Things to do: (1) There is more work to do here, at least
	  for the sip.conf items that aren't currently parsed. An issue
	  will be created for that. (2) All of the scripts should probably
	  be passed through pylint and have as many PEP8 issues fixed as
	  possible. (3) A public review is probably warranted at that point
	  of the entire script. Reported by: Matt Jordan

2013-08-23 17:19 +0000 [r397565]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
	  res/res_ari_bridges.c, res/stasis/control.c,
	  include/asterisk/stasis_app.h,
	  include/asterisk/stasis_app_impl.h: ARI: Correct error codes for
	  bridge operations This patch adds error checking to ARI bridge
	  operations, when adding/removing channels to/from bridges. In
	  general, the error codes fall out as follows: * Bridge not found
	  - 404 Not Found * Bridge not in Stasis - 409 Conflict * Channel
	  not found - 400 Bad Request * Channel not in Stasis - 422
	  Unprocessable Entity * Channel not in this bridge (on remove) -
	  422 Unprocessable Entity (closes issue ASTERISK-22036) Review:
	  https://reviewboard.asterisk.org/r/2769/

2013-08-23 15:49 +0000 [r397524-397527]  Matthew Jordan <mjordan@digium.com>

	* CHANGES: Update CHANGES file to reflect pass through support for
	  Opus/VP8

	* channels/chan_sip.c, res/res_pjsip_sdp_rtp.c,
	  include/asterisk/opus.h (added), include/asterisk/format.h,
	  channels/chan_pjsip.c, res/res_format_attr_opus.c (added),
	  main/channel.c, main/format.c, res/res_rtp_asterisk.c,
	  main/frame.c, main/rtp_engine.c: Add pass through support for
	  Opus and VP8; Opus format attribute negotiation This patch adds
	  pass through support for Opus and VP8. That includes: * Format
	  attribute negotiation for Opus. Note that unlike some other
	  codecs, the draft RFC specifies having spaces delimiting the
	  attributes in addition to ';', so you have "attra=X; attrb=Y".
	  This broke the attribute parsing in chan_sip, so a small tweak
	  was also included in this patch for that. * A format attribute
	  negotiation module for Opus, res_format_attr_opus * Fast picture
	  update for VP8. Since VP8 uses a different RTCP packet number
	  than FIR, this really is specific to VP8 at this time. Note that
	  the format attribute negotiation in res_pjsip_sdp_rtp was written
	  by mjordan. The rest of this patch was written completely by
	  Lorenzo Miniero. Review: https://reviewboard.asterisk.org/r/2723/
	  (closes issue ASTERISK-21981) Reported by: Tzafrir Cohen patches:
	  asterisk_opus+vp8_passthrough_20130718.patch uploaded by lminiero
	  (License 6518)

	* main/sorcery.c, include/asterisk/config_options.h,
	  include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
	  main/config_options.c, main/features_config.c,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip.c: Update config
	  framework/sorcery with types/options without documentation There
	  are times when a configuration option should not have
	  documentation. 1. Some options are registered with a particular
	  object merely as a warning to users. These options aren't even
	  really 'deprecated' - which has its own separate API call - they
	  are actually provided by a different configuration file. The
	  options are merely registered so that the user gets a warning
	  that a different configuration file provides the item. 2. Some
	  object types - most notably some used by modules that use sorcery
	  - are completely internal and should never be shown to the user.
	  3. Sorcery itself has several 'hidden' fields that should never
	  be shown to a user. This patch updates the configuration
	  framework and sorcery with additional API calls that allow a
	  module to register types as internal and options as not requiring
	  documentation. This bypasses the XML documentation checking. This
	  patch also re-enables the strict XML documentation checking in
	  trunk, as well as updates some documentation that was missing.
	  Review: https://reviewboard.asterisk.org/r/2785/ (closes issue
	  ASTERISK-22359) Reported by: Matt Jordan (closes issue
	  ASTERISK-22112) Reported by: Rusty Newton

2013-08-23 13:58 +0000 [r397515]  Joshua Colp <jcolp@digium.com>

	* channels/chan_pjsip.c: Fix crash when answering after a transport
	  error occurs. If a response to an initial incoming INVITE results
	  in a transport error the INVITE transaction is removed from the
	  INVITE session. Any attempts to answer the INVITE session after
	  this results in a crash as it requires the INVITE transaction to
	  exist. This change explicitly locks the dialog and checks to
	  ensure that the INVITE transaction exists before answering.
	  (closes issue AST-1203) Reported by: John Bigelow

2013-08-23 13:18 +0000 [r397514]  Kinsey Moore <kmoore@digium.com>

	* configs/cel.conf.sample: Update CEL sample config

2013-08-23 00:26 +0000 [r397505]  Jonathan Rose <jrose@digium.com>

	* res/res_stasis.c, rest-api/api-docs/bridges.json,
	  res/ari/resource_bridges.c, res/res_ari_bridges.c,
	  res/ari/resource_bridges.h, include/asterisk/stasis_app.h: ARI:
	  Music on Hold/Background Music for bridges Adds ARI functions to
	  be able to turn on/off music on hold in a bridge. It actually
	  functions more as a background music without further actions on
	  the bridge since if the rest of the channels in the bridge aren't
	  explicitly muted, they will still be able to communicate. (closes
	  issue ASTERISK-21974) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2688/

2013-08-22 23:15 +0000 [r397494]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_followme.c, main/channel.c, bridges/bridge_holding.c:
	  Minor tweaks with ast_moh_start() callers.

2013-08-22 22:33 +0000 [r397493]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/say.h, apps/app_voicemail.c, main/channel.c,
	  main/pbx.c, main/say.c, res/res_agi.c, CHANGES,
	  apps/app_directory.c, apps/app_chanspy.c: Add SayAlphaCase and
	  similar functionality for AGI This adds a new dialplan
	  application, SayAlphaCase, that performs much the same function
	  as SayAlpha except that it takes additional options which allow
	  the user to specify whether the case of each letter should be
	  announced for uppercase, lowercase, or all letters. Similar
	  functionality has been added to the SAY ALPHA AGI command via an
	  optional parameter. Original Patch by: Kevin Scott Adams Reported
	  by: Kevin Scott Adams Review:
	  https://reviewboard.asterisk.org/r/2725/ (closes issue
	  ASTERISK-20782)

2013-08-22 22:09 +0000 [r397484]  Kevin Harwell <kharwell@digium.com>

	* res/res_pjsip.c, res/res_pjsip_dtmf_info.c: res_sip_dtmf_info:
	  Support sending of 'raw' DTMF Added the ability to handle 'raw'
	  DTMF within the body of an INFO message. Also made it so values
	  10-16 are mapped to valid DTMF values. (closes issue
	  ASTERISK-22144) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2776/

2013-08-22 21:39 +0000 [r397483]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip.c: Add missing configOption close tags

2013-08-22 21:29 +0000 [r397482]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/musiconhold.h: Update MOH start/stop routine
	  doxygen.

2013-08-22 21:21 +0000 [r397481]  Rusty Newton <rnewton@digium.com>

	* res/res_pjsip.c: Fix missing xml doc configOption 'type' for for
	  both 'system' and 'global' configObjects (issue ASTERISK-22344)
	  (closes issue ASTERISK-22344)

2013-08-22 21:09 +0000 [r397472]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridge_channel.h, main/features.c,
	  bridges/bridge_builtin_interval_features.c,
	  include/asterisk/bridge_internal.h, apps/app_confbridge.c,
	  main/bridge_channel.c, res/res_stasis.c,
	  include/asterisk/bridge.h, apps/app_dial.c, main/bridge.c,
	  main/bridge_basic.c, apps/app_bridgewait.c,
	  res/parking/parking_applications.c,
	  res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
	  res/res_parking.c, bridges/bridge_builtin_features.c: Bridge API:
	  Set a cause code on a channel when it is ejected from a bridge.
	  The cause code needs to be passed from the disconnecting channel
	  to the bridge peers if the disconnecting channel dissolves the
	  bridge. * Made the call to an app_agent_pool agent disconnect
	  with the busy cause code if the agent does not ack the call in
	  time or hangs up before acking the call. (closes issue
	  ASTERISK-22042) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2772/

2013-08-22 20:29 +0000 [r397471]  Kinsey Moore <kmoore@digium.com>

	* main/cel.c: Ensure CEL creates a default config if it isn't
	  provided with one

2013-08-22 20:18 +0000 [r397466]  Mark Michelson <mmichelson@digium.com>

	* apps/app_queue.c: Remove set but unused variable 'meid'.

2013-08-22 19:52 +0000 [r397461]  Kinsey Moore <kmoore@digium.com>

	* main/cel.c: Fix crash when getting CEL config

2013-08-22 18:52 +0000 [r397441-397451]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/core_unreal.h, include/asterisk/features.h,
	  include/asterisk/app.h, main/bridge.c, main/bridge_basic.c,
	  main/features.c, main/app.c, main/core_local.c, CHANGES,
	  apps/app_queue.c, include/asterisk/bridge_basic.h: Massively
	  clean up app_queue. This essentially makes app_queue usable
	  again. From reviewboard: * Reporting of transfers and call
	  completion is done by creating stasis subscriptions and listening
	  for specific events in order to determine when the call is
	  finished (either via a transfer or hangup). * Dial end messages
	  have been added where they were previously missing. * Queue stats
	  are properly being updated again once calls have finished. *
	  AgentComplete stasis messages and AMI events are now occurring
	  again. * Mixmonitor starting has been factored into its own
	  function and uses the Mixmonitor API now instead of using
	  ast_pbx_run() In addition to the changes in app_queue, there are
	  several supplementary changes as well: * Queue logging now
	  differentiates between attended and blind transfers. A note about
	  this is in the CHANGES file. * Local channel optimization events
	  now report more information. This includes which of the two local
	  channels involved is the destination of the optimization, the
	  channel that is replacing the destination local channel, and an
	  identifier so that begin and end events can be matched to each
	  other. The end events are now sent whether the optimization was
	  successful or not and includes an indicator of whether the
	  optimization was successful. * Changes were made to features and
	  bridging_basic so that additional flags may be set on a bridge.
	  This is necessary because the queue requires that its bridge only
	  allows move-swap local channel optimizations into the bridge.
	  (closes issue ASTERISK-21517) Reported by Matt Jordan (closes
	  issue ASTERISK-21943) Reported by Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2694

	* res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
	  res/res_pjsip_mwi.c, res/res_pjsip_pubsub.c: Handle default body
	  types for SIP event packages in res_pjsip_pubsub Prior to this
	  change, we would reject SUBSCRIBE requests that had no Accept
	  headers. Now event package handlers that handle the default type
	  for the event package indicate that they do so. Therefore, if we
	  have a handler that can handle the default type, we can allow
	  SUBSCRIBEs for the handler's event package that have no Accept
	  headers. (closes issue ASTERISK-22067) reported by Mark Michelson
	  Review: https://reviewboard.asterisk.org/r/2774

2013-08-22 17:34 +0000 [r397440]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge_channel.c, main/abstract_jb.c: Made the abstract
	  jitter buffer resync on some more control frames. Resync the
	  abstract jitter buffer on the following additional control
	  frames: AST_CONTROL_HOLD AST_CONTROL_UNHOLD
	  AST_CONTROL_T38_PARAMETERS

2013-08-22 17:13 +0000 [r397431]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c, main/cel.c, include/asterisk/cel.h: Make CEL
	  behavior conform to the documentation This modifies the behavior
	  of the CEL engine to conform to documented behavior for Asterisk
	  12 as defined on the wiki
	  https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CEL+Specification
	  The primary changes deal with removal of the peer field from
	  function calls since it is no longer directly relevant to the
	  bridging system and removal of the layer of CDR-like business
	  logic that was providing a partial emulation of Asterisk 11 CEL
	  functionality. With this change, there is no longer a distinction
	  between "bridges" and "conferences" and all participation changes
	  are denoted with bridge enter and bridge exit messages. This
	  updates the CEL unit tests to handle these changes and simplifies
	  some of the macros used in the process. This also fixes a
	  segfault when attempting to ref a configuration that failed to
	  load. Review: https://reviewboard.asterisk.org/r/2788/ (issue
	  ASTERISK-21567)

2013-08-22 16:46 +0000 [r397426]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge.c: Update BUGBUG comment.

2013-08-22 12:28 +0000 [r397379-397415]  Walter Doekes <walter+asterisk@wjd.nu>

	* main/asterisk.c: Don't store repeated commands in the editline
	  history buffer. The equivalent of bash HISTCONTROL=ignoredups.
	  Review: https://reviewboard.asterisk.org/r/2775/

	* /, main/asterisk.exports.in, default.exports: Add _IO_stdin_used
	  in version-script to fix SIGBUSes on Sparc. The
	  --version-script,asterisk.exports linker flag (and the module
	  exports) didn't provide _IO_stdin_used in the list of exported
	  symbols. That causes some kind of libc compatibility mode to kick
	  in, where stdio file structures (stdout/stderr) land somewhere
	  else. In the case of the Sparc, they landed on misaligned memory.
	  This became apparent first after r376428 (Reorder startup
	  sequence) when a lot of ast_log's were replaced with fprintf's.
	  Writing to stderr triggered a SIGBUS. (Compared to x86 and amd64
	  architectures, the Sparc is very picky about memory alignment.)
	  (issue ASTERISK-21763) (issue ASTERISK-21665) Reported by: Jeremy
	  Kister Review: https://reviewboard.asterisk.org/r/2760/ ........
	  Merged revisions 397377 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397378 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-21 23:09 +0000 [r397366]  Jonathan Rose <jrose@digium.com>

	* main/udptl.c, /: UDPTL: Fix a regression where UDPTL won't load
	  default settings If the file udptl.conf is unavailable at
	  startup, UDPTL will fail to initialize and while it makes some
	  noise, it isn't immediately obvious why consumers start to fail
	  when using it. This patch makes UDPTL load as though an empty
	  config was provided when udptl is unavailable at startup. (closes
	  issue ASTERISK-22349) Reported by: Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/2773/ ........ Merged
	  revisions 397365 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-21 20:02 +0000 [r397346-397355]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridge_basic.h, main/bridge_basic.c,
	  main/features.c: * Move ast_bridge_channel_setup_features() into
	  bridge_basic.c. * Made application map hooks be removed on a
	  basic bridge personality change.

	* main/bridge.c, main/bridge_channel.c: Deferred some more BUGBUG
	  comments to a JIRA issue or XXX comment.

2013-08-21 17:12 +0000 [r397310]  David M. Lee <dlee@digium.com>

	* /, main/http.c: Complete http_shutdown. This patch frees up some
	  resources allocated in http.c. * tcp listeners stopped * tls
	  settings freed * uri redirects freed * unregister internal http.c
	  uri's (closes issue ASTERISK-22237) Reported by: Corey Farrell
	  Patches: http.patch uploaded by Corey Farrell (license 5909)
	  ........ Merged revisions 397308 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397309 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-21 16:31 +0000 [r397307]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/frame.h, /: Set 14400 as the default max bit
	  rate if T38MaxBitRate is not specified If an endpoint fails to
	  include the T38MaxBitRate attribute during negotiation, Asterisk
	  will negotiate a bit rate of 2400 instead of the ITU recommended
	  bit rate of 14400. This patch fixes this by making
	  AST_T38_RATE_14400 the 'default' value of the enum by assigning
	  it a value of 0, such that if an endpoint fails to include the
	  attribute, the default will be 14400. Note that Walter Doekes
	  included the nice comment in frame.h about why we are
	  purposefully assigning AST_T38_RATE_14400 a value of 0. (closes
	  issue ASTERISK-22275) Reported by: Andreas Steinmetz patches:
	  fax-fix.patch uploaded by anstein (License 6523) ........ Merged
	  revisions 397256 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397257 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-21 16:23 +0000 [r397295-397306]  David M. Lee <dlee@digium.com>

	* rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c,
	  res/res_ari_asterisk.c, rest-api/api-docs/channels.json,
	  res/ari/resource_channels.c, res/res_ari_channels.c: ARI: Correct
	  segfault with /variable calls are missing ?variable parameter.
	  Both /asterisk/variable and /channel/{channelId}/variable
	  requires a ?variable parameter to be passed into the query. But
	  we weren't checking for the parameter being missing, which caused
	  a segfault. All calls now properly return 400 Bad Request errors
	  when the parameter is missing. The Swagger api-docs were updated
	  accordingly. (closes issue ASTERISK-22273)

	* main/stasis_endpoints.c: ARI: Remove the 'channel:' scheme from
	  endpoint's channel list. For times when a reference in ARI might
	  be ambiguous, the reference is built as an URI (such as
	  channel:1376341790.3). An endpoint's channel list is not
	  ambiguous, and in fact the field is named 'channel_ids', but it
	  had channel URI's instead of channel id's. This patch changes the
	  list to be the raw id instead of the URI. (closes issue
	  ASTERISK-22291)

	* res/stasis/control.h, res/res_stasis.c: res_stasis: remove call
	  to missing function control_continue. In the shuffling around of
	  res_stasis, control_continue was renamed to
	  stasis_app_control_continue, but the call in res_stasis wasn't
	  updated. In looking into it, it turns out it wasn't really the
	  right thing to do in res_stasis anyways. This patch changes the
	  handling of received a AST_CONTROL_HANGUP frame to be the same as
	  receiving a NULL frame, and removed the declaration of
	  control_continue(), since it doesn't exist any more. (closes
	  issue ASTERISK-22292) Reported by: Denis Smirnov

2013-08-21 15:51 +0000 [r397294]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_bridgewait.c, include/asterisk/bridge_features.h,
	  main/bridge_channel.c, res/parking/parking_bridge_features.c,
	  apps/app_agent_pool.c, bridges/bridge_holding.c, main/bridge.c,
	  include/asterisk/bridge_channel.h, main/features.c,
	  bridges/bridge_builtin_interval_features.c: Fix several
	  interrelated issues dealing with the holding bridge technology. *
	  Added an option flags parameter to interval hooks. Interval hooks
	  now can specify if the callback will affect the media path or
	  not. * Added an option flags parameter to the bridge action
	  custom callback. The action callback now can specify if the
	  callback will affect the media path or not. * Made the holding
	  bridge technology reexamine the participant idle mode option
	  whenever the entertainment is restarted. * Fixed app_agent_pool
	  waiting agents needlessly starting and stopping MOH every second
	  by specifying the heartbeat interval hook as not affecting the
	  media path. * Fixed app_agent_pool agent alert from restarting
	  the MOH after the alert beep. The agent entertainment is now
	  changed from MOH to silence after the alert beep. * Fixed holding
	  bridge technology to defer starting the entertainment. It was
	  previously a mixture of immediate and deferred. * Fixed holding
	  bridge technology to immediately stop the entertainment. It was
	  previously a mixture of immediate and deferred. If the channel
	  left the bridging system, any deferred stopping was discarded
	  before taking effect. * Miscellaneous holding bridge technology
	  rework coding improvements. Review:
	  https://reviewboard.asterisk.org/r/2761/

2013-08-21 14:39 +0000 [r397255]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Prevent a crash on outbound SIP MESSAGE
	  requests. If a From header on an outbound out-of-call SIP MESSAGE
	  were malformed, the result could crash Asterisk. In addition, if
	  a From header on an incoming out-of-call SIP MESSAGE request were
	  malformed, the message was happily accepted rather than being
	  rejected up front. The incoming message path would not result in
	  a crash, but the behavior was bad nonetheless. (closes issue
	  ASTERISK-22185) reported by Zhang Lei ........ Merged revisions
	  397254 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-21 14:08 +0000 [r397244]  Kinsey Moore <kmoore@digium.com>

	* res/res_stasis.c: Allow channels in app_stasis to hangup properly
	  This detects hangups that occur while bridged to allow channels
	  to exit app_stasis even if the hangup frame was absorbed by the
	  bridge the channel was in. Reported by: David Lee (closes issue
	  ASTERISK-22297)

2013-08-21 13:41 +0000 [r397243]  Matthew Jordan <mjordan@digium.com>

	* CHANGES, channels/chan_sip.c: Allow the SIP_CODEC family of
	  variables to specify more than one codec The SIP_CODEC family of
	  variables let you set the preferred codec to be offered on an
	  outbound INVITE request. However, for video calls, you need to be
	  able to set both the audio and video codecs to be offered. This
	  patch lets the SIP_CODEC variables accept a comma delineated list
	  of codecs. The first codec in the list is set as the preferred
	  codec; additional codecs are still offered however. This lets a
	  dialplan writer set both audio and video codecs, e.g.,
	  Set(SIP_CODEC=ulaw,h264) Note that this feature was written by
	  both Dennis Guse and Frank Haase Review:
	  https://reviewboard.asterisk.org/r/2728 (closes issue
	  ASTERISK-21976) Reported by: Denis Guse Tested by: mjordan,
	  sysreq patches: patch-channels-chan__sip.c-393919 uploaded by
	  dennis.guse (license 6513)

2013-08-21 02:15 +0000 [r397206]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix Not Storing Current Incoming Recv
	  Address In 1.8, r384779 introduced a regression by retrieving an
	  old dialog and keeping the old recv address since recv was
	  already set. This has caused a problem when a proxy is involved
	  since responses to incoming requests from the proxy server, after
	  an outbound call is established, are never sent to the correct
	  recv address. In 11, r382322 introduced this regression. The fix
	  is to revert that change and always store the recv address on
	  incoming requests. Thank you Walter Doekes for helping to point
	  out this error and Mark Michelson for your input/review of the
	  fix. (closes issue ASTERISK-22071) Reported by: Alex Zarubin
	  Tested by: Alex Zarubin, Karsten Wemheuer Patches:
	  asterisk-22071-store-recvd-address.diff by Michael L. Young
	  (license 5026) ........ Merged revisions 397204 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397205 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-20 21:01 +0000 [r397111-397193]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/res_pjsip.h, res/res_pjsip/config_security.c
	  (removed), res/res_pjsip/pjsip_configuration.c,
	  res/res_pjsip_acl.c: Localize and rename ACL configuration. This
	  is more-or-less a reversion of previous ACL behavior so that it
	  is more self-contained. ACL sections are now only parsed if
	  res_pjsip_acl.so is loaded. Moreover, the configuration section
	  is now "type=acl" instead of "type=security". The original reason
	  for having ACLs configured in a "type=security" section was to
	  lump ACLs and other security-related items into the same section.
	  The problem is that ACLs really should be in their own sections
	  and there are no other security-related options implemented
	  anyways.

	* /, channels/chan_sip.c: Remove REF_DEBUG definition. ........
	  Merged revisions 397156 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397157 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c, channels/sip/dialplan_functions.c: Fix
	  refcounting of sip_pvt in test_sip_rtpqos test and unlink it from
	  the list of pvts. (closes issue ASTERISK-22248) reported by Corey
	  Farrell patches: test_sip_rtpqos.patch uploaded by Corey Farrell
	  (license #5909) ........ Merged revisions 397112 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397133 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_pjsip.c: Clarify documentation for the "identify_by"
	  option for SIP endpoints. This also removes documentation for the
	  options that no longer exist. (closes issue ASTERISK-22306)
	  reported by Rusty Newton

2013-08-20 15:36 +0000 [r397110]  Kinsey Moore <kmoore@digium.com>

	* /, main/threadstorage.c, main/astfd.c: Unregister CLI commands on
	  exit This patch ensures that CLI commands enabled by
	  DEBUG_FD_LEAKS and DEBUG_THREADLOCALS are cleaned up properly on
	  exit. (closes issue ASTERISK-22238) Reported by: Corey Farrell
	  Tested by: Corey Farrell Patches: debug_cli_unregister.patch
	  uploaded by Corey Farrell ........ Merged revisions 397106 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 397107 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-20 15:32 +0000 [r397073-397109]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_endpoint_identifier_ip.c: Add debug message to
	  res_pjsip_endpoint_identifier_ip to indicate when an endpoint is
	  successfully retrieved. (closes issue ASTERISK-22101) reported by
	  Rusty Newton

	* res/res_pjsip_registrar.c: Add warning messages for registration
	  failure paths. (closes issue ASTERISK-22089) reported by Rusty
	  Newton patches: patch1.txt uploaded by John Bigelow (License
	  #5091)

	* res/res_pjsip.c: Add note to transport configuration that a
	  restart is required to change transports. (closes issue
	  ASTERISK-22094) reported by Rusty Newton

2013-08-20 14:26 +0000 [r397072]  Kinsey Moore <kmoore@digium.com>

	* /: Recorded merge of revisions 397067 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix
	  xmldoc memory leak This fixes a single-attribute memory leak that
	  was occurring when the "required" attribute was not true. (closes
	  issue ASTERISK-22249) Reported by: Corey Farrell Tested by: Corey
	  Farrell Patches: xmldoc-free_attr_required.patch uploaded by
	  Corey Farrell ........ Merged revisions 397064 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8

2013-08-20 11:48 +0000 [r396996]  Walter Doekes <walter+asterisk@wjd.nu>

	* configs/sip.conf.sample, configs/h323.conf.sample, /: Add
	  "autoframing" option to sip.conf.sample and h323.conf.sample. The
	  autoframing option was added to chan_sip.c in r43243 (mogorman,
	  2006-09-19 01:32:57), but never made its way into the sample
	  configs. Review: https://reviewboard.asterisk.org/r/2768/
	  ........ Merged revisions 396994 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 396995 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-20 11:33 +0000 [r396993]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_dtmf_info.c: Remove assumption in
	  res_pjsip_dtmf_info that all INFO messages will contain a body.
	  (closes issue ASTERISK-22320) Reported by: Matt Jordan

2013-08-20 00:08 +0000 [r396946-396949]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_queue.c: Let Queue wrap up time influence member
	  availability Queue members who happen to be in multiple queues at
	  the same time may not have any wrap up time. This problem
	  occurred due to a code change in Asterisk 11.3.0 that unified
	  device state tracking of Queue members in multiple Queues (which
	  fixed some other problems, but unfortunately caused this one).
	  This patch fixes the behavior by having the is_member_available
	  function check the queue's wrap up time and the time of the
	  member's last call, such that for a particular queue, the member
	  won't be considered available if their last call is within the
	  wrap up time. (closes issue ASTERISK-22189) Reported by: Tony
	  Lewis Tested by: Tony Lewis ........ Merged revisions 396948 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_meetme.c: Resolve conflicts between
	  CONFFLAG_DONT_DENOISE and CONFFLAG_INTROUSER_VMREC When r382230
	  added an option to not denoise the MeetMe conference (if a user
	  had a channel whose format's sample rate changed frequently, for
	  example), the value added was the maximum allowed value for the
	  constants that define the options for MeetMe in 1.8. Not so in 11
	  - unfortunately, the option CONFFLAG_DONT_DENOISE conflicts with
	  CONFFLAG_INTROUESR_VMREC. This patch fixes that, and also tweaks
	  one of the way in which the constants was declared for
	  consistency. Thanks to Tony Mountifield for pointing out the
	  problem and solution. (closes issue ASTERISK-22269) Reported by:
	  Tony Mountifield ........ Merged revisions 396944 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-19 16:10 +0000 [r396930]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge.c: Update BUGBUG comment.

2013-08-19 14:54 +0000 [r396923]  Jonathan Rose <jrose@digium.com>

	* main/bridge.c: attended transfers: Fix a bug affecting external
	  blond transfers Performing a blond transfer (attended transfer
	  that is completed before the transfer recipient picks up)
	  externally through chan_sip or chan_pjsip would result in lost
	  references to the channels involved with the transfer as well as
	  their bridge. (closes issue ASTERISK-22092) Reported by:
	  mmichelson Review: https://reviewboard.asterisk.org/r/2766/

2013-08-19 14:53 +0000 [r396915-396922]  Matthew Jordan <mjordan@digium.com>

	* channels/sip/include/sip.h: Whitespace cleanup Remove some
	  extraneous blobs

	* main/data.c: Fix invalid access to disposed memory in main/data
	  unit test It is not safe to iterate over a macro'd list of ao2
	  objects, deref them such that the item's destructor is called,
	  and leave them in the list. The list macro to iterate over items
	  requires the item to be a valid allocated object in order to
	  proceed to the next item; with MALLOC_DEBUG on the corruption of
	  the linked list is caught in the crash. This patch fixes the
	  invalid access to free'd memory by removing the ao2 item from the
	  list before de-refing it.

2013-08-18 03:05 +0000 [r396908-396909]  Kinsey Moore <kmoore@digium.com>

	* channels/chan_mgcp.c: Update chan_mgcp to the modified parking
	  API

	* res/res_corosync.c: Disable build of res_corosync until it is
	  back in a compiling state

2013-08-17 18:13 +0000 [r396899-396902]  Rusty Newton <rnewton@digium.com>

	* res/res_pjsip.c: xml doc changes for 'aor' config object and a
	  few of its options Added or modified text in the xml doc for the
	  'aor' config object to address a few issues: * help for the
	  'mailboxes' option didn't make it clear how the "list" should be
	  formatted. * AoR object's involvement in inbound registration
	  wasn't mentioned. * help for the 'contact' option didn't describe
	  how to specify multiple contacts. * help for the 'max_contacts'
	  option didn't tell whether it limited the amount of contacts
	  defined through static configuration. (issue ASTERISK-22118)
	  (closes issue ASTERISK-22118)

	* res/res_pjsip.c: 'domain_alias' config object XML help doesn't
	  make it clear that the name used for the object is the domain
	  alias (issue ASTERISK-22114) (closes issue ASTERISK-22114)

	* res/res_pjsip.c: xml doc changes for clarity - 'auth' config
	  object and auth's 'auth_type' config option (issue
	  ASTERISK-22108) (closes issue ASTERISK-22108)

	* res/res_pjsip.c: xml doc change for transport config object -
	  remove non-applicable warning and add text regarding Asterisk
	  restart (closes issue ASTERISK-22105)

2013-08-17 15:01 +0000 [r396887-396890]  Kinsey Moore <kmoore@digium.com>

	* main/bridge.c, res/parking/parking_applications.c,
	  include/asterisk/parking.h, main/bridge_channel.c,
	  res/parking/parking_bridge_features.c, channels/chan_dahdi.c,
	  res/parking/res_parking.h, res/res_parking.c,
	  channels/sig_analog.c, channels/chan_skinny.c, main/parking.c:
	  Allow res_parking to be unloadable This change protects accesses
	  of res_parking such that it can unload safely once transient uses
	  of its registered functions are complete. The parking API has
	  been restructured such that its consumers do not have access to
	  the vtable exposed by the parking provider, but instead route
	  through stubs to prevent consumers from holding on to function
	  pointers. This adds calls to all the parking unload functions and
	  moves application loading and unloading into functions in
	  parking_applications.c similar to the rest of the parts of
	  res_parking. Review: https://reviewboard.asterisk.org/r/2763/
	  (closes issue ASTERISK-22142)

	* tests/test_event.c, include/asterisk/_private.h, main/cel.c,
	  cel/cel_odbc.c, include/asterisk/event.h,
	  include/asterisk/event_defs.h, cel/cel_manager.c,
	  cel/cel_custom.c, tests/test_cel.c, cel/cel_sqlite3_custom.c,
	  main/event.c, main/asterisk.c, cel/cel_pgsql.c, cel/cel_radius.c,
	  include/asterisk/cel.h, cel/cel_tds.c: Refactor CEL to avoid
	  using the event system core This removes usage of the event
	  system for CEL backend data distribution and strips unused pieces
	  out of the event system. Review:
	  https://reviewboard.asterisk.org/r/2732/

	* main/presencestate.c, channels/sig_pri.h, res/res_parking.c,
	  channels/chan_dahdi.c, main/manager.c,
	  funcs/func_presencestate.c, include/asterisk/event.h,
	  include/asterisk/event_defs.h, channels/chan_skinny.c,
	  tests/test_cel.c, main/event.c,
	  include/asterisk/security_events_defs.h,
	  res/parking/parking_manager.c, channels/chan_mgcp.c,
	  res/res_security_log.c, apps/app_voicemail.c,
	  res/parking/parking_ui.c, channels/chan_unistim.c, main/pbx.c,
	  include/asterisk/devicestate.h, main/security_events.c,
	  channels/chan_sip.c, main/ccss.c, tests/test_event.c,
	  main/devicestate.c, res/parking/parking_applications.c,
	  res/res_xmpp.c, channels/sig_pri.c, channels/chan_iax2.c,
	  apps/app_queue.c, res/res_jabber.c: Strip down the old event
	  system This removes unused code, event types, IE pltypes, and
	  event IE types where possible and makes several functions private
	  that were once public. This includes a renumbering of the
	  remaining event and IE types which breaks binary compatibility
	  with previous versions. The last remaining consumers of the old
	  event system (or parts thereof) are main/security_events.c,
	  res/res_security_log.c, tests/test_cel.c, tests/test_event.c,
	  main/cel.c, and the CEL backends. Review:
	  https://reviewboard.asterisk.org/r/2703/ (closes issue
	  ASTERISK-22139)

2013-08-16 20:48 +0000 [r396849-396877]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge_channel.c, include/asterisk/bridge.h, main/bridge.c,
	  include/asterisk/bridge_channel.h: Fix CLI "bridge kick <bridge>
	  <channel>" to check if the bridge needs dissolving. SIP/foo --
	  Local;1==Local;2 -- .... -- Local;1==Local;2 -- SIP/bar Kick a ;1
	  channel and the chain toward SIP/foo goes away. Kick a ;2 channel
	  and the chain toward SIP/bar goes away. This can leave a local
	  channel chain between the kicked ;1 and ;2 channels that are
	  orphaned until you manually request one of those channels to
	  hangup or request the bridge to dissolve. * Added
	  ast_bridge_kick() as a companion to ast_bridge_remove(). The
	  functional difference is that ast_bridge_kick() may dissolve the
	  bridge as a result of the channel leaving the bridge. * Made CLI
	  "bridge kick <bridge> <channel>" use ast_bridge_kick() instead of
	  ast_bridge_remove() so the bridge can dissolve if needed. *
	  Renamed bridge_channel_handle_hangup() to
	  ast_bridge_channel_kick() and made it accessible to other files.

	* include/asterisk/doxygen/architecture.h,
	  include/asterisk/bridge_channel_internal.h: Fix some doxygen
	  bridging file references.

	* res/parking/parking_bridge_features.c, main/cdr.c, main/data.c,
	  main/manager.c, tests/test_jitterbuf.c, main/features.c,
	  tests/test_voicemail_api.c, main/file.c, tests/test_cel.c,
	  main/stasis_channels.c, main/bridge_channel.c, main/message.c,
	  tests/test_cdr.c, main/db.c, main/xmldoc.c, main/format.c,
	  res/res_rtp_asterisk.c, main/pbx.c, main/rtp_engine.c,
	  tests/test_abstract_jb.c, channels/chan_sip.c, main/pickup.c,
	  apps/app_queue.c, main/indications.c: Doxygen comment tweaks.

	* main/utils.c, main/hashtab.c: Fix utilities compilation/linking.
	  The horrid structure of the source in the utils directory strikes
	  again. Moved the _ast_mem_backtrace_buffer[] definition from the
	  logical location in utils.c to hashtab.c so the aelparse and
	  conf2ael utilities can link.

	* include/asterisk/utils.h: utils.h: Minor formatting tweaks.

2013-08-16 16:03 +0000 [r396842]  David M. Lee <dlee@digium.com>

	* main/stasis.c, main/stasis_cache_pattern.c, main/stasis_cache.c,
	  include/asterisk/astobj2.h, main/stasis_channels.c,
	  tests/test_stasis.c: Stasis: address refcount races;
	  implementation comments Change r395954 reordered some stasis
	  object destruction, which should have been fine. Unfortunately,
	  it caused some hard to reproduce issues related to objects being
	  accessed after they had been destroyed. The patch in r396329
	  fixed the destruction order problem; this patch addresses the
	  underlying issue. A few other stasis-related fixes were also
	  added. * Add ref-bumps around areas where objects may get
	  transitively destroyed. (For example, where we lock a topic,
	  unref a subscription, which unrefs the topic, which explodes the
	  topic when we try to unlock it.) * Wrote an extensive doxygen
	  page about Stasis implementation, relationships between objects,
	  lifecycles of objects, how the refcounting works, etc. Many other
	  comments were added, corrected, or cleaned up. * Added an assert
	  to the topic dtor to catch extra ref decrements. * Fixed type
	  used after destruction errors for graceful shutdown in
	  stasis_channels.c. * I added two unit tests in an attempt to
	  catch destruction order issues. Since the underlying cause is a
	  race condition, though, the tests rarely failed even when the
	  code was wrong. * Fixed a leak in stasis_cache_pattern.c. (closes
	  issue ASTERISK-22243) Review:
	  https://reviewboard.asterisk.org/r/2746/

2013-08-16 12:20 +0000 [r396829]  Kinsey Moore <kmoore@digium.com>

	* main/utils.c, main/sounds_index.c, main/loader.c: Improve sounds
	  indexer CLI commands This reworks the CLI commands used to access
	  sounds information from "sounds show[ soundid]" to "core show
	  sounds" and "core show sound <soundid>". This also reworks the
	  "sounds reload" CLI command to fall under normal module reloading
	  ("module reload sounds"). Also, make trunk build when
	  DEBUG_MALLOC is not enabled. Review:
	  https://reviewboard.asterisk.org/r/2745/ (closes issue
	  ASTERISK-22141)

2013-08-16 07:18 +0000 [r396822]  Walter Doekes <walter+asterisk@wjd.nu>

	* include/asterisk/utils.h, main/pbx.c, main/utils.c: Prevent heap
	  alloc functions from running out of stack space. When asterisk
	  has run out of memory (for whatever reason), the alloc function
	  logs a message. Logging requires memory. A recipe for infinite
	  recursion. Stop the recursion by comparing the function call
	  depth for sane values before attempting another OOM log message.
	  Review: https://reviewboard.asterisk.org/r/2743/

2013-08-15 22:10 +0000 [r396783-396814]  Richard Mudgett <rmudgett@digium.com>

	* main/bridge_channel.c: Bridge: Don't suspend/unspend the channel
	  for interception routines. By their nature, the connected line
	  and redirecting interception routines are not supposed to affect
	  the channel's media. Therefore, they should not suspend and
	  unsuspend the channel while running. The suspend/unsuspend
	  operations could be expensive depending upon the bridge and
	  channel technology involved.

	* res/parking/res_parking.h, res/res_parking.c,
	  res/parking/parking_tests.c, main/features.c: Minor parking
	  cleanup.

	* res/parking/parking_bridge_features.c: Parking: Eliminate local
	  channel name hack to get peer channel. (closes issue
	  ASTERISK-22034) Reported by: Matt Jordan

	* main/bridge_channel.c, main/features.c: Remove early bridge
	  BUGBUG comments. Remove some unneeded features.c comments.

	* configs/features.conf.sample: Update features.conf.sample
	  atxferdropcall option.

	* main/bridge.c, include/asterisk/bridge_channel.h,
	  main/config_options.c, main/bridge_channel.c,
	  apps/confbridge/conf_config_parser.c: Changed some BUGBUG tags to
	  associated JIRA issue tags.

	* main/bridge.c, main/features.c, bridges/bridge_softmix.c,
	  include/asterisk/bridge.h: Resolve some BUGBUG comments.

2013-08-15 16:37 +0000 [r396747]  Kinsey Moore <kmoore@digium.com>

	* main/asterisk.c, main/cli.c, /: Remove leading spaces from the
	  CLI command before parsing If you've mistakenly put a space
	  before typing in a command, the leading space will be included as
	  part of the command, and the command parser will not find the
	  corresponding command. This patch rectifies that situation by
	  stripping the leading spaces on commands. Review:
	  https://reviewboard.asterisk.org/r/2709/ Patch-by: Tilghman
	  Lesher ........ Merged revisions 396745 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 396746 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-15 15:12 +0000 [r396732-396734]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_vpb.cc, main/features.c,
	  include/asterisk/channel.h, channels/chan_iax2.c: Remove some
	  dead code dealing with: AST_BRIDGE_REC_CHANNEL_0,
	  AST_BRIDGE_REC_CHANNEL_1, and AST_BRIDGE_IGNORE_SIGS.

	* include/asterisk/bridge_channel_internal.h, main/manager.c,
	  main/bridge_channel.c: Fix Bridge API DTMF hook matching for
	  begin and end DTMF events. The Bridge API DTMF hook matching
	  would not deal with DTMF end events only. It required a DTMF
	  begin event to start matching the DTMF hooks. There are many
	  places in Asterisk where code only generates DTMF end events
	  without the corresponding begin event. One such place is the AMI
	  action Atxfer. * Fixed DTMF hook matching if there is a string of
	  DTMF frames in the read queue. We could potentially miss some of
	  them before. * Fixed AMI Atxfer action documentation. (closes
	  issue ASTERISK-22037) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2752/

2013-08-15 12:17 +0000 [r396722-396724]  Kinsey Moore <kmoore@digium.com>

	* apps/app_confbridge.c, main/bridge.c, main/features.c: Fix
	  feature_attended_transfer test The feature_attended_transfer test
	  is failing due to Asterisk not passing DTMF in the bridges
	  created for internal attended transfers. This sets the features
	  initialization routine to set this flag by default and adjusts
	  the basic bridge and confbridge's use of the bridging system
	  accordingly as per Richard's suggestion instead of adjusting this
	  individual case. This change allows the necessary DTMF to pass
	  through the attended transfer bridge and complete the test
	  successfully. Review: https://reviewboard.asterisk.org/r/2759/
	  (closes issue ASTERISK-22222)

	* main/utils.c, include/asterisk/lock.h, channels/chan_sip.c: Fix
	  deadlocks in chan_sip in REFER and BYE handling This resolves
	  several deadlocks in chan_sip relating to usage of
	  ast_channel_bridge_peer and improves accessibility of lock
	  debugging function calls. Review:
	  https://reviewboard.asterisk.org/r/2756/ (closes issue
	  ASTERISK-22215)

	* res/res_stasis.c: Prevent automagic things from happening to
	  Stasis application bridges This prevents swap optimization,
	  merges, and transfers involving Stasis application bridges. It
	  wouldn't be nice if the bridge you thought you owned disappeared
	  from under you. Reported-by: Richard Mudgett

2013-08-15 00:16 +0000 [r396695-396713]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/channel.h, main/channel.c, channels/chan_vpb.cc:
	  Remove unsupported channel technology callbacks.

	* channels/chan_vpb.cc: chan_vpb: Effectively remove native
	  support. Left enough bread crumbs to be able to convert later if
	  needed.

	* channels/chan_iax2.c: chan_iax2: Conditionally remove native
	  support for now. (issue ASTERISK-21944)

	* channels/chan_misdn.c: chan_misdn: Effectively remove native
	  support. Left enough bread crumbs to be able to convert later if
	  needed.

	* apps/app_bridgewait.c: app_bridgewait: Inhibit local channel
	  optimizations to the bridge. Holding bridges can allow local
	  channel move/swap optimization to the bridge. However, we cannot
	  allow it for the BridgeWait holding bridge because the call will
	  lose the channel roles and dialplan location as a result.

2013-08-14 19:06 +0000 [r396621-396658]  Joshua Colp <jcolp@digium.com>

	* /, tests/test_hashtab_thrash.c: Tweak comment for why usleep is
	  used. ........ Merged revisions 396656 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 396657 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* tests/test_hashtab_thrash.c, /: Tweak test_hashtab_thrash test to
	  allow the critical threads to execute. Depending on certain
	  conditions it was possible for the hashtab counting thread to
	  starve other threads, preventing them from executing in the
	  expected fashion. This change adds a sleep to allow the others to
	  do what they need to do. While this doesn't thrash the hashtab as
	  much as previously, it at least works. (closes issue
	  ASTERISK-22276) Reported by: Matt Jordan ........ Merged
	  revisions 396619 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 396620 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-13 18:47 +0000 [r396581-396584]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: chan_sip: Convert 'just did sched_add
	  waitid...' from warning to debug message. Patches:
	  reviewboard-2377.patch uploaded by Paul Belanger Review:
	  https://reviewboard.asterisk.org/r/2377/ ........ Merged
	  revisions 396582 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 396583 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: chan_sip: Fix IP-addr in warning when
	  rejecting a contact ACL. Patches: reviewboard-2155.patch uploaded
	  by Paul Belanger Review: https://reviewboard.asterisk.org/r/2155/
	  ........ Merged revisions 396579 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 396580 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-13 15:27 +0000 [r396559-396568]  David M. Lee <dlee@digium.com>

	* include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c,
	  res/stasis/control.h, include/asterisk/bridge_internal.h,
	  include/asterisk/bridge_features.h, res/res_stasis.c,
	  res/ari/resource_bridges.c, res/res_stasis_bridge_add.c
	  (removed), res/res_stasis_playback.c, res/stasis/control.c,
	  res/res_stasis_bridge_add.exports.in (removed),
	  include/asterisk/stasis_app.h: ARI: allow other operations to
	  happen while bridged This patch changes ARI bridging to allow
	  other channel operations to happen while the channel is bridged.
	  ARI channel operations are designed to queue up and execute
	  sequentially. This meant, though, that while a channel was
	  bridged, any other channel operations would queue up and execute
	  only after the channel left the bridge. This patch changes ARI
	  bridging so that channel commands can execute while the channel
	  is bridged. For most operations, things simply work as expected.
	  The one thing that ended up being a bit odd is recording. The
	  current recording implementation will fail when one attempts to
	  record a channel that's in a bridge. Note that the bridge itself
	  may be recording; it's recording a specific channel in the bridge
	  that fails. While this is an annoying limitation, channel
	  recording is still very useful for use cases such as voice mail,
	  and bridge recording makes up much of the difference for other
	  use cases. (closes issue ASTERISK-22084) Review:
	  https://reviewboard.asterisk.org/r/2726/

	* tests/test_hashtab_thrash.c: Missed a spot in r396559

	* tests/test_hashtab_thrash.c: Fix build warnings when printf a
	  tv_usec. The debug logs added in r396528 neglected to account for
	  suseconds_t being an int. See r392076 for more info.

2013-08-12 22:05 +0000 [r396552]  John Bigelow <jbigelow@digium.com>

	* res/res_pjsip_registrar.c: Add test suite events for when
	  contacts are added or removed from an AOR These are needed by the
	  pjsip inbound registration test suite tests. (issue
	  ASTERISK-21833) (issue ASTERISK-21834) (issue ASTERISK-21835)
	  (issue ASTERISK-21837) Review:
	  https://reviewboard.asterisk.org/r/2700/ Review:
	  https://reviewboard.asterisk.org/r/2739/

2013-08-12 15:59 +0000 [r396542-396543]  Matthew Jordan <mjordan@digium.com>

	* main/bridge_channel.c, main/bridge.c, main/features.c: Fix two
	  race conditions and ref counting issue when joining a bridge
	  These problems were all caught by a test in the Asterisk Test
	  Suite that originated some Local channels and attempted to move
	  the ;2 half of the Local channel into a bridge using the Bridge
	  AMI action. (1) When originating a channel, the Newchannel event
	  is emitted quickly; however, the ;2 channel will not have a pbx
	  thread assigned to it until after the outbound 'dialing' for the
	  ;1 is complete. Thus, there is a period of time where the outside
	  world "knows" of the channel's existence and can influence it but
	  Asterisk has not yet started the dialplan execution thread. If a
	  Bridge AMI action is taken on the channel, the channel appears to
	  be a Dialed channel with no PBX thread; hence, the channel will
	  be imparted into the Bridge by first 'yanking' the channel. At
	  the same time, a race condition can occur after the yank (but
	  before entering the bridge) when ;1 answers and starts a PBX on
	  the ;2. The end result currently is an assertion failure in the
	  Bridging API, as a channel with a PBX is imparted into the
	  Bridge. There's no way to prevent AMI from attempting to Bridge a
	  channel immediately after creation; likewise, holding the channel
	  lock through the entire Dial operation is unwise (and
	  impossible). Instead of treating the presence of a PBX thread as
	  an error, we simply bail out of the adding the channel to the
	  bridge through ast_bridge_impart. The Bridge action will then
	  fail - but we avoid a situation where the channel is both
	  executing a PBX thread and simultaneously being given a separate
	  thread in the bridging system (which would be a "bad thing").
	  Since imparting a channel with a PBX *can* occur and is not a
	  programming error, the asserts have been removed. (2) When the
	  first condition occurs, we have to take one of two actions:
	  either hangup the yanked channel as it did not enter the bridge,
	  or deref it because we don't own it. We can determine if we own
	  it or not by testing for the presence of the PBX thread. If we
	  hung it up directly, we'd crash. (3) bridge_find_channel does not
	  increase the reference count of the ast_bridge_channel object.
	  The RAII_VAR usage in ast_bridge_add_channel thus created a
	  ticking time bomb in whatever bridge the channel moved into, as
	  the destructor for the ast_bridge_channel object would be called.
	  Review: https://reviewboard.asterisk.org/r/2741/

	* main/pbx.c: Unlock outgoing dial lock on off nominal path If the
	  thread servicing the dial request isn't created successfully, the
	  outgoing dial lock will still be held when the function returns.
	  This patch unlocks the lock on this off nominal path.

2013-08-10 20:29 +0000 [r396521-396535]  Matthew Jordan <mjordan@digium.com>

	* tests/test_hashtab_thrash.c: Pipe test output through test object
	  not stdout Otherwise, it doesn't show up in the automated test
	  failures

	* tests/test_hashtab_thrash.c: Add some debugging when
	  test_hashtab_thrash fails Disabling DEBUG_THREADS caused this
	  test to fail on the 32-bit build agent. Adding some debugging to
	  see why it thinks the test is timing out.

	* main/pbx.c: Unlock the dial operation lock on a failed dial If a
	  dial operation fails, the pbx_outgoing_attempt routine will exit
	  without first having unlocked the outgoing dial lock. This would
	  be a "bad thing".

2013-08-09 21:50 +0000 [r396512]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_native_rtp.c: bridge_native_rtp: Remove some
	  unnecessary NULL checks on c1.

2013-08-09 20:29 +0000 [r396505]  Walter Doekes <walter+asterisk@wjd.nu>

	* main/autoservice.c: Don't leak frames when memory is full in
	  autoservice_run. Review: https://reviewboard.asterisk.org/r/2566/

2013-08-09 17:28 +0000 [r396497-396498]  Jonathan Rose <jrose@digium.com>

	* main/pbx.c, channels/chan_sip.c: pbx: Make originate threads
	  indicate dial status when synchronous This makes it so that we
	  can detect failures to originate as with earlier versions of
	  Asterisk, which restores the Asterisk 11 behavior for the
	  originate manager action. This was causing the ACL tests for SIP
	  and IAX2 to fail since those tests expected originate failures
	  when ACLs would cause rejections. Also, this patch fixes crashes
	  in chan_sip when ACLs rejected peers during registration
	  verification. (closes issue ASTERISK-22212) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2753/

	* main/core_unreal.c, main/bridge_channel.c,
	  include/asterisk/bridge.h, res/ari/resource_bridges.c,
	  include/asterisk/core_unreal.h: bridge_channel: Support the
	  lonely flag and make ARI use it. The lonely flag is an optional
	  flag for bridge channels that will make them leave a bridge when
	  a channel leaves if only lonely channels are in the bridge at
	  that point. This is useful for things like ending recording and
	  playback channels when they cease to be interacting with other
	  channels in the bridge. (closes issue ASTERISK-22117) Reported
	  by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2721/

2013-08-09 13:58 +0000 [r396490]  Matthew Jordan <mjordan@digium.com>

	* apps/confbridge/conf_config_parser.c: Update documentation for
	  ConfBridge with some additional markup Add some additional markup
	  for items that needed it, e.g., replaceable tags, literal tags,
	  etc.

2013-08-08 22:57 +0000 [r396480]  Richard Mudgett <rmudgett@digium.com>

	* tests/test_stasis.c: Fix stasis/core unit test. Should have had
	  the CR/LF.

2013-08-08 22:09 +0000 [r396474]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* channels/chan_dahdi.c: chan_dahdi: create channels at run-time
	  This code adds chan_dahdi the command 'dahdi create channels
	  <range>' (where <range> is a single <n>-<m> or 'new') and updates
	  'dahdi destroy channel' with a similar 'dahdi destroy channels'.
	  It allows DAHDI channels and spans to be added after the initial
	  channel load (without destroying all other channels as in 'dahdi
	  restart'). It also includes some fixes to the D-Channel / span
	  destruction code (r394552). This change is intended to provide a
	  hook for a script running from udev once a span has been assigned
	  ("registered") / unassigned ("unregistered") for its channels.
	  The udev hook configures the span's channels with dahdi_cfg -S,
	  and can then ask Asterisk to create ethe channels. See the
	  scripts added to DAHDI-tools in 2.7.0. Review:
	  https://reviewboard.asterisk.org/r/1598/

2013-08-08 20:52 +0000 [r396417-396463]  Richard Mudgett <rmudgett@digium.com>

	* tests/test_stasis.c: Add missing CR/LF to FakeMI stasis test AMI
	  event.

	* main/stasis_bridges.c: Remove extra CR/LF from AMI event.

	* main/manager_bridges.c, apps/confbridge/confbridge_manager.c,
	  include/asterisk/manager.h, main/stasis_bridges.c: Make bridge
	  snapshots use prefixes. * Changed
	  ast_manager_build_bridge_state_string() to assume an empty prefix
	  string just like ast_manager_build_channel_state_string(). *
	  Created ast_manager_build_bridge_state_string_prefix() to work
	  just like ast_manager_build_channel_state_string_prefix(). * Made
	  BridgeMerge AMI event use To/From prefixes.

2013-08-08 18:40 +0000 [r396412]  Matthew Jordan <mjordan@digium.com>

	* formats/format_wav_gsm.c: Improve disk writes for wav49 format
	  Writing to a file in the wav49 format performs rather
	  inefficiently. The procedure is approximately: (1) Write GSM
	  frame to the end of the file (2) Seek to the end of the file (3)
	  Seek to the header (4) Update the file size (5) Seek (again) to
	  the end of the file (6) Repeat This pattern negates any attempt
	  to use the stdio buffering setup in ast_writefile. It also
	  results in many small writes that require a seek going to the
	  disk each second which translates to poor disk performance on
	  certain file systems, particularly when there are multiple wav49
	  files being written simultaneously. (closes issue ASTERISK-19595)
	  Reported by: Byron Clark Tested by: Byron Clark patches:
	  gsm_wav_only_update_header_on_close.patch uploaded by byronclark
	  (License 6157)

2013-08-08 17:51 +0000 [r396401]  Richard Mudgett <rmudgett@digium.com>

	* main/channel_internal_api.c, main/features.c,
	  include/asterisk/bridge_features.h, main/bridge.c: Remove some
	  resolved or obsolete BUGBUG comments.

2013-08-08 14:13 +0000 [r396391-396392]  Matthew Jordan <mjordan@digium.com>

	* apps/confbridge/conf_chan_announce.c, main/manager_channels.c,
	  main/channel.c, main/manager_bridges.c,
	  channels/chan_bridge_media.c, apps/confbridge/conf_chan_record.c,
	  main/channel_internal_api.c, include/asterisk/channel.h,
	  main/cel.c: Hide the Surrogate channels from external consumers;
	  kill Masquerade events This patch does three things: 1. It
	  provides a Surrogate channel technology with a consolidated
	  "implementation detail flag" on the channel technology. This
	  tells consumers of Stasis that the creation of this channel is an
	  implementation detail in Asterisk and can be ignored (if they so
	  choose). This consolidates the conference recorder/announcer
	  flags as well - these flags had no additional meaning beyond
	  "ignore this channel please". 2. It modifies allocation of a
	  channel in two ways: (a) If a channel technology can be
	  determined from the name, we set it directly in the allocation
	  routine. This prevents the initial publication of the message
	  from going out with a NULL channel technology where possible.
	  This lets Stasis consumers get the right channel technology on
	  the first publication. (b) It reorganizes allocation to make use
	  of the 'finalized' property on the channel. This was already used
	  to know that a channel had completely finished its construction
	  in the masquerade routine; now we also use it to know whether or
	  not the setting of certain channel properties is occurring during
	  or post construction. The various set routines were modified
	  accordingly as well. 3. The masquerade event is now dead, Jim. It
	  no longer served any purpose whatsoever - if you perform a call
	  pickup you'll get a Pickup event; if you perform an attended
	  transfer you will still get those events; if you steal a channel
	  to put it elsewhere you'll get the corresponding NewExten or
	  BridgeEnter events. Review:
	  https://reviewboard.asterisk.org/r/2740

	* main/utils.c: Prevent spurious memory error when appending
	  backtrace with MALLOC_DEBUG Backtraces are allocated outside of
	  the usual memory tracking performed by MALLOC_DEBUG. This allows
	  them to be used by the memory tracking enabled by that build
	  option; however, it also means that when backtraces are disposed
	  of they have to be done so outside of the re-defined free. This
	  patch undef's free prior to disposing of the allocated backtrace
	  when a backtrace is appended as a result of 'core show locks'.

2013-08-08 12:38 +0000 [r396385]  Kinsey Moore <kmoore@digium.com>

	* main/bridge.c: Prevent unreal channels from optimizing during
	  DTMF emulation This prevents unreal channel optimization during
	  the prequalification phase when either channel is involved in
	  DTMF emulation. This prevents a situation where an emulated digit
	  would be missed because the emulation was never completed.
	  Review: https://reviewboard.asterisk.org/r/2747/ (closes issue
	  ASTERISK-22214)

2013-08-08 07:05 +0000 [r396378]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: - Fix different issues with call
	  transfer cancel. In case 3rd party busy or congestion call was
	  not returned. - Fix displaying soft button 'Redial' in case of no
	  redial number exists ........ Merged revisions 396377 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-08 02:58 +0000 [r396365-396371]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c: Handle Surrogate channels in Dial message processing
	  Depending on when a Surrogate channel replaces an existing
	  channel, it is possible to get a Dial message for the Surrogate
	  channel. When this occurs, no CDR will exist for the channel as
	  Surrogate channels are ignored. Safely handle the case when a CDR
	  doesn't exist for a Dial message.

	* apps/app_queue.c: Perform Ring-No-Answer checks before processing
	  Hangup logic The rna() routine will raise a Stasis message
	  involving both the caller and the agent. This doesn't work so
	  well if we already hung up the agent channel, as the channel
	  doesn't quite exist. Not surprisingly, this will crash. This
	  patch properly runs the rna subroutine (performing all of the
	  Ring-No-Answer logic) prior to hanging up the agent channel.
	  (closes issue ASTERISK-22258) Reported by: Kiril Valchev Tested
	  by: Kiril Valchev

2013-08-06 21:20 +0000 [r396329-396347]  David M. Lee <dlee@digium.com>

	* apps/app_meetme.c: Fixed app_meetme for cache split changes

	* include/asterisk/frame.h, rest-api/api-docs/recordings.json,
	  res/ari/resource_recordings.c, apps/app_voicemail.c,
	  main/channel.c, res/res_ari_recordings.c, include/asterisk/app.h,
	  include/asterisk/stasis_app_recording.h,
	  res/ari/resource_recordings.h, funcs/func_frame_trace.c,
	  apps/app_minivm.c, main/app.c, res/res_stasis_recording.c: ARI:
	  Add recording controls This patch implements the controls from
	  ARI recordings. The controls are: * DELETE
	  /recordings/live/{recordingName} - stop recording and discard it
	  * POST /recordings/live/{recordingName}/stop - stop recording *
	  POST /recordings/live/{recordingName}/pause - pause recording *
	  POST /recordings/live/{recordingName}/unpause - resume recording
	  * POST /recordings/live/{recordingName}/mute - mute recording
	  (record silence to the file) * POST
	  /recordings/live/{recordingName}/unmute - unmute recording. Since
	  this underlying functionality did not already exist, is was added
	  to app.c by a set of control frames, similar to how playback
	  control works. The pause/mute control frames are toggles, even
	  though the ARI controls are idempotent, to be consistent with the
	  playback control frames. (closes issue ASTERISK-22181) Review:
	  https://reviewboard.asterisk.org/r/2697/

	* main/stasis_cache_pattern.c, main/stasis_cache.c,
	  include/asterisk/stasis.h, tests/test_stasis.c: Tweak caching
	  topics to fix CEL tests The Stasis changes in r395954 had an
	  unanticipated side effect: messages published directly to an _all
	  topic does not get forwarded to the corresponding caching topic.
	  This patch fixes that by changing how caching topics forward
	  messages, and how the caching pattern forwards are setup. For the
	  caching pattern, the all_topic is forwarded to the
	  all_topic_cached. This forwards messages published directly to
	  the all_topic to all_topic_cached. In order to avoid duplicate
	  messages on all_topic_cached, caching topics were changed to no
	  longer forward uncached messages. Subscribers to an individual
	  caching topic should only expect to receive cache updates, and
	  subscription change messages. Since individual caching topics are
	  new, this shouldn't be a problem. There are a few minor changes
	  to the pre-cache split behavior. * For topics changed to use the
	  caching pattern, the all_topic_cached will forward snapshots in
	  addition to cache updates. Since subscribers by design ignore
	  unexpected messages, this should be fine. * Caching topics that
	  don't use the caching pattern no longer forward non-cache
	  updates. This makes no difference for the current caching topics.
	  * mwi_topic_cached, channel_by_name_topic and
	  presence_state_topic_cached have no subscribers *
	  device_state_topic_cached's only subscriber only processes cache
	  udpates (issue ASTERISK-22243) Review:
	  https://reviewboard.asterisk.org/r/2738

2013-08-06 13:08 +0000 [r396320-396321]  Kinsey Moore <kmoore@digium.com>

	* res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
	  res/res_pjsip/config_system.c: Expose res_pjsip threadpool
	  options Expose initial size, automatic increment, maximum size,
	  and idle timeout as configurable parameters for the res_pjsip
	  thread pool. Review: https://reviewboard.asterisk.org/r/2704/
	  (closes issue ASTERISK-22143)

	* main/cdr.c: Fix memory leaks in the CDR engine Fix refcount bugs
	  and a possible locking problem in the CDR engine relating to use
	  of ao2_iterators. Review:
	  https://reviewboard.asterisk.org/r/2724/ (closes issue
	  ASTERISK-22126)

2013-08-06 12:39 +0000 [r396319]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_notify.c, res/res_pjsip_outbound_registration.c,
	  res/res_pjsip_messaging.c, res/res_pjsip_exten_state.c: Fix crash
	  in res_pjsip_outbound_registration when the remote server can not
	  be resolved. This crash was caused by decrementing the reference
	  count of a newly created message when it should not be. This
	  change fixes that but also fixes all other cases where this was
	  incorrectly done. (closes issue ASTERISK-22188) Reported by:
	  Kinsey Moore

2013-08-06 08:43 +0000 [r396309-396311]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, funcs/func_strings.c: Check result of ast_var_assign() calls
	  for memory allocation failure (2). Missed a spot in the previous
	  commit. ........ Merged revisions 396310 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* pbx/pbx_dundi.c, utils/extconf.c, apps/app_stack.c,
	  apps/app_playback.c, funcs/func_global.c, main/cdr.c,
	  pbx/pbx_loopback.c, main/pbx.c, /, funcs/func_strings.c: Check
	  result of ast_var_assign() calls for memory allocation failure.
	  We try to keep the system running even when all available memory
	  is spent. Review: https://reviewboard.asterisk.org/r/2734/
	  ........ Merged revisions 396279 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 396287 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-05 20:20 +0000 [r396253]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix Registration Failure When A Peer And
	  TLS Are Used If a peer is used in a register line and TLS is
	  defined as the transport, the registration fails since the
	  transport on the dialog is never set properly resulting in UDP
	  being used instead of TLS. This patch sets the dialog's transport
	  based on the transport that was defined in the register line. If
	  the register line does not specify a transport, the parsing
	  function for the register line always defaults back to UDP.
	  (closes issue ASTERISK-21964) Reported by: Doug Bailey Tested by:
	  Doug Bailey Patches: asterisk-21964-set-reg-dialog-transport.diff
	  by Michael L. Young (license 5026) ........ Merged revisions
	  396240 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 396248 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-05 20:18 +0000 [r396245]  Jonathan Rose <jrose@digium.com>

	* main/bridge_basic.c, main/features.c,
	  include/asterisk/bridge_basic.h: bridge features: Dial and Queue
	  add features instead of replace them. Dial and Queue would
	  previously apply a new set of features whenever bridging. These
	  options would be based purely on the options supplied to the
	  dial/queue applications. This patch changes the function those
	  applications use to bridge calls so that the features will be
	  added to the set of existing features for each channel rather
	  than having them override the existing features. (closes issue
	  ASTERISK-22209) Reported by: Jonathan Rose Review:
	  https://reviewboard.asterisk.org/r/2713/

2013-08-05 19:01 +0000 [r396201]  Matthew Jordan <mjordan@digium.com>

	* res/res_pjsip_outbound_registration.c: Add AMI registration
	  events for PJSIP outbound registration attempts This patch adds
	  AMI events whenever an outbound registration attempt succeeds or
	  fails from res_pjsip_outbound_registration. This brings it inline
	  with the existing SIP channel driver and IAX channel driver.
	  Review: https://reviewboard.asterisk.org/r/2729/

2013-08-05 18:52 +0000 [r396198-396200]  Michael L. Young <elgueromexicano@gmail.com>

	* /, UPGRADE-11.txt: Change "from" to "From". (related to issue
	  ASTERISK-21903) ........ Merged revisions 396199 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* UPGRADE-11.txt, /: Adding a note to UPGRADE.txt about a change
	  made to res_agi in order to indicate when streaming an audio file
	  fails like it is done in other parts of the code to indicate an
	  error. Note was requested by Paul Belanger:
	  http://lists.digium.com/pipermail/asterisk-dev/2013-July/061420.html
	  (related to issue ASTERISK-21903) ........ Merged revisions
	  396196 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 396197 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-08-05 17:48 +0000 [r396175-396189]  Jonathan Rose <jrose@digium.com>

	* bridges/bridge_holding.c: bridge_holding: Add suspsend/unsuspend
	  callbacks Suspend and unsuspend callbacks are added to the
	  holding bridge so that entertainment can be disabled and
	  re-enabled when operations would suspend a channel on the bridge
	  (such as playback operations). This fixes entertainment so that
	  when those operations end, the entertainment can pick back up and
	  it also serves as an optimization. Also, this patch fixes a bug
	  caused by triggering ringing frames immediately instead of
	  pushing them to the queue which created a race condition where
	  sometimes parking with ringing during attended transfers would
	  cause the ringing to be interrupted by an unhold frame. (closes
	  issue ASTERISK-22006) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2711/

	* res/res_ari_bridges.c, include/asterisk/bridge_roles.h,
	  res/ari/resource_bridges.h, res/stasis/control.c,
	  include/asterisk/stasis_app.h, main/bridge_roles.c,
	  rest-api/api-docs/bridges.json, res/ari/resource_bridges.c: ARI:
	  bridges/{bridgeID}/addChannel: add roles parameter Roles are now
	  cleared with each entry into a bridge with addChannel. If the
	  roles parameter is present, the role specified will be applied to
	  all channels being added with the addChannel command. (closes
	  issue ASTERISK-21973) Reported by: Matt Jordan
	  https://reviewboard.asterisk.org/r/2691/

	* res/parking/res_parking.h, res/res_parking.c,
	  res/parking/parking_tests.c (added),
	  res/parking/parking_bridge.c: res_parking: Unit tests Adds the
	  following unit tests: * create_lot: tests adding and removal of a
	  new parking lot (baseline) * park_extensions: creates a parking
	  lot that registers extensions and then confirms that all of the
	  expected extensions exist * extensions_conflicts: creates
	  numerous parking lots to test that extension conflicts in parking
	  lots result in parking lot creation failing *
	  dynamic_parking_variables: Tests that the creation of dynamic
	  parking lots respects the related channel variables set on the
	  channel that requests them. * park_call: Tests adding a channel
	  to a parking lot's holding bridge by standard parking functions.
	  * retrieve_call: Tests pulling a channel out of a parking lot's
	  holding bridge via parked call retrieval functions. (closes issue
	  ASTERISK-22138) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2714/

2013-08-05 14:35 +0000 [r396166]  David M. Lee <dlee@digium.com>

	* main/asterisk.c, main/cli.c, main/channel.c, main/pbx.c,
	  main/manager.c, res/ari/resource_asterisk.c, utils/extconf.c,
	  include/asterisk/options.h: Fix res_ari_asterisk load issue The
	  new res_ari_asterisk.so module presents several config options
	  from asterisk main. Unfortunately, they aren't exported, so the
	  module won't load on Linux. This patch renames the variables,
	  adding the ast_ prefix so they will be exported. Review:
	  https://reviewboard.asterisk.org/r/2737

2013-08-03 03:53 +0000 [r396158]  Matthew Jordan <mjordan@digium.com>

	* main/manager_bridges.c: Don't unsubscribe from the AMI message
	  router from manager_bridges The AMI message router is owned
	  wholly by manager.c. Previously, each of the manager_{item}
	  source files had their own message router and they unsubscribed
	  from each; once they moved over to using a single message router
	  only a single unsubscribe became necessary.

2013-08-02 17:50 +0000 [r396145]  Mark Michelson <mmichelson@digium.com>

	* channels/sig_pri.c: And get rid of another ast_bridged_channel()

2013-08-02 17:29 +0000 [r396136-396143]  David M. Lee <dlee@digium.com>

	* main/stasis_bridges.c: Clean up ast_json with ast_json_unref

	* /: Removed svnmerge-integrated from trunk

2013-08-02 15:01 +0000 [r396126]  Mark Michelson <mmichelson@digium.com>

	* res/snmp/agent.c: Get the SNMP code to compile.

2013-08-02 14:46 +0000 [r396119-396125]  David M. Lee <dlee@digium.com>

	* res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
	  rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c: ARI
	  - GET /ari/asterisk/info This patch adds basic system information
	  access to ARI. The results are roughly what you get from 'core
	  show settings', with a few minor differences. * Data is
	  structured, with 'build', 'system', 'config' and 'status'
	  sub-objects. * Each sub-object is selectable, using the ?only=
	  parameter. A comma separated list can be provided to select
	  multiple sections. * A few config options are numeric, for which
	  0 means 'unlimited'. Instead of having a special interpretation
	  of those fields, they are simply omitted if they're 0. * The
	  information is limited to what might be useful to building
	  external applications. (closes issue ASTERISK-21575) Review:
	  https://reviewboard.asterisk.org/r/2702/

	* rest-api-templates/param_cleanup.mustache (added),
	  rest-api/api-docs/events.json, /, res/ari/resource_events.c,
	  rest-api-templates/ari_resource.h.mustache,
	  res/res_ari_asterisk.c, res/res_ari_playback.c,
	  rest-api-templates/res_ari_resource.c.mustache,
	  res/ari/resource_events.h, rest-api/api-docs/sounds.json,
	  res/res_ari_channels.c, rest-api/api-docs/bridges.json,
	  rest-api-templates/param_parsing.mustache,
	  res/ari/resource_bridges.c, res/ari/resource_sounds.h,
	  res/res_ari_recordings.c, res/ari/resource_bridges.h,
	  res/res_ari_endpoints.c, res/res_ari_events.c,
	  res/ari/resource_asterisk.h, rest-api/api-docs/channels.json,
	  res/res_ari_sounds.c, res/res_ari_bridges.c: ARI - implement
	  allowMultiple for parameters Swagger allows parameters to be
	  specified as 'allowMultiple', meaning that the parameter may be
	  specified as a comma separated list of values. I had written some
	  of the API docs using that, but promptly forgot about
	  implementing it. This patch finally fills in that gap. The
	  codegen template was updated to represent 'allowMultiple' fields
	  as array/size fields in the _args structs. It also parses the
	  comma separated list using ast_app_separate_args(), so quoted
	  strings in the argument will be handled properly. Review:
	  https://reviewboard.asterisk.org/r/2698/

	* tests/test_json.c, main/json.c, res/res_sorcery_astdb.c,
	  include/asterisk/json.h, main/cel.c, res/ari/ari_websockets.c:
	  Address JSON thread safety issues. In tracking down some unit
	  tests failures, I ended up reading the fine print[1] regarding
	  Jansson's thread safety. In short: 1. Ref-counting is non-atomic.
	  2. json_dumps() and friends are not thread safe. This patch adds
	  locking where necessary to our ast_json_* wrapper API, with
	  documentation in json.h describing the thread safety limitations
	  of the API. [1]:
	  http://www.digip.org/jansson/doc/2.4/portability.html#thread-safety
	  Review: https://reviewboard.asterisk.org/r/2716/

2013-08-02 14:13 +0000 [r396107]  Mark Michelson <mmichelson@digium.com>

	* main/cel.c, include/asterisk/parking.h, main/bridge_channel.c,
	  main/stasis_bridges.c, res/parking/parking_manager.c,
	  res/parking/parking_bridge.c, main/manager_bridges.c,
	  include/asterisk/stasis_bridges.h: Make a couple of changes to
	  help AMI events to be more clear in what is occurring. *
	  BridgeEnter now contains the unique ID of the channel that is to
	  be swapped out, if applicable. * There is a ParkedCallSwap event
	  that is sent when a parked channel has a new channel take its
	  place. (closes issue ASTERISK-22193) reported by Mark Michelson
	  Review: https://reviewboard.asterisk.org/r/2712

2013-08-02 14:08 +0000 [r396105]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/strings.h, main/astobj2.c, utils/Makefile,
	  utils/refcounter.c, main/strings.c, include/asterisk/astobj2.h:
	  Move ast_str_container_alloc and friends This moves
	  ast_str_container_alloc, ast_str_container_add,
	  ast_str_container_remove, and related private functions into
	  strings.c/h since they really don't belong in astobj2.c/h. As a
	  result of this move, utils also had to be updated. Review:
	  https://reviewboard.asterisk.org/r/2719/ (closes issue
	  ASTERISK-22041)

2013-08-02 14:05 +0000 [r396102-396103]  Mark Michelson <mmichelson@digium.com>

	* channels/chan_sip.c, channels/chan_skinny.c,
	  funcs/func_channel.c, main/channel_internal_api.c,
	  include/asterisk/channel.h, channels/chan_iax2.c,
	  apps/app_chanspy.c, channels/chan_oss.c, channels/chan_mgcp.c,
	  main/channel.c, channels/chan_dahdi.c, channels/chan_misdn.c,
	  main/rtp_engine.c: Get rid of ast_bridged_channel() and the
	  bridged_channel field on ast_channels. This commit is smaller
	  than the initial review placed on review board. This is because a
	  change to allow for channel drivers to access parking
	  functionality externally was committed and invalidated quite a
	  few of the changes initially made. (closes issue ASTERISK-22039)
	  reported by Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2717

	* include/asterisk/pickup.h: Make sure that pickup.h does not use
	  an include guard name used elsewhere.

2013-08-02 13:29 +0000 [r396087-396099]  Kinsey Moore <kmoore@digium.com>

	* main/pickup.c: Correct the last of the Newchannel xi:includes

	* res/res_pjsip_notify.c, res/res_pjsip_outbound_registration.c,
	  res/res_pjsip/include/res_pjsip_private.h,
	  res/res_pjsip/pjsip_options.c, res/res_pjsip.c: Add CLI/AMI
	  commands to force chan_pjsip actions For chan_pjsip, this
	  introduces CLI/AMI remote unregistration commands, reworks CLI
	  syntax for sending NOTIFYs, adds AMI qualification support, and
	  adds documentation for PJSIPNotify. This also fixes two
	  refcounting bugs in the outbound registration code. Review:
	  https://reviewboard.asterisk.org/r/2695/ (closes issue
	  ASTERISK-21939)

2013-08-02 04:48 +0000 [r396075]  David M. Lee <dlee@digium.com>

	* channels/sig_analog.c: Fixed chan_dahdi compilation failure

2013-08-02 03:12 +0000 [r396060-396062]  Matthew Jordan <mjordan@digium.com>

	* tests/test_cel.c, tests/test_cdr.c: Fix test modules More missing
	  include files. :-\

	* channels/chan_dahdi.c, channels/chan_mgcp.c: Add pickup.h include
	  lines for chan_dahdi and chan_mgcp

	* include/asterisk/parking.h, include/asterisk/pickup.h (added),
	  main/asterisk.c, res/parking/parking_manager.c, tests/test_cdr.c,
	  channels/chan_unistim.c, main/pbx.c, res/stasis/control.c,
	  main/pickup.c (added), channels/chan_sip.c, main/bridge.c,
	  UPGRADE.txt, res/parking/parking_applications.c,
	  include/asterisk/_private.h, channels/chan_gtalk.c, main/cel.c,
	  CHANGES, include/asterisk/features.h, main/cdr.c,
	  res/res_parking.c, channels/chan_skinny.c,
	  apps/app_directed_pickup.c, main/features.c, tests/test_cel.c:
	  Remove dead code from features.c; refactor pickup code into
	  pickup.c This patch does the following: * It moves the pickup
	  code out of features.c and into pickup.c * It removes the vast
	  majority of dead code out of features.c. In particular, this
	  includes the parking code. (issue ASTERISK-22134)

2013-08-01 23:38 +0000 [r396048]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_registrar.c: Fix a crash due to performing full URI
	  validation on a contact which only contains '*'. (closes issue
	  AST-1198) Reported by: John Bigelow

2013-08-01 21:19 +0000 [r396035]  David M. Lee <dlee@digium.com>

	* main/sorcery.c: Fix sorcery for some rather picky regex
	  implementations. Some regex implementations won't compile an
	  empty string. Assuming that it's equivalent of a regex that will
	  match anything, use ".?" instead.

2013-08-01 20:55 +0000 [r396010-396028]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_skinny.c, main/parking.c, main/bridge.c,
	  main/features.c, channels/chan_iax2.c,
	  include/asterisk/parking.h, main/bridge_channel.c,
	  res/parking/parking_bridge_features.c, channels/chan_mgcp.c,
	  include/asterisk/features.h, channels/chan_dahdi.c,
	  res/res_parking.c, channels/sig_analog.c: Support externally
	  initiated parking requests; remove some dead code This patch does
	  the following: * It adds support for externally initiated parking
	  requests. In particular, chan_skinny has a protocol level message
	  that initiates a call park. This patch now supports that option,
	  as well as the protocol specific mechanisms in
	  chan_dahdi/sig_analog and chan_mgcp. * A parking bridge features
	  virtual table has been added that provides access to the parking
	  functionality that the Bridging API needs. This includes requests
	  to park an entire 'call' (with little or no additional
	  information, thank you chan_skinny), perform a blind transfer to
	  a parking extension, determine if an extension is a parking
	  extension, as well as the actual "do the parking" request from
	  the Bridging API. * Refactoring in chan_mgcp, chan_skinny, and
	  chan_dahdi to make use of the new functions * The removal of some
	  - but not all - dead parking code from features.c This also fixed
	  blind transferring a multi-party bridge to a parking lot (which
	  was implemented, but had at least one code path where using the
	  parking features kK might not have worked) Review:
	  https://reviewboard.asterisk.org/r/2710 (closes issue
	  ASTERISK-22134) Reported by: Matt Jordan

	* CHANGES, apps/app_queue.c: Add queue member paused hints This
	  patch adds the ability in Queue to raise a hint when a member's
	  paused state changes. The hint uses the form
	  'Queue:{queue_name}_pause_{member_name}', where {queue_name} and
	  {member_name} are the name of the queue and the name of the
	  member to subscribe to, respectively. For example: exten =>
	  8501,hint,Queue:sales_pause_mark. Members will show as In Use
	  when paused. Note that the format of the queue pause hint was
	  changed slightly from what is on the issue to accomodate
	  suggestion on the code review. Review:
	  https://reviewboard.asterisk.org/r/2254 (closes issue
	  ASTERISK-20842) Reported by: Philippe Lindheimer patches:
	  qpause-10-378206.diff uploaded by Philippe Lindheimer (license
	  5519) qpause-11-378206.diff uploaded by Philippe Lindheimer
	  (license 5519) qpause-trunk-378206.diff uploaded by Philippe
	  Lindheimer (license 5519)

2013-08-01 17:23 +0000 [r395985-395998]  Kinsey Moore <kmoore@digium.com>

	* configure: Regenerate configure for configure.ac changes

	* Makefile, apps/confbridge/confbridge_manager.c, makeopts.in,
	  doc/appdocsxml.dtd, apps/app_stack.c,
	  res/parking/parking_manager.c, main/manager_mwi.c,
	  main/rtp_engine.c, apps/app_meetme.c,
	  include/asterisk/autoconfig.h.in, main/xml.c,
	  main/stasis_bridges.c, contrib/scripts/install_prereq,
	  main/manager_bridges.c, channels/chan_dahdi.c, main/manager.c,
	  doc/snapshots.xslt (added), main/features.c, apps/app_minivm.c,
	  res/res_agi.c, main/stasis_channels.c, main/manager_channels.c,
	  channels/chan_sip.c, main/Makefile, configure.ac, UPGRADE.txt,
	  main/aoc.c, main/core_local.c, channels/sig_pri.c,
	  apps/app_queue.c, CHANGES, funcs/func_global.c,
	  apps/app_agent_pool.c: Fix documentation replication issues This
	  prevents XML documentation duplication by expanding channel and
	  bridge snapshot tags into channel and bridge snapshot parameter
	  sets with a given prefix or defaulting to no prefix. This also
	  prevents documentation from becoming fractured and out of date by
	  keeping all variations of the documentation in template form such
	  that it only needs to be updated once and keeps maintenance to a
	  minimum. Review: https://reviewboard.asterisk.org/r/2708/

2013-08-01 16:56 +0000 [r395954-395984]  David M. Lee <dlee@digium.com>

	* utils/astman.c: Fixed warning in astman for gcc-4.8.

	* res/res_pjsip_mwi.c, channels/chan_pjsip.c: Fixed compile errors
	  introduced in r395954. Just a merge error due to a file rename.
	  Grrr...

	* main/manager.c, tests/test_devicestate.c, res/res_agi.c,
	  include/asterisk/stasis_cache_pattern.h (added), main/app.c,
	  main/stasis_channels.c, res/ari/resource_channels.c,
	  include/asterisk/stasis_endpoints.h, include/asterisk/bridge.h,
	  main/manager_channels.c, channels/chan_mgcp.c, main/pbx.c,
	  include/asterisk/devicestate.h, main/stasis_cache.c,
	  res/ari/resource_endpoints.c, channels/chan_sip.c,
	  main/channel_internal_api.c, include/asterisk/presencestate.h,
	  include/asterisk/stasis_bridges.h, include/asterisk/stasis.h,
	  include/asterisk/channel.h, channels/sig_pri.c, main/cel.c,
	  tests/test_stasis_endpoints.c, res/ari/resource_bridges.c,
	  include/asterisk/app.h, include/asterisk/stasis_channels.h,
	  apps/confbridge/confbridge_manager.c, tests/test_cel.c,
	  tests/test_stasis.c, res/res_stasis.c,
	  main/stasis_cache_pattern.c (added), apps/app_voicemail.c,
	  channels/chan_unistim.c, main/stasis_endpoints.c,
	  main/stasis_wait.c (added), apps/app_meetme.c,
	  res/stasis/control.c, main/bridge.c, main/manager_endpoints.c,
	  include/asterisk/channel_internal.h, main/devicestate.c,
	  res/res_xmpp.c, main/endpoints.c, channels/chan_iax2.c,
	  res/res_jabber.c, main/presencestate.c, main/stasis_bridges.c,
	  res/res_chan_stats.c, main/stasis.c, main/cli.c, main/cdr.c,
	  channels/chan_dahdi.c, main/manager_bridges.c: Split caching out
	  from the stasis_caching_topic. In working with res_stasis, I
	  discovered a significant limitation to the current structure of
	  stasis_caching_topics: you cannot subscribe to cache updates for
	  a single channel/bridge/endpoint/etc. To address this, this patch
	  splits the cache away from the stasis_caching_topic, making it a
	  first class object. The stasis_cache object is shared amongst
	  individual stasis_caching_topics that are created per
	  channel/endpoint/etc. These are still forwarded to global
	  whatever_all_cached topics, so their use from most of the code
	  does not change. In making these changes, I noticed that we
	  frequently used a similar pattern for bridges, endpoints and
	  channels: single_topic ----------------> all_topic ^ |
	  single_topic_cached ----+----> all_topic_cached | +----> cache
	  This pattern was extracted as the 'Stasis Caching Pattern',
	  defined in stasis_caching_pattern.h. This avoids a lot of
	  duplicate code between the different domain objects. Since the
	  cache is now disassociated from its upstream caching topics, this
	  also necessitated a change to how the 'guaranteed' flag worked
	  for retrieving from a cache. The code for handling the caching
	  guarantee was extracted into a 'stasis_topic_wait' function,
	  which works for any stasis_topic. (closes issue ASTERISK-22002)
	  Review: https://reviewboard.asterisk.org/r/2672/

2013-08-01 11:21 +0000 [r395938]  Joshua Colp <jcolp@digium.com>

	* res/res_pjsip_session.c: Answer with multiple codecs if the
	  underlying pjproject supports it.

2013-08-01 00:07 +0000 [r395906-395907]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_sip.c: Raise Registry AMI events on registration
	  failures This patch makes it so that all registration attempts
	  that fail that also permanently modify the registration state
	  will raise an appropriate AMI event. Note that this patch was
	  forward ported to trunk and the Stasis Core message bus by
	  mjordan. (closes issue ASTERISK-21368) Reported by: Dmitriy Serov
	  patches: chan_sip.c.diff uploaded by Demon (license 6479)

	* res/res_agi.c, CHANGES: Update CONTROL STREAM FILE to accept an
	  'offsetms' parameter This patch allows starting playback of audio
	  through the CONTROL STREAM FILE AGI command to start at a
	  particular offset. It will also return the final position of the
	  file in the 'endpos' attribute. (closes issue ASTERISK-17803)
	  Reported by: Murray Melvin patches: res_agi.c.r316293.diff
	  uploaded by murraytm (license 6221)

2013-07-31 15:43 +0000 [r395884]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip/pjsip_options.c: Found another missed "sip" ->
	  "pjsip" CLI command.

2013-07-31 15:27 +0000 [r395881]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c: Disable CEL tests that need rearchitecting to
	  operate properly

2013-07-31 14:45 +0000 [r395868]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_endpoint_identifier_constant.c (removed): Remove
	  "constant" endpoint identifier. This was created as a debugging
	  tool before proper endpoint identifiers were created. Using it
	  now can actually lead to harmful results.

2013-07-31 14:29 +0000 [r395866]  Joshua Colp <jcolp@digium.com>

	* bridges/bridge_native_rtp.c: Fix hold/unhold in
	  bridge_native_rtp, use tech_pvt instead of bridge_pvt, reduce
	  bridging attempts, and fix breaking native RTP bridges. (closes
	  issue ASTERISK-22128) (closes issue ASTERISK-22104)

2013-07-31 13:31 +0000 [r395837-395851]  Kinsey Moore <kmoore@digium.com>

	* channels/chan_pjsip.c, include/asterisk/res_pjsip.h,
	  include/asterisk/res_pjsip_pubsub.h,
	  include/asterisk/res_pjsip_exten_state.h,
	  include/asterisk/res_pjsip_session.h, configs/pjsip.conf.sample,
	  res/res_pjsip/include/res_pjsip_private.h: Fix remnants of the
	  pjsip renaming

	* tests/test_cel.c: Enforce conference exit order for CEL tests

2013-07-30 22:41 +0000 [r395810-395824]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_endpoint_identifier_ip.c: Missed a conversion to
	  pjsip.conf in documentation and sorcery.

	* main/abstract_jb.c: Remove ast_bridged_channel call from
	  abstract_jb.c Interestingly, this only happens in dead code.

2013-07-30 20:44 +0000 [r395793]  David M. Lee <dlee@digium.com>

	* res/res_pjsip: Setting svn:ignore for res/res_pjsip

2013-07-30 19:10 +0000 [r395748-395779]  Mark Michelson <mmichelson@digium.com>

	* res/res_pjsip_endpoint_identifier_constant.c: Update
	  res_pjsip_endpoint_identifier_constant.c to use reorganized
	  endpoint structure.

	* res/res_sip_nat.c (removed),
	  res/res_pjsip_outbound_registration.c (added),
	  res/res_sip_session.c (removed),
	  res/res_pjsip_endpoint_identifier_anonymous.c (added),
	  res/res_sip_rfc3326.c (removed), res/res_pjsip_acl.c (added),
	  res/res_pjsip/pjsip_distributor.c (added),
	  res/res_sip_endpoint_identifier_constant.c (removed),
	  res/res_sip_mwi.c (removed), res/res_pjsip_diversion.c (added),
	  res/res_sip (removed), res/res_pjsip_dtmf_info.c (added),
	  res/res_sip_pubsub.c (removed),
	  include/asterisk/res_pjsip_exten_state.h (added),
	  res/res_pjsip_sdp_rtp.c (added), res/res_pjsip_messaging.c
	  (added), res/res_pjsip_registrar_expire.c (added),
	  res/res_pjsip_caller_id.c (added),
	  res/res_sip_authenticator_digest.c (removed),
	  res/res_sip_session.exports.in (removed),
	  res/res_pjsip_exten_state.c (added), res/res_sip_logger.c
	  (removed), res/res_sip.c (removed),
	  res/res_pjsip_pubsub.exports.in (added),
	  res/res_pjsip_endpoint_identifier_constant.c (added),
	  res/res_sip_outbound_registration.c (removed),
	  res/res_sip_endpoint_identifier_anonymous.c (removed),
	  res/res_pjsip_pubsub.c (added), res/res_pjsip/config_transport.c
	  (added), res/res_pjsip_transport_websocket.c (added),
	  res/res_pjsip_registrar.c (added), channels/chan_pjsip.c (added),
	  res/res_pjsip/pjsip_outbound_auth.c (added),
	  res/res_pjsip/config_global.c (added), res/res_sip_acl.c
	  (removed), res/res_sip_diversion.c (removed),
	  res/res_pjsip_authenticator_digest.c (added),
	  res/res_pjsip_session.exports.in (added), res/res_sip_dtmf_info.c
	  (removed), res/res_pjsip/config_domain_aliases.c (added),
	  include/asterisk/res_sip_session.h (removed), res/res_pjsip_t38.c
	  (added), res/res_sip_notify.c (removed), res/res_pjsip_logger.c
	  (added), res/res_pjsip/pjsip_options.c (added),
	  res/res_sip_endpoint_identifier_ip.c (removed),
	  res/res_sip_sdp_rtp.c (removed), res/res_sip_messaging.c
	  (removed), include/asterisk/res_pjsip_pubsub.h (added),
	  res/res_sip_caller_id.c (removed),
	  res/res_sip_endpoint_identifier_user.c (removed),
	  res/res_sip_pidf.c (removed),
	  res/res_pjsip_outbound_authenticator_digest.c (added),
	  res/res_sip_exten_state.c (removed),
	  res/res_pjsip_one_touch_record_info.c (added),
	  res/res_sip_pubsub.exports.in (removed), res/res_pjsip_refer.c
	  (added), include/asterisk/res_pjsip_session.h (added),
	  res/res_pjsip_notify.c (added), res/res_sip_transport_websocket.c
	  (removed), res/res_sip_registrar.c (removed),
	  res/res_pjsip_endpoint_identifier_ip.c (added),
	  include/asterisk/res_sip.h (removed),
	  res/res_pjsip/config_security.c (added), res/res_sip.exports.in
	  (removed), res/Makefile, res/res_sip_exten_state.exports.in
	  (removed), res/res_pjsip_endpoint_identifier_user.c (added),
	  res/res_pjsip/include (added), res/res_pjsip_pidf.c (added),
	  res/res_pjsip_nat.c (added), res/res_pjsip_session.c (added),
	  res/res_sip_t38.c (removed), channels/chan_gulp.c (removed),
	  res/res_pjsip/location.c (added), res/res_pjsip_rfc3326.c
	  (added), res/res_pjsip/config_system.c (added),
	  configs/pjsip.conf.sample (added),
	  include/asterisk/res_sip_pubsub.h (removed), res/res_pjsip_mwi.c
	  (added), res/res_pjsip/pjsip_configuration.c (added),
	  res/res_sip_outbound_authenticator_digest.c (removed),
	  res/res_pjsip (added), res/res_pjsip/include/res_pjsip_private.h
	  (added), res/res_sip_one_touch_record_info.c (removed),
	  include/asterisk/res_pjsip.h (added), res/res_pjsip/config_auth.c
	  (added), res/res_pjsip.exports.in (added),
	  configs/res_sip.conf.sample (removed), res/res_sip_refer.c
	  (removed), res/res_pjsip_exten_state.exports.in (added),
	  res/res_pjsip/security_events.c (added),
	  include/asterisk/res_sip_exten_state.h (removed),
	  res/res_pjsip/pjsip_global_headers.c (added), res/res_pjsip.c
	  (added), res/res_sip_registrar_expire.c (removed): The large
	  GULP->PJSIP renaming effort. The general gist is to have a clear
	  boundary between old SIP stuff and new SIP stuff by having the
	  word "SIP" for old stuff and "PJSIP" for new stuff. Here's a
	  brief rundown of the changes: * The word "Gulp" in dialstrings,
	  functions, and CLI commands is now "PJSIP" * chan_gulp.c is now
	  chan_pjsip.c * Function names in chan_gulp.c that were "gulp_*"
	  are now "chan_pjsip_*" * All files that were "res_sip*" are now
	  "res_pjsip*" * The "res_sip" directory is now "res_pjsip" * Files
	  in the "res_pjsip" directory that began with "sip_*" are now
	  "pjsip_*" * The configuration file is now "pjsip.conf" instead of
	  "res_sip.conf" * The module info for all PJSIP-related files now
	  uses "PJSIP" instead of "SIP" * CLI and AMI commands created by
	  Asterisk's PJSIP modules now have "pjsip" as the starting word
	  instead of "sip"

	* res/res_sip/sip_options.c,
	  res/res_sip_outbound_authenticator_digest.c,
	  res/res_sip_outbound_registration.c, res/res_sip_mwi.c,
	  res/res_sip_one_touch_record_info.c, res/res_sip_pubsub.c,
	  res/res_sip_diversion.c, res/res_sip/sip_configuration.c,
	  include/asterisk/res_sip.h, res/res_sip/sip_distributor.c,
	  res/res_sip.exports.in, res/res_sip_authenticator_digest.c,
	  res/res_sip/sip_outbound_auth.c, res/res_sip_sdp_rtp.c,
	  res/res_sip_messaging.c, res/res_sip_t38.c, channels/chan_gulp.c,
	  res/res_sip_caller_id.c, res/res_sip.c, res/res_sip_nat.c,
	  res/res_sip_session.c: Reorganize the ast_sip_endpoint structure
	  into substructures. (closes issue ASTERISK-22135) reported by
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/2707

2013-07-30 14:16 +0000 [r395731]  Joshua Colp <jcolp@digium.com>

	* res/res_sip.c, res/res_sip/sip_configuration.c,
	  res/res_sip_session.c, include/asterisk/res_sip.h,
	  include/asterisk/res_sip_session.h,
	  res/res_sip_session.exports.in, channels/chan_gulp.c,
	  res/res_sip_t38.c (added): Add support for T.38 fax to
	  chan_pjsip. Review: https://reviewboard.asterisk.org/r/2692/

2013-07-30 13:46 +0000 [r395728]  Kinsey Moore <kmoore@digium.com>

	* res/res_pktccops.c: Fix compilation on gcc 4.8.1

2013-07-29 17:51 +0000 [r395686]  David M. Lee <dlee@digium.com>

	* res/parking/parking_devicestate.c, include/asterisk/mixmonitor.h,
	  main/mixmonitor.c: Removed quotes from svn:keywords props on a
	  few files. Subversion doesn't do quote processing, so it actually
	  thinks that the closing quote in 'Revision"' is a part of the
	  keyword.

2013-07-29 16:16 +0000 [r395674]  Mark Michelson <mmichelson@digium.com>

	* res/res_sip.c: Clarify documentation for trust of identification.
	  (closes issue ASTERISK-22023) Reported by Rusty Newton

2013-07-29 15:58 +0000 [r395672-395673]  Matthew Jordan <mjordan@digium.com>

	* main/loader.c: Put the include in there Mea culpa...

	* main/loader.c: When performing a reload, reload the new
	  features_config and not the old Performing a module reload of
	  core components causes specific functions compiled into the
	  Asterisk binary to be reloaded. The table of said functions was
	  still pointing to the old features reload mechanism, and not the
	  new one.

2013-07-29 14:51 +0000 [r395653]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c: Clean up and improve test_cel Improve
	  reliability of attended transfer merge and link tests. Stop using
	  ast_log(LOG_ERROR, ...); in favor of ast_test_status_update
	  Remove fred and eve channel helpers since they are not necessary

2013-07-29 14:08 +0000 [r395636]  David M. Lee <dlee@digium.com>

	* res/ari: Set svn:ignore in res/ari directory

2013-07-29 12:10 +0000 [r395619]  Kinsey Moore <kmoore@digium.com>

	* res/res_sip.c: Remove comment that no longer applies The monitor
	  thread is already properly torn down on unload and load failure.

2013-07-27 23:11 +0000 [r395588-395603]  Kinsey Moore <kmoore@digium.com>

	* tests/test_ari_model.c, res/ari.make (added),
	  res/ari/resource_bridges.h (added), res/ari/resource_asterisk.c
	  (added), res/res_ari_endpoints.c (added),
	  res/res_stasis_http_sounds.c (removed),
	  res/ari/resource_asterisk.h (added), res/res_stasis_http.c
	  (removed), rest-api-templates/stasis_http_resource.h.mustache
	  (removed), res/res_ari.c (added),
	  rest-api-templates/make_ari_stubs.py,
	  rest-api-templates/ari_resource.h.mustache (added),
	  res/res_ari_asterisk.c (added), res/Makefile, res/ari/internal.h
	  (added), res/res_ari_model.c, res/res_stasis_http.exports.in
	  (removed), res/ari/resource_playback.c (added),
	  tests/test_stasis_http.c (removed), res/ari/resource_playback.h
	  (added), res/ari/resource_channels.c (added),
	  res/ari/ari_websockets.c (added), res/ari/resource_recordings.c
	  (added), res/ari/resource_channels.h (added), tests/test_ari.c
	  (added), res/ari/resource_endpoints.c (added),
	  res/ari/resource_events.c (added), res/ari/resource_recordings.h
	  (added), include/asterisk/stasis_http.h (removed),
	  res/res_ari_playback.c (added), res/ari/resource_endpoints.h
	  (added), res/ari/resource_events.h (added),
	  res/ari/resource_sounds.c (added), configs/ari.conf.sample,
	  include/asterisk/ari.h (added), res/res_ari_channels.c (added),
	  rest-api-templates/stasis_http.make.mustache (removed),
	  res/stasis_http.make (removed), res/ari/resource_sounds.h
	  (added), res/res_ari_recordings.c (added),
	  rest-api-templates/ari.make.mustache (added),
	  res/res_ari_events.c (added), res/res_statsd.c,
	  res/res_stasis_http_bridges.c (removed), res/res_ari_sounds.c
	  (added), rest-api-templates/ari_model_validators.c.mustache,
	  res/res_ari_bridges.c (added), res/res_stasis_http_asterisk.c
	  (removed), res/stasis_http (removed),
	  rest-api-templates/res_stasis_http_resource.c.mustache (removed),
	  main/stasis_config.c, rest-api-templates/rest_handler.mustache,
	  res/ari (added), rest-api-templates/res_ari_resource.c.mustache
	  (added), res/ari/ari_model_validators.c (added),
	  res/ari/ari_model_validators.h (added), res/res_ari.exports.in
	  (added), rest-api-templates/stasis_http_resource.c.mustache
	  (removed), res/ari/config.c (added),
	  rest-api-templates/ari_resource.c.mustache (added), res/ari/cli.c
	  (added), res/res_stasis_http_playback.c (removed),
	  rest-api-templates/ari_model_validators.h.mustache,
	  res/res_stasis_http_channels.c (removed),
	  res/res_ari_model.exports.in, res/res_stasis_http_recordings.c
	  (removed), res/res_stasis_http_endpoints.c (removed),
	  res/ari/resource_bridges.c (added), res/res_stasis_http_events.c
	  (removed): Rename everything Stasis-HTTP to ARI This renames all
	  files and API calls from several variants of Stasis-HTTP to ARI
	  including: * Stasis-HTTP -> ARI * STASIS_HTTP -> ARI *
	  stasis_http -> ari (ast_ari for global symbols, file names as
	  well) * stasis http -> ARI Review:
	  https://reviewboard.asterisk.org/r/2706/ (closes issue
	  ASTERISK-22136)

	* tests/test_cel.c: Improve reliability of bridge merge CEL test

2013-07-26 21:34 +0000 [r395559-395574]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_builtin_features.c, main/parking.c, main/bridge.c,
	  main/bridge_basic.c, main/features.c,
	  bridges/bridge_builtin_interval_features.c,
	  apps/app_bridgewait.c, apps/app_confbridge.c,
	  include/asterisk/bridge_features.h, include/asterisk/parking.h,
	  main/bridge_channel.c, res/parking/parking_bridge_features.c,
	  apps/app_agent_pool.c, apps/confbridge/conf_config_parser.c:
	  Remove the unsafe bridge parameter from
	  ast_bridge_hook_callback's. Most hook callbacks did not need the
	  bridge parameter. The pointer value could become invalid if the
	  channel is moved to another bridge while it is executing. * Fixed
	  some issues in feature_attended_transfer() as a result. * Reduce
	  the bridge inhibit count in
	  attended_transfer_properties_shutdown() after it has restored the
	  bridge channel hooks. * Removed basic bridge requirement on
	  feature_blind_transfer(). It does not require the basic bridge
	  like feature_attended_transfer().

	* include/asterisk/bridge_features.h,
	  res/parking/parking_bridge_features.c, main/bridge.c,
	  bridges/bridge_builtin_interval_features.c,
	  apps/app_bridgewait.c: Improved feature limits interval hook
	  implementaion. * Fixed feature limits to not use special members
	  of struct ast_bridge_features. * Fixed memory leak in off nominal
	  paths of bridge_builtin_set_limits(). * Fixed off nominal path in
	  ast_bridge_features_limits_construct() freeing unallocated memory
	  if it was not called by bridge_builtin_set_limits(). * Made
	  bridge_builtin_interval_features.so unloadable. * Simplified
	  parking's use of its duration interval hook. * Made BridgeWait S
	  option not depend upon another module being loaded. (closes issue
	  ASTERISK-22107) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2701/

2013-07-26 17:42 +0000 [r395527]  David M. Lee <dlee@digium.com>

	* res/stasis_http/resource_events.c, res/stasis/app.c: Fix
	  /stasis/res/app_replaced unit test. A typo in recent changes
	  caused the JSON ApplicationReplaced message to fail to build, so
	  the message wasn't being sent out the WebSocket. Related, the
	  replaced application would also unregister itself when it
	  disconnected, which would actually unregister the new
	  application. This was also fixed.

2013-07-26 16:34 +0000 [r395509]  Jonathan Rose <jrose@digium.com>

	* main/bridge_channel.c, include/asterisk/bridge.h,
	  include/asterisk/bridge_channel_internal.h, main/bridge.c,
	  apps/app_bridgewait.c: Add name argument to BridgeWait() so
	  multiple holding bridges may be used Changes arguments for
	  BridgeWait from BridgeWait(role, options) to
	  BridgeWait(bridge_name, role, options). Now multiple holding
	  bridges may be created and referenced by this application.
	  (closes issue ASTERISK-21922) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2642/

2013-07-26 00:03 +0000 [r395466-395477]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_bridgewait.c: Remove some unnecessary parentheses.

	* bridges/bridge_builtin_interval_features.c: Revision

2013-07-25 20:54 +0000 [r395439-395455]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_session.c: Fix crash due to trying to send a
	  re-invite while in the incorrect state. This crash would occur if
	  a re-invite was queued while the initial INVITE transaction was
	  still occurring and the response to the INVITE was not ACKed.
	  This lack of ACK would cause the INVITE session state to never
	  reach confirmed. Once the transaction terminated, however, the
	  queued re-invite would occur and cause a crash due to this lack
	  of state change. This fix checks the INVITE session state before
	  performing the re-invite to ensure it is in the required
	  confirmed state.

	* res/res_sip.c, res/res_sip/sip_configuration.c: Change the
	  default value for "allowsubscribe" to yes to match chan_sip.

2013-07-25 18:27 +0000 [r395430]  Richard Mudgett <rmudgett@digium.com>

	* main/stasis_bridges.c, include/asterisk/bridge_after.h,
	  include/asterisk/bridge_channel_internal.h,
	  main/manager_bridges.c, include/asterisk/bridge_channel.h,
	  main/bridge_after.c, include/asterisk/bridge_technology.h,
	  include/asterisk/bridge_internal.h,
	  include/asterisk/bridge_features.h, main/bridge_channel.c,
	  include/asterisk/bridge.h, include/asterisk/bridge_basic.h,
	  include/asterisk/bridge_roles.h, main/bridge.c,
	  main/bridge_basic.c, include/asterisk/stasis_bridges.h,
	  main/bridge_roles.c: Restore bridging files history.

2013-07-25 15:29 +0000 [r395367-395410]  Matthew Jordan <mjordan@digium.com>

	* main/features.c, include/asterisk/features.h: Remove some dead
	  parking call Since nothing is using these global parking
	  functions, remove them! The first of many.

	* main/features.c: Remove dead bridging code from features This
	  removes the previously #if 0'd code. The functionality removed
	  has either been subsumed by the Bridging API or is no longer
	  applicable.

	* main/cli.c, main/cdr.c, main/manager_bridges.c, main/manager.c,
	  res/stasis_http/resource_bridges.c, tests/test_cel.c,
	  res/res_stasis.c, main/stasis_bridges.c, tests/test_cdr.c: Fix
	  incorrect reference to stasis/bridging.h

	* include/asterisk/stasis_bridges.h (added),
	  include/asterisk/bridging_after.h (removed),
	  bridges/bridge_simple.c, main/core_local.c,
	  res/parking/parking_bridge_features.c,
	  res/parking/parking_bridge.c, main/cli.c, main/manager_bridges.c
	  (added), include/asterisk/bridging_technology.h (removed),
	  apps/confbridge/include/confbridge.h, channels/chan_skinny.c,
	  include/asterisk/bridging_features.h (removed),
	  main/bridge_after.c (added), main/stasis_channels.c,
	  include/asterisk/bridge_features.h (added), main/bridge_channel.c
	  (added), res/parking/parking_manager.c, channels/chan_mgcp.c,
	  channels/chan_unistim.c, include/asterisk/bridge_roles.h (added),
	  channels/chan_bridge_media.c, main/bridge.c (added),
	  res/parking/parking_controller.c, apps/app_bridgewait.c,
	  res/stasis_http/resource_bridges.c,
	  res/parking/parking_applications.c,
	  include/asterisk/bridging_channel_internal.h (removed),
	  main/cel.c, apps/app_queue.c, include/asterisk/stasis_bridging.h
	  (removed), main/stasis_bridges.c (added), main/bridging_after.c
	  (removed), res/res_stasis_bridge_add.c,
	  include/asterisk/bridge_channel_internal.h (added),
	  channels/chan_dahdi.c, channels/sig_analog.c,
	  include/asterisk/bridging_internal.h (removed),
	  apps/confbridge/confbridge_manager.c, main/manager_bridging.c
	  (removed), tests/test_cel.c, include/asterisk/bridge_internal.h
	  (added), include/asterisk/bridging_roles.h (removed),
	  apps/confbridge/conf_chan_announce.c,
	  include/asterisk/bridge_basic.h (added),
	  include/asterisk/core_unreal.h, main/parking.c,
	  res/stasis/control.c, bridges/bridge_holding.c,
	  channels/chan_sip.c, bridges/bridge_softmix.c,
	  main/bridge_roles.c (added), channels/chan_iax2.c,
	  apps/app_agent_pool.c, include/asterisk/bridging_channel.h
	  (removed), apps/confbridge/conf_config_parser.c,
	  include/asterisk/features.h, main/channel.c,
	  res/parking/res_parking.h, main/manager.c, channels/chan_misdn.c,
	  main/stasis_bridging.c (removed), include/asterisk/bridging.h
	  (removed), bridges/bridge_builtin_interval_features.c,
	  include/asterisk/bridging_basic.h (removed),
	  include/asterisk/bridge_technology.h (added),
	  bridges/bridge_native_rtp.c, tests/test_cdr.c,
	  include/asterisk/doxygen/architecture.h, main/bridging_roles.c
	  (removed), res/res_sip_refer.c, main/bridge_basic.c (added),
	  apps/confbridge/conf_chan_record.c, main/core_unreal.c,
	  channels/sig_pri.c, include/asterisk/bridge_after.h (added),
	  bridges/bridge_builtin_features.c,
	  channels/dahdi/bridge_native_dahdi.c,
	  res/stasis_http/resource_channels.c,
	  include/asterisk/bridge_channel.h (added), funcs/func_channel.c,
	  main/bridging_channel.c (removed), apps/app_dumpchan.c,
	  main/features.c, apps/app_confbridge.c, include/asterisk/bridge.h
	  (added), main/bridging.c (removed), main/bridging_basic.c
	  (removed), apps/app_dial.c: A great big renaming patch This patch
	  renames the bridging* files to bridge*. This may seem pedantic
	  and silly, but it fits better in line with current Asterisk
	  naming conventions: * channel is not "channeling" * monitor is
	  not "monitoring" etc. A bridge is an object. It is a first class
	  citizen in Asterisk. "Bridging" is the act of using a bridge on a
	  set of channels - and the API that fulfills that role is more
	  than just the action. (closes issue ASTERISK-22130)

	* include/asterisk/bridging_features.h, funcs/func_channel.c,
	  main/bridging_channel.c, main/features.c,
	  include/asterisk/bridging.h,
	  bridges/bridge_builtin_interval_features.c, main/bridging.c,
	  main/bridging_basic.c, apps/app_dial.c,
	  include/asterisk/bridging_after.h (added),
	  bridges/bridge_softmix.c,
	  include/asterisk/bridging_channel_internal.h, apps/app_queue.c,
	  res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
	  include/asterisk/bridging_channel.h, main/bridging_after.c
	  (added), include/asterisk/bridging_technology.h,
	  include/asterisk/bridging_internal.h,
	  bridges/bridge_builtin_features.c: Move after bridge callbacks
	  into their own file One more major refactoring to go.

2013-07-25 00:44 +0000 [r395351]  Joshua Colp <jcolp@digium.com>

	* res/res_sip/sip_distributor.c, channels/chan_gulp.c,
	  res/res_sip_session.c: Improve initial INVITE handling and fix
	  crash due to rapidly arriving CANCEL. (closes issue
	  ASTERISK-22150) Review: https://reviewboard.asterisk.org/r/2696/

2013-07-24 23:40 +0000 [r395316-395340]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c, include/asterisk/bridging_features.h,
	  main/bridging_channel.c,
	  include/asterisk/bridging_channel_internal.h: Simplify interval
	  hooks since there is only one bridge threading model now. *
	  Convert interval timers to use the ast_waitfor_nandfds() timeout.
	  * Remove bridge channel action for intervals. Now the main loop
	  handles running interval hooks.

	* main/bridging.c, include/asterisk/bridging_features.h,
	  main/bridging_channel.c, apps/app_confbridge.c: Refactor
	  ast_bridge_features struct. * Reduced the number of hook
	  containers to just dtmf_hooks, interval_hooks, and other_hooks.
	  As a result, several functions dealing with the different hook
	  containers could be combined. * Extended the generic hook struct
	  for DTMF and interval hooks instead of using a variant record. *
	  Merged the special talk detector hook into the other_hooks
	  container. * Replaced ast_bridge_features_set_talk_detector()
	  with ast_bridge_talk_detector_hook(). (issue ASTERISK-22107)

	* main/features.c: * Refactor setup_bridge_features_builtin(). *
	  Add an error message so you know when a feature is not available
	  and you tried to use it. It usually means the module has not been
	  loaded.

2013-07-24 19:32 +0000 [r395295-395298]  Matthew Jordan <mjordan@digium.com>

	* main/asterisk.exports.in: Export exports.in as well Because is is
	  rather needed.

	* main/bridging.c, res/parking/parking_bridge_features.c,
	  apps/app_agent_pool.c, include/asterisk/bridging_channel.h,
	  main/bridging_basic.c, bridges/bridge_builtin_features.c,
	  include/asterisk/bridging_features.h, main/bridging_channel.c,
	  bridges/bridge_builtin_interval_features.c,
	  include/asterisk/bridging_channel_internal.h: Update
	  bridge_channel refactorings; export bridge_ symbol

2013-07-24 18:51 +0000 [r395283]  Jason Parker <jparker@digium.com>

	* contrib/scripts/install_prereq: Add pjproject to install_prereq.
	  Also fixes spacing, in passing. (closes issue ASTERISK-22131)

2013-07-24 18:08 +0000 [r395267-395271]  Kinsey Moore <kmoore@digium.com>

	* res/res_sip.c: Tweak another magic number

	* main/manager_bridging.c: Make AMI BridgeInfo action more verbose
	  Ensure that the BridgeInfo command provides adequate state
	  information about channels by publishing the full channel
	  snapshot for BridgeInfoChannel subevents. This prevents a
	  two-stage lookup since most consumers will be keying on channel
	  names instead of uniqueids. (closes issue ASTERISK-22140)

	* res/res_sip/sip_global_headers.c: Tweak a magic number (closes
	  issue ASTERISK-22146)

2013-07-24 16:01 +0000 [r395254-395255]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging_channel.c,
	  include/asterisk/bridging_channel_internal.h,
	  include/asterisk/bridging_channel.h, main/channel.c: Add missing
	  end-of-file line terminators.

	* bridges/bridge_native_rtp.c: Add missing line terminator to debug
	  message.

2013-07-24 15:38 +0000 [r395253]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/bridging_channel_internal.h (added),
	  res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
	  include/asterisk/bridging_channel.h (added),
	  res/parking/parking_bridge.c, include/asterisk/features.h,
	  main/channel.c, include/asterisk/bridging_technology.h,
	  include/asterisk/bridging_internal.h,
	  bridges/bridge_builtin_features.c, main/bridging_channel.c
	  (added), main/features.c, include/asterisk/bridging.h,
	  bridges/bridge_builtin_interval_features.c, main/bridging.c,
	  main/bridging_basic.c, include/asterisk/channel.h: Perform the
	  initial renaming of the Bridging API This patch does the
	  following: * It pulls out bridge_channel and puts it into its own
	  translation unit * It adds public and protected headers for
	  bridging_channel. Protected functions are appropriate only for
	  the Bridging API and sub-classes of a bridge. (issue
	  ASTERISK-22130)

2013-07-24 14:35 +0000 [r395243]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: Let the compiler do more type checking with
	  bridge hook callbacks.

2013-07-23 22:32 +0000 [r395227]  Joshua Colp <jcolp@digium.com>

	* bridges/bridge_native_rtp.c: Fix a check in bridge_native_rtp
	  which determined if attaching the framehook failed or not.

2013-07-23 21:32 +0000 [r395215]  Jonathan Rose <jrose@digium.com>

	* funcs/func_channel.c, include/asterisk/bridging_basic.h,
	  main/bridging_basic.c: func_channel: dtmf_features setting Allows
	  reading andsetting dtmf features via a channel function
	  CHANNEL(dtmf_features) (closes issue ASTERISK-21876) Reported by:
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/2648/

2013-07-23 21:14 +0000 [r395203-395205]  Joshua Colp <jcolp@digium.com>

	* bridges/bridge_native_rtp.c: Add some debug messages to make it
	  clear what RTP bridging functionality is in use.

	* bridges/bridge_native_rtp.c: Fix some logic so native RTP bridge
	  will occur when monitor, audiohooks, or framehooks are not
	  present.

2013-07-23 19:14 +0000 [r395188]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_softmix.c, main/bridging.c,
	  include/asterisk/bridging.h: Pull softmix bridge parameters into
	  a sub structure.

2013-07-23 18:41 +0000 [r395183]  Joshua Colp <jcolp@digium.com>

	* channels/chan_gulp.c: Drop the reference count on the correct
	  object.

2013-07-23 18:41 +0000 [r395154-395182]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c, main/utils.c: Reinclude sys/stat.h in
	  chan_dahdi.c and remove redundant include in utils.c

	* channels/chan_dahdi.h, channels/chan_mgcp.c,
	  channels/chan_dahdi.c, channels/dahdi/bridge_native_dahdi.c: Some
	  chan_dahdi protected function renaming. analog_lib_handles -->
	  dahdi_analog_lib_handles enable_dtmf_detect -->
	  dahdi_dtmf_detect_enable disable_dtmf_detect -->
	  dahdi_dtmf_detect_disable dahdi_enable_ec --> dahdi_ec_enable
	  dahdi_disable_ec --> dahdi_ec_disable update_conf -->
	  dahdi_conf_update dahdi_link --> dahdi_master_slave_link
	  dahdi_unlink --> dahdi_master_slave_unlink (closes issue
	  ASTERISK-22129) Reported by: rmudgett

	* channels/chan_dahdi.c, channels/dahdi/bridge_native_dahdi.c,
	  channels/chan_dahdi.h (added), channels/dahdi (added),
	  channels/dahdi/bridge_native_dahdi.h, bridges/bridge_softmix.c,
	  channels/Makefile, main/bridging.c: Restore chan_dahdi native
	  bridging and PRI tromboned call elimination. Created a
	  native_dahdi bridging technology for use with the new bridging
	  API. The new bridging technology is part of the chan_dahdi
	  channel driver because it is very specific to that driver. Rather
	  than include the new code directly into chan_dahdi.c the new
	  bridge technology is in its own file and linked into
	  chan_dahdi.so. A large part of this change is the mechanical
	  process of moving declarations around so chan_dahdi.c can be
	  split up into more files later. * Changed the bridging core to
	  pass NULL frames into the channel technologies instead of
	  discarding them. The channel technologies may need the proding to
	  determine if their configuration is still valid. (closes issue
	  ASTERISK-21886) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2681/

2013-07-23 15:28 +0000 [r395151]  Mark Michelson <mmichelson@digium.com>

	* main/bridging_roles.c, include/asterisk/bridging_internal.h
	  (added), bridges/bridge_builtin_features.c,
	  main/stasis_bridging.c, include/asterisk/bridging_features.h,
	  include/asterisk/features_config.h, include/asterisk/bridging.h,
	  main/features.c, include/asterisk/bridging_roles.h, main/cel.c,
	  main/features_config.c, include/asterisk/stasis_bridging.h,
	  main/bridging.c, main/bridging_basic.c: Make DTMF attended
	  transfer support feature-complete. This greatly modifies the
	  operation of DTMF attended transfers so that the full range of
	  options from features.conf applies. In addition, a new option has
	  been added that allows for a transferer to switch between bridges
	  during a transfer before completing the transfer. (closes issue
	  ASTERISK-21543) reported by Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2654

2013-07-23 14:57 +0000 [r395136]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c,
	  res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c,
	  res/res_stasis_http.c, res/res_stasis_http_endpoints.c,
	  res/res_stasis_http_asterisk.c, res/res_stasis_http_playback.c,
	  rest-api-templates/res_stasis_http_resource.c.mustache: No more
	  teapots. Now that the ARI implementation is nearing some
	  definition of completeness, we should properly respond with 501's
	  for unimplemented functionality, instead of the almost humorous
	  418.

2013-07-23 14:49 +0000 [r395135]  Matthew Jordan <mjordan@digium.com>

	* main/channel.c: Kill the zombies In previous versions of
	  Asterisk, the zombies roamed freely, unchecked and uncontrolled.
	  They ravaged Asterisk systems with their biting and their nashing
	  and their pointy teeth. Sometimes, you couldn't even hang them
	  up. Now, zombies are rare. They still *technically* exist in
	  certain places, but they are controlled. Kind of like a zombie
	  zoo: you can see them, but you can't touch them, and they can't
	  touch you. Bring your kids! Because zombies are now population
	  controlled with a very short lifespan, there's no reason to
	  rename the channels to '%s<ZOMBIE>'. The channels are guaranteed
	  to die off quickly; the rename really is just confusing at this
	  point. This patch finally removes the renaming. On the plus side:
	  this made my life easier in CDRs during call pickup and attended
	  transfers to an Asterisk application. It will make other folks
	  lives easier as well! Review:
	  https://reviewboard.astierks.org/r/2690/ (closes issue
	  ASTERISK-21699) Reported by: Matt Jordan

2013-07-23 13:52 +0000 [r395121]  Kinsey Moore <kmoore@digium.com>

	* res/res_sip_sdp_rtp.c, channels/chan_gulp.c, res/res_sip.c,
	  channels/chan_sip.c, res/res_sip/sip_configuration.c,
	  res/res_sip_session.c, include/asterisk/res_sip.h,
	  include/asterisk/res_sip_session.h: Add DTLS-SRTP support to
	  chan_pjsip This patch introduces DTLS-SRTP support to chan_pjsip
	  and the options necessary to configure it including an option to
	  allow choosing between 32 and 80 byte SRTP tag lengths. During
	  the implementation and testing of this patch, three other bugs
	  were found and their fixes are included with this patch. The two
	  in chan_sip were a segfault relating to DTLS setup and mistaken
	  call rejection. The third bug fix prevents chan_pjsip from
	  attempting to perform bridge optimization between two endpoints
	  if either of them is running any form of SRTP. Review:
	  https://reviewboard.asterisk.org/r/2683/ (closes issue
	  ASTERISK-21419)

2013-07-23 13:42 +0000 [r395118-395120]  David M. Lee <dlee@digium.com>

	* res/stasis/app.h, res/res_stasis.c, res/stasis/app.c: Continue
	  events when ARI WebSocket reconnects This patch addresses a bug
	  in the /ari/events WebSocket in handling reconnects. When a
	  Stasis application's associated WebSocket was disconnected and
	  reconnected, it would not receive events for any channels or
	  bridges it was subscribed to. The fix was to lazily clean up
	  Stasis application registrations, instead of removing them as
	  soon as the WebSocket goes away. When an application is
	  unregistered at the WebSocket level, the underlying application
	  is simply deactivated. If the application WebSocket is
	  reconnected, the application is reactivated for the new
	  connection. To avoid memory leaks from lingering, unused
	  application, the application list is cleaned up whenever new
	  applications are registered/unregistered. (closes issue
	  ASTERISK-21970) Review: https://reviewboard.asterisk.org/r/2678/

	* main/manager_bridging.c,
	  include/asterisk/stasis_message_router.h, tests/test_stasis.c,
	  main/manager_channels.c, main/cdr.c,
	  main/stasis_message_router.c: Fix bridge/channel AMI event
	  ordering issues The stasis_cache_update messages are somewhat
	  cumbersome to handle with the stasis_message_router. Since all
	  updates have the same message type, they are normally handled
	  with the same route. Since caching itself is a first class
	  component of stasis-core, it makes sense for the router to handle
	  the cache update messages itself. This patch adds
	  stasis_message_router_add_cache_update() and
	  stasis_message_router_remove_cache_update() to handle the routing
	  of stasis_cache_update messages. This patch also corrects an
	  issue with manager_{bridging,channels}.c, where events might be
	  reordered. The reordering occurs because the components use
	  different message routers, which they needed because they both
	  needed to route cache update messages. They now both use
	  manager's router, and add cache routes for just the cache updates
	  they are interested in. (closes issue ASTERISK-22038) Review:
	  https://reviewboard.asterisk.org/r/2677/

2013-07-23 12:56 +0000 [r395107]  Kinsey Moore <kmoore@digium.com>

	* res/res_sip/sip_options.c: Add missing newline

2013-07-23 12:27 +0000 [r395102]  Joshua Colp <jcolp@digium.com>

	* channels/chan_gulp.c, res/res_sip_session.c,
	  include/asterisk/res_sip_session.h,
	  res/res_sip_session.exports.in: Expose the chan_pjsip
	  implementation pvt and session in a defined manner. This allows
	  modules outside of chan_pjsip itself to get the session given
	  only an Asterisk channel. Review:
	  https://reviewboard.asterisk.org/r/2674/

2013-07-23 00:16 +0000 [r395089]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c: Fix unbalanced lock when serializing CDR variables
	  I'm only surprised that this didn't cause larger problems.

2013-07-23 00:02 +0000 [r395088]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: Remove some BUGBUG notes that have been handled.

2013-07-22 20:42 +0000 [r395074]  Kinsey Moore <kmoore@digium.com>

	* tests/test_cel.c: Make the CEL blind transfer test pass
	  consistently

2013-07-22 13:52 +0000 [r394881-395034]  Matthew Jordan <mjordan@digium.com>

	* /, main/asterisk.c: Update copyright year to 2013 in asterisk.c;
	  some whitespace fixes (closes issue ASTERISK-22179) Reported by:
	  Malcolm Davenport ........ Merged revisions 395032 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 395033 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* funcs/func_channel.c, /: Clean up documentation This patch cleans
	  up documentation in func_channel for the following items: *
	  rtpsource * secure_signaling * secure_media * various OOH323
	  parameters (closes issue ASTERISK-20969) Reported by: snuffy
	  patches: func_chan-update.diff uploaded by snuffy (License 5024)
	  ........ Merged revisions 394980 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394981 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, configs/indications.conf.sample: Provide proper ring tone in
	  indications.conf for Malaysia The ring tone provided in the
	  sample indications.conf was incorrect. This patch modifies the
	  sample ring tone to be what it should: ring =
	  425/400,0/200,425/400,0/2000 This brings it in line with the tone
	  definition in DAHDI 2.7.0. (zonedata.c) (closes issue
	  ASTERISK-21997) Reported by: Filip Jenicek patches:
	  malaysia_ring.patch uploaded by phill (License 6277) ........
	  Merged revisions 394940 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394941 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* contrib/scripts/safe_asterisk, Makefile,
	  configs/safe_asterisk.conf.sample (added), CHANGES: Always
	  install safe_asterisk; add configuration file support This patch
	  modifies the behavior of safe_asterisk in two ways: (1) It
	  modifies the Asterisk Makefile such that safe_asterisk is always
	  installed on a 'make install'. This was done as bugfixes in the
	  safe_asterisk script were not applied in previous version of
	  Asterisk without first removing the old version of the script.
	  (2) In order to keep a newly installed version of safe_asterisk
	  from impacting local modifications, a new config file -
	  safe_asterisk.conf.sample - has been provided. Settings that were
	  previously modified in safe_asterisk can be set there instead.
	  (closes issue ASTERISK-21965) Reported by: Jeremy Kister patches:
	  safe_asterisk.patch uploaded by jkister (License 6232)

	* /, main/http.c: Tolerate presence of RFC2965 Cookie2 header by
	  ignoring it This patch modifies parsing of cookies in Asterisk's
	  http server by doing an explicit comparison of the "Cookie"
	  header instead of looking at the first 6 characters to determine
	  if the header is a cookie header. This avoids parsing "Cookie2"
	  headers and overwriting the previously parsed "Cookie" header.
	  Note that we probably should be appending the cookies in each
	  "Cookie" header to the parsed results; however, while clients can
	  send multiple cookie headers they never really do. While this
	  patch doesn't improve Asterisk's behavior in that regard, it
	  shouldn't make it any worse either. Note that the solution in
	  this patch was pointed out on the issue by the issue reporter,
	  Stuart Henderson. (closes issue ASTERISK-21789) Reported by:
	  Stuart Henderson Tested by: mjordan, Stuart Henderson ........
	  Merged revisions 394899 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394900 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, contrib/realtime/postgresql/realtime.sql: Update PostgreSQL
	  realtime scripts with schema for queue_log table This patch
	  updates the realtime SQL scripts with an entry that will create
	  the queue_log table. This brings the PostgreSQL scripts inline
	  with the MySQL scripts, with respect to what tables they will
	  create. (closes issue ASTERISK-21021) Reported by: Eugene
	  patches: queue_log.sql uploaded by varnav (license 6360) ........
	  Merged revisions 394896 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394897 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/iax2/parser.c: Add additional control frame types to the
	  IAX2 parser for debug messages This patch adds some of the more
	  recent control frame types to the IAX2 parser. When IAX2
	  debugging is enabled, it will now show more of the control frame
	  types. (closes issue ASTERISK-22120) Reported by: Birger "WIMPy"
	  Harzenetter patches: iaxcmds.diff uploaded by wimpy

	* /, configs/iax.conf.sample: Document connectedline parameter for
	  chan_iax2 The connectedline parameter for a chan_iax2 peer was
	  undocumented. This patch documents the options in the sample
	  configuration file. (closes issue ASTERISK-21953) Reported by:
	  Birger "WIMPy" Harzenetter ........ Merged revisions 394886 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394890 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/manager.c, CHANGES: Allow setting allowmultiplelogin on an
	  account basis This patch modifies manager to allow the
	  allowmultiplelogin setting to be set on an account by account
	  basis. When set in the general context, it will act as the
	  default for the defined accounts. Setting it in the account will
	  override the general setting. (closes issue ASTERISK-21324)
	  Reported by: vldmr patches:
	  asterisk-manager-per-user-allowmultiplelogin.patch uploaded by
	  vldmr (License 6487)

2013-07-20 13:25 +0000 [r394858-394870]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/cel.h, tests/test_cel.c, CHANGES, main/cel.c,
	  main/asterisk.c: Add CEL local optimization record type This adds
	  a new CEL event type, AST_CEL_LOCAL_OPTIMIZE, to represent local
	  channel optimizations. Local channel optimizations were one of
	  several things conveyed by the now defunct BRIDGE_UPDATE event
	  type. This also adds a unit test to test generation of this new
	  CEL event. Review: https://reviewboard.asterisk.org/r/2676/

	* tests/test_cel.c, CHANGES, apps/app_queue.c, main/cel.c,
	  apps/app_dial.c, main/channel.c, channels/chan_dahdi.c,
	  main/pbx.c, channels/sig_analog.c, channels/chan_sip.c,
	  include/asterisk/cel.h, apps/app_celgenuserevent.c,
	  apps/app_directed_pickup.c, main/features.c: Add transfer support
	  to CEL This adds CEL support for blind and attended transfers and
	  call pickup. During the course of adding this functionality I
	  noticed that CONF_ENTER, CONF_EXIT, and BRIDGE_TO_CONF events are
	  particularly useless without a bridge identifier, so I added that
	  as well. This adds tests for blind transfers, several types of
	  attended transfers, and call pickup. The extra field in CEL
	  records now consists of a JSON blob whose fields are defined on a
	  per-event basis. Review: https://reviewboard.asterisk.org/r/2658/
	  (closes issue ASTERISK-21565)

2013-07-20 01:11 +0000 [r394825-394846]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/astobj2.h: Regroup the ao2 search_flags. Moved
	  the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags together into
	  a field and renamed them to OBJ_SEARCH_OBJECT, OBJ_SEARCH_KEY,
	  and OBJ_SEARCH_PARTIAL_KEY respectively. The values were selected
	  to keep existing code compiling and working until the codebase
	  can be changed to stop using these values as bit flags and use
	  them as an enum field. The old names are defined to the new names
	  for backward compatibility.

	* main/audiohook.c, main/channel.c, include/asterisk/audiohook.h:
	  Minor optimizations. * Made ast_audiohook_detach_list() and
	  ast_audiohook_write_list_empty() NULL tolerant. * Made
	  ast_audiohook_detach_list() return void since it is a destructor.

	* main/bridging.c, main/channel.c, include/asterisk/channel.h,
	  bridges/bridge_native_rtp.c: Extract a repeated test into
	  ast_channel_has_audio_frame_or_monitor().

2013-07-19 19:40 +0000 [r394809-394810]  Jonathan Rose <jrose@digium.com>

	* res/stasis/control.c, res/stasis_http/resource_channels.c,
	  res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
	  res/stasis_http/resource_channels.h,
	  rest-api/api-docs/channels.json: ARI: MOH start and stop for a
	  channel (issue ASTERISK-21974) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2680/

	* rest-api/api-docs/channels.json, res/res_stasis_http_bridges.c,
	  res/res_stasis.c, rest-api/api-docs/recordings.json,
	  include/asterisk/core_unreal.h, res/res_stasis_http_playback.c,
	  res/res_stasis_playback.c, channels/chan_bridge_media.c (added),
	  res/stasis/control.c, res/stasis_http/ari_model_validators.c,
	  res/res_stasis_http_channels.c, main/core_unreal.c,
	  include/asterisk/stasis_app.h,
	  res/stasis_http/resource_bridges.c,
	  res/stasis_http/ari_model_validators.h,
	  res/stasis_http/resource_bridges.h,
	  include/asterisk/stasis_app_playback.h,
	  rest-api/api-docs/bridges.json, include/asterisk/logger.h,
	  res/stasis_http/resource_channels.c,
	  rest-api/api-docs/playback.json: ARI: Bridge Playback, Bridge
	  Record Adds a new channel driver for creating channels for
	  specific purposes in bridges, primarily to act as either
	  recorders or announcers. Adds ARI commands for playing
	  announcements to ever participant in a bridge as well as for
	  recording a bridge. This patch also includes some
	  documentation/reponse fixes to related ARI models such as
	  playback controls. (closes issue ASTERISK-21592) Reported by:
	  Matt Jordan (closes issue ASTERISK-21593) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2670/

2013-07-19 19:23 +0000 [r394795-394808]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/channel.h, main/stasis_channels.c, main/cel.c,
	  apps/confbridge/conf_chan_announce.c, main/manager_channels.c,
	  res/parking/parking_manager.c, main/cdr.c,
	  include/asterisk/stasis_channels.h,
	  apps/confbridge/conf_chan_record.c,
	  apps/confbridge/confbridge_manager.c, main/manager_bridging.c:
	  Filter channels used as internal mechanisms This adds new flags
	  to the channel tech properties that flag it as different types of
	  implementation detail used exclusively to provide a feature.
	  Examples of channels that would have these flags include the
	  announcement and recording channels used by confbridge which are
	  the only two marked as such by this patch. Review:
	  https://reviewboard.asterisk.org/r/2633/ (closes issue
	  ASTERISK-21873)

	* channels/chan_sip.c: Fix crash when using temporary peers
	  Temporary peers do not have an associated Stasis endpoint and
	  quite a bit of code in chan_sip assumes that all peers have a
	  Stasis endpoint. All endpoint accesses in chan_sip are now
	  wrapped in an endpoint NULL-check.

2013-07-19 18:00 +0000 [r394793]  Jason Parker <jparker@digium.com>

	* main/stasis_system.c, main/ccss.c,
	  include/asterisk/stasis_system.h: Convert CCSS manager events to
	  stasis. (closes issue ASTERISK-21473) Review:
	  https://reviewboard.asterisk.org/r/2682/

2013-07-19 17:55 +0000 [r394776-394791]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: Made audiohooks, framehooks, and monitor prevent
	  local channel optimization. Audiohooks, framehooks, and monitor
	  represent state on a local channel that will go away if it is
	  optimized out. (closes issue ASTERISK-21954) Reported by:
	  rmudgett Review: https://reviewboard.asterisk.org/r/2685/

	* include/asterisk/channel.h: Fixup doxygen on ast_hangup().

2013-07-18 19:25 +0000 [r394759]  Mark Michelson <mmichelson@digium.com>

	* res/res_sip_session.c, res/res_sip/sip_global_headers.c (added),
	  res/res_sip/config_system.c (added),
	  res/res_sip_one_touch_record_info.c, res/res_sip_mwi.c,
	  res/res_sip_pubsub.c, res/res_sip/config_transport.c,
	  res/res_sip/sip_configuration.c, res/res_sip_refer.c,
	  include/asterisk/res_sip.h, res/res_sip/config_global.c (added),
	  res/res_sip/include/res_sip_private.h, res/res_sip.exports.in,
	  res/res_sip_sdp_rtp.c, channels/chan_gulp.c,
	  res/res_sip_caller_id.c, res/res_sip.c: Add a bunch of options
	  from sip.conf to res_sip.conf For a complete list of the options
	  added, see the review linked at the bottom of this commit
	  message. (closes issue ASTERISK-21506) reported by Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/2671

2013-07-18 18:05 +0000 [r394744]  David M. Lee <dlee@digium.com>

	* res/res_http_websocket.c: Fixed null dereference when WebSocket
	  subprotocol isn't specified

2013-07-18 16:49 +0000 [r394731]  Jonathan Rose <jrose@digium.com>

	* apps/app_bridgewait.c, main/bridging_roles.c,
	  bridges/bridge_holding.c: bridge_holding/app_bridgewait: Add new
	  entertainment options This patch adds more entertainment options
	  to holding bridges and the bridge_wait application. Also, holding
	  bridges will now use music on hold as the default entertainment
	  option instead of none. The parameters for app_bridgewait have
	  changed to (role, options) from the previous (options) and the
	  options themselves have changed as well (entertainment options
	  are now contained in an enumerator, role specification is handled
	  by the role parameter, etc) (closes issue ASTERISK-21923)
	  Reported by: Matthew Jordan Review:
	  https://reviewboard.asterisk.org/r/2679/

2013-07-18 16:03 +0000 [r394715]  Jason Parker <jparker@digium.com>

	* res/stasis_http/resource_channels.c,
	  include/asterisk/stasis_app.h, include/asterisk/channel.h,
	  res/res_mutestream.c, main/channel.c, res/stasis/control.c: ARI:
	  Add support for suppressing media streams. Also convert
	  res_mutestream to use the core feature behind this. (closes issue
	  ASTERISK-21618) Review: https://reviewboard.asterisk.org/r/2652/

2013-07-18 14:50 +0000 [r394701]  Matthew Jordan <mjordan@digium.com>

	* main/http.c: Tweak debug statements This patch does two things:
	  1. It moves the debug statement that shows the HTTP sub-protocols
	  being compared after the string length calculation such that it
	  shows the correct string length in the output 2. It adds some
	  additional debug that displays when it matches on a sub-protocol
	  and when it fails

2013-07-18 14:08 +0000 [r394686]  David M. Lee <dlee@digium.com>

	* main/stasis_cache.c: Fix caching topic shutdown assertions The
	  recent changes to update stasis_cache_topics directly from the
	  publisher thread uncovered a race condition, which was causing
	  asserts in the /stasis/core tests. If the caching topic's
	  subscription is the last reference to the caching topic, it will
	  destroy the caching topic after the final message has been
	  processed. When dispatching to a different thread, this usually
	  gave the unsubscribe enough time to finish before destruction
	  happened. Now, however, it consistently destroys before
	  unsubscription is complete. This patch adds an extra reference to
	  the caching topic, to hold it for the duration of the
	  unsubscription. This patch also removes an extra unref that was
	  happening when the final message was received by the caching
	  topic. It was put there because of an extra ref that was put into
	  the caching topic's constructor. Both have been removed, which
	  makes the destructor a bit less confusing. Review:
	  https://reviewboard.asterisk.org/r/2675/

2013-07-18 12:54 +0000 [r394642]  Michael L. Young <elgueromexicano@gmail.com>

	* /, res/res_agi.c: Properly indicate failure to open an audio
	  stream in res_agi If there is an error streaming an audio file,
	  the current return status makes it difficult for an AGI script to
	  determine that there was an error with the audio file. This
	  patches changes the result to return -1 and the function returns
	  RESULT_FAILURE instead of RESULT_SUCCESS. From looking at other
	  parts of res_agi, this would appear to be the proper way to
	  handle an error. (closes issue ASTERISK-21903) Reported by: Ariel
	  Wainer Tested by: Ariel Wainer Patches:
	  asterisk-21903-return-stream-res_1.8.diff by Michael L. Young
	  (license 5026) Review: https://reviewboard.asterisk.org/r/2625/
	  ........ Merged revisions 394640 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394641 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-07-17 22:30 +0000 [r394600-394623]  Richard Mudgett <rmudgett@digium.com>

	* tests/test_app.c, main/features.c, tests/test_voicemail_api.c,
	  tests/test_cel.c, include/asterisk/channel.h,
	  addons/chan_mobile.c, tests/test_cdr.c,
	  tests/test_stasis_endpoints.c, apps/app_voicemail.c,
	  main/channel.c, main/dial.c, apps/app_meetme.c: Change
	  ast_hangup() to return void and be NULL safe. Since ast_hangup()
	  is effectively a channel destructor, it should be a void
	  function. * Make the few silly callers checking the return value
	  no longer do so. Only the CDR and CEL unit tests checked the
	  return value. * Make all callers take advantage of the NULL safe
	  change and remove the NULL check before the call.

	* main/features.c: Remove some completed and no longer relevant
	  BUGBUG notes.

2013-07-17 18:26 +0000 [r394583]  Jonathan Rose <jrose@digium.com>

	* apps/confbridge/conf_chan_announce.c: app_confbridge: Eliminate a
	  reference leak for confbridge announcer channels

2013-07-17 17:49 +0000 [r394552-394567]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* channels/chan_dahdi.c: Left over spacing issues of review 726.

	* channels/chan_dahdi.c: handle DAHDI_EVENT_REMOVED on a pri
	  D-Channel When a DAHDI device is removed at run-time it sends the
	  event DAHDI_EVENT_REMOVED on each channel. This is intended to
	  signal the userspace program to close the respective file handle,
	  as the driver of the device will need all of them closed to
	  properly clean-up. This event has long since been handled in
	  chan_dahdi (chan_zap at the time). However the event that is sent
	  on a D-Channel of a "PRI" (ISDN) span simply gets ignored. This
	  commit adds handling for closing the file descriptor (and
	  shutting down the span, while we're at it). It also adds a CLI
	  command 'pri destroy span <N>' to destroy the span and its DAHDI
	  channels. Review: https://reviewboard.asterisk.org/r/726/

2013-07-16 22:33 +0000 [r394530-394531]  Matthew Jordan <mjordan@digium.com>

	* apps/app_confbridge.c, CHANGES: Add 'kick all' capability to
	  ConfBridge CLI command This patch adds the ability to kick all
	  users out of a conference from the ConfBridge kick CLI command.
	  It is invoked by passing 'all' as the channel parameter to the
	  CLI command, i.e., "confbridge kick <conf> all". Note that this
	  patch was modified slightly to conform to trunk. (closes issue
	  ASTERISK-21827) Reported by: dorianlogan patches:
	  kickall-patch_v2.diff uploaded by dorianlogan (License 6504)

	* main/cel.c: Re-order handlers in CEL to ensure that HANGUP events
	  happen after APP_END When a channel is hungup, both an APP_END
	  event and a HANGUP event can be fired. To ensure that HANGUP
	  events occur after APP_END events, the method callbacks for the
	  APP_END event should be processed prior to the callbacks for the
	  HANGUP event.

2013-07-16 21:44 +0000 [r394513]  David M. Lee <dlee@digium.com>

	* res/stasis_http/ari_websockets.c: Debug logging to help with
	  WebSocket connection problems

2013-07-16 20:00 +0000 [r394489]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_gulp.c: chan_gulp: Fix gulp_indicate() handling of
	  AST_CONTROL_PVT_CAUSE_CODE.

2013-07-16 19:13 +0000 [r394473]  Mark Michelson <mmichelson@digium.com>

	* res/res_sip_session.c: Prevent crash from trying to end a session
	  in an invalid way. This ensures that code that was only meant to
	  be run on a reinvite failure only runs on a reinvite failure.
	  (closes issue ASTERISK-22061) reported by Rusty Newton

2013-07-16 18:49 +0000 [r394470-394471]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, channels/chan_sip.c: Remove some dead code
	  dealing with old bridging method.

	* bridges/bridge_simple.c: Simplify bridge_simple chan join code.

2013-07-16 18:22 +0000 [r394469]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c: Re-order cleanup This patch attempts to fix some
	  possible race conditions in shutdown of the CDR engine. It: *
	  Adds a cleanup handler to only unsubscribe and join on stasis
	  messages during graceful shutdown. The cleanup handler should
	  execute before the regular atexit handler, as we want to
	  unsubscribe for any further messages before dispatching the CDRs.
	  * The CDRs are now locked when we dispatch them on shutdown.

2013-07-16 15:30 +0000 [r394442]  David M. Lee <dlee@digium.com>

	* res/res_http_websocket.c: Fixed null dereference when WebSocket
	  protocol is omitted

2013-07-15 23:20 +0000 [r394417]  Richard Mudgett <rmudgett@digium.com>

	* configs/agents.conf.sample, include/asterisk/config_options.h,
	  include/asterisk/stasis_channels.h, channels/chan_agent.c
	  (removed), configs/queues.conf.sample,
	  include/asterisk/bridging.h, UPGRADE.txt, main/stasis_channels.c,
	  CHANGES, main/bridging.c, apps/app_agent_pool.c (added): Replace
	  chan_agent with app_agent_pool. The ill conceived chan_agent is
	  no more. It is now replaced by app_agent_pool. Agents login using
	  the AgentLogin() application as before. The AgentLogin()
	  application no longer does any authentication. Authentication is
	  now the responsibility of the dialplan. (Besides, the
	  authentication done by chan_agent did not match what the voice
	  prompts asked for.) Sample extensions.conf [login] ; Sample agent
	  1001 login ; Set COLP for in between calls so the agent does not
	  see the last caller COLP. exten =>
	  1001,1,Set(CONNECTEDLINE(all)="Agent Waiting" <1001>) ; Give the
	  agent DTMF transfer and disconnect features when connected to a
	  caller. same => n,Set(CHANNEL(dtmf-features)=TX) same =>
	  n,AgentLogin(1001) same => n,NoOp(AGENT_STATUS is
	  ${AGENT_STATUS}) same => n,Hangup() [caller] ; Sample caller
	  direct connect to agent 1001 exten => 800,1,AgentRequest(1001)
	  same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS}) same =>
	  n,Hangup() ; Sample caller going through a Queue to agent 1001
	  exten => 900,1,Queue(agent_q) same => n,Hangup() Sample
	  queues.conf [agent_q] member =>
	  Local/800@caller,,SuperAgent,Agent:1001 Under the hood operation
	  overview: 1) Logged in agents wait for callers in an agents
	  holding bridge. 2) Caller requests an agent using AgentRequest()
	  3) A basic bridge is created, the agent is notified, and caller
	  joins the basic bridge to wait for the agent. 4) The agent is
	  either automatically connected to the caller or must ack the call
	  to connect. 5) The agent is moved from the agents holding bridge
	  to the basic bridge. 6) The agent and caller talk. 7) The
	  connection is ended by either party. 8) The agent goes back to
	  the agents holding bridge. To avoid some locking issues with the
	  agent holding bridge, I needed to make some changes to the after
	  bridge callback support. The after bridge callback is now a list
	  of requested callbacks with the last to be added the only active
	  callback. The after bridge callback for failed callbacks will
	  always happen in the channel thread when the channel leaves the
	  bridging system or is destroyed. (closes issue ASTERISK-21554)
	  Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2657/

2013-07-15 22:05 +0000 [r394402]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/stasis_channels.h: Remove misleading
	  documentation for channel snapshot creation.

2013-07-15 21:22 +0000 [r394397]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http.c: Document the ari.conf allowed_origins
	  setting

2013-07-15 13:43 +0000 [r394370]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_session.c, include/asterisk/res_sip_session.h: Remove
	  some callbacks and functions which are not needed.

2013-07-14 02:41 +0000 [r394278-394346]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_queue.c: Provide error message for QUEUE_MEMBER when
	  member is not in queue When QUEUE_MEMBER is used and the member
	  specified is not in the queue, Asterisk provides an ERROR message
	  that indicates that the option specified is not valid. This patch
	  now properly displays an ERROR message that the member is not in
	  the queue if an interface is specified. (closes issue
	  ASTERISK-21980) Reported by: Avraam David ........ Merged
	  revisions 394345 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/dns.c: Remove redundant code in dns.c Peter J Philipp
	  pointed out that there are two checks that ensure that len is not
	  less than 0. If len is less than 0, the function returns. Having
	  both of them is clearly redundant. This removes the second and
	  attempts to clarify (slightly) the error condition. (closes issue
	  ASTERISK-21772) Reported by: Peter J Philipp

	* /, funcs/func_strings.c: Clarify documentation for function
	  PASSTHRU It is not apparent to the average user that the PASSTHRU
	  function should not be passed as ${PASSTHRU(string)} but just as
	  PASSTHRU(string) to functions which take a variable name and not
	  its contents. This patch clarifies the behavior in the
	  documentation and provides an example. (closes issue
	  ASTERISK-21717) Reported by: Richard Miller patches:
	  func_strings.diff uploaded by Richard Miller (license 5685)
	  ........ Merged revisions 394302 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394303 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/bridging.c, main/cdr.c: Fix FRACK message from external
	  redirects; handle outbound channels better This patch does the
	  following: * It simplifies the Dial handling in CDRs. As a rule,
	  the caller in a dial relationship is always the Party A. There
	  was some logic present in the handling of the dial message that
	  could, conceivably, pick the caller as Party A for the beginning
	  of the dial and the peer as Party A for the end of the dial. This
	  shouldn't have happened if the code in the bridging framework was
	  doing its job; however, that was broken and it led to the FRACK.
	  As it is, this code was overly ocmplex and not needed: the
	  caller, if present, should always be Party A. Period. * It
	  properly checks to see if a channel will continue on in the
	  dialplan. ast_check_hangup - much like cake at the end - is a
	  lie. It will tell you that you are hungup when you are not. Do
	  not believe it. I would make this function tell the truth, but
	  I'm nervous that we've been depending on it sitting on its throne
	  of lies for far too long, and it would probably break lots of
	  things. So I'm just checking the "internal" soft hangup flags,
	  like everyone else. (closes issue ASTERISK-22060) Reported by:
	  Mark Michelson (issue ASTERISK-21831) Reported by: Matt Jordan

	* channels/chan_sip.c: Pretty up a debug message if the
	  referred-by-uri isn't available Instead of formatting a NULL
	  pointer into a "%s" format string (which is usually not a good
	  thing to do), we instead print "Unknown".

2013-07-12 22:35 +0000 [r394263]  Moises Silva <moises.silva@gmail.com>

	* channels/chan_dahdi.c, /: Fix a longstanding issue with MFC-R2
	  configuration that prevented users from mixing different variants
	  or general MFC-R2 settings within the same E1 line. Most users do
	  not have a problem with this since MFC-R2 lines are usually
	  fractional E1s, or the whole E1 has the same country variant and
	  R2 settings. In Venezuela however is common to have inbound
	  MFC-R2 and outbound DTMF-R2 within the same E1. This fix now
	  properly parses the chan_dahdi.conf file to generate a new openr2
	  context every time a new channel => section is found and the
	  configuration was changed. (closes issue ASTERISK-21117) Reported
	  by: Rafael Angulo Related Elastix issue:
	  http://bugs.elastix.org/view.php?id=1612 ........ Merged
	  revisions 394106 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 394173 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-07-12 21:42 +0000 [r394249]  Joshua Colp <jcolp@digium.com>

	* main/channel.c, main/channel_internal_api.c,
	  include/asterisk/channel.h, main/bridging.c: Add support to the
	  bridging core for performing COLP updates when channels join a 2
	  party bridge. (closes issue ASTERISK-21829) Review:
	  https://reviewboard.asterisk.org/r/2636/

2013-07-12 21:01 +0000 [r394232]  Mark Michelson <mmichelson@digium.com>

	* main/bridging_basic.c: Prevent potential race condition in
	  multiparty basic bridges. For more details about the race
	  condition see the linked review at the bottom of this commit
	  (closes issue ASTERISK-21882) Reported by Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2663

2013-07-12 19:35 +0000 [r394216]  Jason Parker <jparker@digium.com>

	* channels/chan_skinny.c: Fix a compiler warning.

2013-07-12 18:23 +0000 [r394203]  David M. Lee <dlee@digium.com>

	* tests/test_json.c: Fixed intermittent crash when loading
	  test_json.so The JSON test attempted an overly clever use of
	  RAII_VAR to run code at the beginning and end of each test, in
	  order to validate that no JSON objects were leaked during the
	  test. The problem is that the validation code would run during
	  the initial load, when the tests were initialized. This happens
	  during startup, when other parts of the system might actively be
	  allocating and freeing JSON objects. This patch changes the
	  RAII_VAR to use the new ast_test_register_{init,cleanup}
	  functions to run the validations properly. (closes issue
	  ASTERISK-21978) Review: https://reviewboard.asterisk.org/r/2669/

2013-07-12 17:52 +0000 [r394189]  Jason Parker <jparker@digium.com>

	* res/stasis_http/internal.h, res/stasis_http/config.c,
	  res/stasis_http/cli.c, res/res_stasis_http.c: ARI: Add support
	  for Cross-Origin Resource Sharing (CORS), origin headers This
	  rejects requests from any unknown origins. (closes issue
	  ASTERISK-21278) Review: https://reviewboard.asterisk.org/r/2667/

2013-07-11 21:01 +0000 [r394158]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridging_technology.h: Fix bridge tech write
	  callback parameter name.

2013-07-11 20:59 +0000 [r394156]  David M. Lee <dlee@digium.com>

	* channels/chan_skinny.c: Fixed chan_skinny for systems were
	  pthread_t isn't an int. I'm looking at you, OS X.

2013-07-11 20:17 +0000 [r394147]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Refactor and cleanup of skinny session
	  handling. Major changes are to pull all packet reading functions
	  into skinny_session and move timeout handling to scheduling
	  arrangements. Thread cancelling is now undertaken directly rather
	  than waiting for the read to timeout (cleanup is popped on thread
	  cancel). Also added some keepalive timings in debugging messages.
	  Keepalive timeout has been increased from 1.1 by keepalive to 3
	  times keepalive. This seems to align (after keepalives stabilise)
	  with when devices reset after not receiving keepalives. Probably
	  needs more work, especially around the first and/or second
	  keepalives that vary significantly by device and firmware
	  version. Review: https://reviewboard.asterisk.org/r/2611/

2013-07-11 16:23 +0000 [r394103]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_exten_state.c: Tweak the subscription failure warning
	  message to include endpoint name and context.

2013-07-11 15:37 +0000 [r394037-394089]  David M. Lee <dlee@digium.com>

	* tests/test_cel.c: Correct test_cel cleanup. When I corrected the
	  CEL test crash in r394037, I didn't quite pay attention to how
	  the globals and locals were being shuffled around in the cleanup
	  callback. I removed the nulling of the global variables, which
	  caused them to be double cleaned. This patch puts the global
	  nulling code back (since the vars are cleaned up by RAII_VARs),
	  and removes the explicit ao2_cleanup() (since they were no-ops,
	  because the variables had just been nulled).

	* res/stasis_http/config.c, configs/ari.conf.sample,
	  res/res_stasis_http.c: Change ARI user config to use a type field
	  When I initially wrote the configuration support for ARI users, I
	  determined the section type by a category prefix (i.e.,
	  [user-admin]). This is neither idiomatic Asterisk configuration,
	  nor is it really that user friendly. This patch replaces the
	  category prefix with a type field in the section, which is much
	  cleaner. Review: https://reviewboard.asterisk.org/r/2664/

	* res/stasis_http/config.c: Apply defaults to ari.conf's general
	  section

	* tests/test_voicemail_api.c: test_voicemail_api: fix warning found
	  by gcc-4.8 The voicemail_api test had code like strncmp(a, b,
	  sizeof(a)), but a was a char pointer, instead of a literal or
	  char array. This meant that sizeof was the size of the pointer,
	  not the length of the string. Since the string is in a
	  stringfield and should be null terminated, I just changed it to a
	  plain strcmp.

	* tests/test_cel.c: Fixed some CEL test crashes

2013-07-10 22:26 +0000 [r394024]  Kevin Harwell <kharwell@digium.com>

	* contrib/scripts/sip_to_res_sip (added),
	  contrib/scripts/sip_to_res_sip/astconfigparser.py (added),
	  contrib/scripts/sip_to_res_sip/astdicts.py (added),
	  contrib/scripts/sip_to_res_sip/sip_to_res_sip.py (added): PSJIP -
	  sip.conf to res_sip.conf script ** This script is in no way
	  finished. Started the initial "cut" at converting a sip.conf file
	  to a res_sip.conf file. Hopefully the bulk of the framework is in
	  place and only a few minor adjustments need to be made when an
	  option mapping is added that "doesn't fit". This script and
	  supporting files should be executable against python version 2.5.
	  An OrderedDict class (backported from a newer version of python)
	  is included. A MultiOrderedDict class is implemented so options,
	  when added, should be able to be added in order and allowed to
	  have multiple values. Currently the scripts supports the majority
	  of endpoint options found in res_sip.conf. Support has also been
	  added for Aor(s) and the ACL/security sections. Inside the
	  sip_to_res_sip.py file one can see a list of options that still
	  need to be mapped. Also items that still need to be done:
	  templates, includes, parsing '=>' delimiter. Note that some code
	  is hopefully in place already to support templates (e.g.
	  lookup/retrieving defaults from them). However, the parsing of
	  and adding of the section needs to be done.

2013-07-10 20:02 +0000 [r394004]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_outbound_registration.c: Handle outbound registration
	  failures that do not occur as a result of a real response.
	  (closes issue ASTERISK-22064) Reported by: Rusty Newton

2013-07-10 17:13 +0000 [r393968-393987]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http_channels.c, rest-api/api-docs/channels.json:
	  Document the 400 error response for originate

	* res/res_stasis_http_asterisk.c, rest-api/api-docs/asterisk.json,
	  res/stasis_http/ari_model_validators.c,
	  res/res_stasis_http_channels.c, rest-api/api-docs/channels.json,
	  res/stasis_http/ari_model_validators.h: Corrected api-docs for
	  channel variables

2013-07-10 01:56 +0000 [r393930]  Russell Bryant <russell@russellbryant.com>

	* configs/sla.conf.sample, /, apps/app_meetme.c: astobj2-ify the
	  SLA code The SLA code within app_meetme was written before
	  asotbj2 had been merged into Asterisk. Worse, support for reloads
	  did not exist at first and was added later as a bolt-on feature.
	  I knew at the time that reloading was not safe at all while SLA
	  was in use, so the reload would be queued up to execute when the
	  system was idle. Unfortunately, this approach was still prone to
	  errors beyond the fact that this was the only place in Asterisk
	  where configuration was not reloaded instantly when requested.
	  This patch converts various SLA objects to be reference counted
	  objects using astobj2. This allows reloads to be processed while
	  the system is in use. The code ensures that the objects will not
	  disappear while one of the other threads is using them. However,
	  they will be immediately removed from the global trunk and
	  station containers so no new calls will use them if removed from
	  configuration. Review: https://reviewboard.asterisk.org/r/2581/
	  ........ Merged revisions 393928 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 393929 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-07-09 21:40 +0000 [r393919]  Jason Parker <jparker@digium.com>

	* include/asterisk/lock.h: Make SCOPED_LOCK use RAII_VAR. This
	  fixes an issue with requiring SCOPED_LOCK to be the last variable
	  declaration and removes duplicate code in the process. Review:
	  https://reviewboard.asterisk.org/r/2665/

2013-07-09 21:06 +0000 [r393910]  Richard Mudgett <rmudgett@digium.com>

	* main/xmldoc.c: Fix printf NULL string (null) substituion for NULL
	  config framework default.

2013-07-09 20:07 +0000 [r393897]  Mark Michelson <mmichelson@digium.com>

	* channels/chan_gulp.c: Use correct function for getting bridged
	  peer when doing direct media checks. (closes issue
	  ASTERISK-21947) reported by Matt Jordan

2013-07-09 19:38 +0000 [r393896]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/manager.h, include/asterisk/stasis_channels.h:
	  Fix some stasis doxygen comments.

2013-07-09 11:05 +0000 [r393857-393870]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_outbound_registration.c: Ensure all pjsip_regc_*
	  access occurs within a pjlib thread. (closes issue
	  ASTERISK-22054) Reported by: Rusty Newton

	* res/res_sip/config_auth.c: Tweak log message slightly.

	* res/res_sip/config_auth.c: Treat the authentication object as
	  invalid if digest configuration is chosen and the digest is not
	  of the correct length. (closes issue ASTERISK-22003) Reported by:
	  Rusty Newton

2013-07-08 20:31 +0000 [r393834-393843]  David M. Lee <dlee@digium.com>

	* res/res_stasis_recording.c: Oh menuconfig, why do you hate
	  margins?

	* res/stasis_http/ari_websockets.c: Better structure for the
	  WebSocket validation failure message

2013-07-08 19:53 +0000 [r393831-393833]  Joshua Colp <jcolp@digium.com>

	* res/res_sip/config_transport.c: Ensure that a valid bind host is
	  specified for transports. (closes issue ASTERISK-22017) Reported
	  by: Rusty Newton

	* main/channel_internal_api.c, res/res_agi.c,
	  main/manager_bridging.c, include/asterisk/channel.h,
	  main/stasis_channels.c, main/bridging.c, main/manager_channels.c,
	  main/cli.c, main/channel.c, build_tools/cflags-devmode.xml,
	  main/pbx.c, include/asterisk/stasis_channels.h, main/manager.c:
	  Refactor operations to access the stasis cache instead of objects
	  directly when retrieving information. (closes issue
	  ASTERISK-21883) Review: https://reviewboard.asterisk.org/r/2645/

2013-07-08 16:04 +0000 [r393816]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http.c: res_stasis_http doesn't depend on
	  res_stasis any more

2013-07-08 15:59 +0000 [r393815]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_controller.c, main/bridging.c,
	  res/parking/parking_bridge.c, res/parking/res_parking.h:
	  res_parking: Apply ringing role option on swap with a channel
	  that rings (closes issue ASTERISK-21877) Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/2656/

2013-07-08 15:11 +0000 [r393807]  Joshua Colp <jcolp@digium.com>

	* res/stasis/control.c: Fix building.

2013-07-08 14:46 +0000 [r393804-393806]  Jason Parker <jparker@digium.com>

	* res/res_stasis_http_asterisk.c, res/stasis/control.c,
	  res/stasis_http/resource_asterisk.h,
	  rest-api/api-docs/asterisk.json,
	  res/stasis_http/resource_channels.c,
	  res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
	  res/stasis_http/resource_channels.h,
	  rest-api/api-docs/channels.json,
	  res/stasis_http/resource_asterisk.c: ARI: Add support for
	  getting/setting channel and global variables. This allows for
	  reading and writing of functions on channels. (closes issue
	  ASTERISK-21868) Review: https://reviewboard.asterisk.org/r/2641/

	* main/manager_system.c (added), res/res_stun_monitor.c,
	  main/file.c, main/sounds_index.c,
	  include/asterisk/stasis_system.h (added), channels/chan_iax2.c,
	  include/asterisk/manager.h, main/asterisk.c, include/asterisk.h,
	  main/stasis_system.c (added), main/manager.c,
	  channels/chan_sip.c: Move channel driver Registry manager events
	  to core. This also shuffles the stasis system topic and related
	  handling. (closes issue ASTERISK-21488) Review:
	  https://reviewboard.asterisk.org/r/2631/

2013-07-08 14:26 +0000 [r393801]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/core_local.h, include/asterisk/bridging.h,
	  main/core_unreal.c, main/core_local.c, CHANGES, main/bridging.c,
	  include/asterisk/core_unreal.h: Create Local channel messages on
	  the Stasis message bus and produce AMI events This patch does the
	  following: * It adds a virtual table of callbacks to core_unreal.
	  These callbacks can be supplied by concrete implementations of
	  "unreal" channel drivers, which lets the unreal channel driver
	  call specific functionality when it performs some action.
	  Currently, this is done to notify implementations when an
	  optimization operation has begun, and when an optimization
	  operation has succeeded. * It adds Stasis-Core messages for Local
	  channel bridging and Local channel optimization. Local channel
	  optimization is now two events: a Begin and an End. Some
	  consumers of Stasis-Core may want to know when an operation is
	  beginning so that they can 'prepare' their information; others
	  will be more concerned about when the operation has completed, so
	  that they can 'fix up' information. Stasis-Core allows for both,
	  as does AMI. Review: https://reviewboard.asterisk.org/r/2552

2013-07-08 13:57 +0000 [r393793]  Mark Michelson <mmichelson@digium.com>

	* res/res_sip_caller_id.c: Fix some broken logic in sending
	  outbound caller ID. * trust_id_outbound was required even when
	  the caller ID was not marked private. This is against intentions
	  and documentation. * We now check both name and number privacy
	  instead of checking name privacy twice.

2013-07-07 21:29 +0000 [r393777-393785]  Matthew Jordan <mjordan@digium.com>

	* main/channel.c: In a channel destructor dispose of items that
	  raise Stasis message properly This patch reorders certain actions
	  that may raise Stasis messages in the channel destructor such
	  that they occur before the Stasis cache is cleared. Once the
	  Stasis cache is cleared, its rather a bad idea to be trying to
	  publish information about a channel. (closes issue
	  ASTERISK-22001) Reported by: Jonathan Rose

	* main/cdr.c, main/channel.c, main/pbx.c,
	  include/asterisk/stasis_channels.h, main/channel_internal_api.c,
	  include/asterisk/cdr.h, include/asterisk/channel.h,
	  main/stasis_channels.c, CHANGES, main/cel.c,
	  main/manager_channels.c: Handle hangup logic in the Stasis
	  message bus and consumers of Stasis messages This patch does the
	  following: * It adds a new soft hangup flag
	  AST_SOFTHANGUP_HANGUP_EXEC that is set when a channel is
	  executing dialplan hangup logic, i.e., the 'h' extension or a
	  hangup handler. Stasis messages now also convey the soft hangup
	  flag so consumers of the messages can know when a channel is
	  executing said hangup logic. * It adds a new channel flag,
	  AST_FLAG_DEAD, which is set when a channel is well and truly
	  dead. Not just a zombie, but dead, Jim. Manager, CEL, CDRs, and
	  other consumers of Stasis have been updated to look for this flag
	  to know when the channel should by lying six feet under. * The
	  CDR engine has been updated to better handle a channel entering
	  and leaving a bridge. Previously, a new CDR was automatically
	  created when a channel left a bridge and put into the 'Pending'
	  state; however, this way of handling CDRs made it difficult for
	  the 'endbeforehexten' logic to work correctly - there was always
	  a new CDR waiting in the hangup logic and, even if 'ended',
	  wouldn't be the CDR people wanted to inspect in the hangup
	  routine. This patch completely removes the Pending state and
	  instead defers creation of the new CDR until it gets a new
	  message that requires a new CDR.

2013-07-05 22:08 +0000 [r393749-393768]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http.c: ARI: return a 503 if Asterisk isn't fully
	  booted

	* res/stasis_http/ari_websockets.c: Print error details when set
	  nonblock fails

	* res/stasis_http/ari_model_validators.c,
	  res/stasis_http/ari_model_validators.h,
	  res/stasis_http/resource_events.c, res/res_stasis_http_events.c,
	  rest-api/api-docs/events.json: Document MissingParams error
	  message for /ari/events

2013-07-05 17:33 +0000 [r393740]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/cdr.h, include/asterisk/channel.h,
	  channels/chan_gtalk.c, include/asterisk/json.h,
	  channels/chan_gulp.c, channels/chan_jingle.c, main/json.c,
	  main/manager.c, channels/chan_skinny.c, channels/chan_motif.c,
	  channels/chan_h323.c, include/asterisk/rtp_engine.h,
	  main/asterisk.c, channels/chan_mgcp.c, channels/chan_unistim.c,
	  res/res_rtp_asterisk.c, channels/chan_multicast_rtp.c,
	  main/rtp_engine.c, channels/chan_sip.c: Refactor RTCP events over
	  to Stasis; associate with channels This patch does the following:
	  * It merges Jaco Kroon's patch from ASTERISK-20754, which
	  provides channel information in the RTCP events. Because Stasis
	  provides a cache, Jaco's patch was modified to pass the channel
	  uniqueid to the RTP layer as opposed to a pointer to the channel.
	  This has the following benefits: (1) It keeps the RTP engine
	  'clean' of references back to channels (2) It prevents circular
	  dependencies and other potential ref counting issues * The RTP
	  engine now allows any RTP implementation to raise RTCP messages.
	  Potentially, other implementations (such as res_rtp_multicast)
	  could also raise RTCP information. The engine provides structs to
	  represent RTCP headers and RTCP SR/RR reports. * Some general
	  refactoring in res_rtp_asterisk was done to try and tame the RTCP
	  code. It isn't perfect - that's *way* beyond the scope of this
	  work - but it does feel marginally better. * A few random bugs
	  were fixed in the RTCP statistics. (Example: performing an
	  assignment of a = a is probably not correct) * We now raise RTCP
	  events for each SR/RR sent/received. Previously we wouldn't raise
	  an event when we sent a RR report. Note that this work will be of
	  use to others who want to monitor call quality or build modules
	  that report call quality statistics. Since the events are now
	  moving across the Stasis message bus, this is far easier to
	  accomplish. It is also a first step (though by no means the last
	  step) towards getting Olle's pinefrog work incorporated. Again:
	  note that the patch by Jaco Kroon was modified slightly for this
	  work; however, he did all of the hard work in finding the right
	  places to set the channel in the RTP engine across the channel
	  drivers. Much thanks goes to Jaco for his hard work here. Review:
	  https://reviewboard.asterisk.org/r/2603/ (closes issue
	  ASTERISK-20574) Reported by: Jaco Kroon patches:
	  asterisk-rtcp-channel.patch uploaded by jkroon (License 5671)
	  (closes issue ASTERISK-21471) Reported by: Matt Jordan

2013-07-05 14:54 +0000 [r393729]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: OneTouchRecord: Add function defined earlier:
	  ast_bridge_features_do()

2013-07-05 03:08 +0000 [r393716]  Matthew Jordan <mjordan@digium.com>

	* main/stasis_channels.c, include/asterisk/stasis_channels.h:
	  Remove parkinglot from the channel snapshot Legacy channel
	  drivers often include the ability to set a default parking lot on
	  an endpoint basis; when channels are created for that endpoint,
	  they inherit the parkinglot option. Parking used to use this
	  option more frequently; while it is still supported, other
	  options (such as using channel variables or creation of a custom
	  parkinglot) are supported. More importantly, conveying the
	  parkinglot information through a channel snapshot isn't terribly
	  useful - it is rarely (if ever) changed on a channel and some
	  consumers of channel snapshots, such as ARI, will never use the
	  information. (closes issue ASTERISK-21968) Reported by: Matt
	  Jordan

2013-07-04 18:46 +0000 [r393704]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_ui.c, main/parking.c,
	  res/parking/parking_controller.c, UPGRADE.txt,
	  res/parking/parking_applications.c, include/asterisk/channel.h,
	  main/cel.c, CHANGES, res/parking/parking_bridge_features.c,
	  res/parking/parking_bridge.c, main/channel.c,
	  res/parking/res_parking.h, bridges/bridge_builtin_features.c,
	  main/features.c, include/asterisk/parking.h, main/bridging.c,
	  res/parking/parking_manager.c: res_parking: Replace Parker
	  snapshots with ParkerDialString This process also involved a
	  large amount of rework regarding how to redial the Parker when a
	  channel leaves a parking lot due to timeout. An attended transfer
	  channel variable has been added to attended transfers to
	  extensions that will eventually park (but haven't at the time of
	  transfer) as well. This resolves one of the two BUGBUG comments
	  remaining in res_parking. (issues ASTERISK-21877) Reported by:
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/2638/

2013-07-04 13:37 +0000 [r393675-393687]  David M. Lee <dlee@digium.com>

	* res/res_ari_model.c: Fix int width problem for 32-bit... again

	* tests/test_ari_model.c: Fix int width problem for 32-bit

	* main/utils.c, main/crypt.c (added), main/Makefile: Fix utils
	  directory breakage.

2013-07-03 23:59 +0000 [r393600-393633]  Richard Mudgett <rmudgett@digium.com>

	* main/config_options.c: Add BUGBUG note for ASTERISK-22009

	* channels/chan_agent.c (added), configs/queues.conf.sample,
	  include/asterisk/bridging.h, UPGRADE.txt, main/config_options.c,
	  main/stasis_channels.c, CHANGES, main/bridging.c,
	  apps/app_agent_pool.c (removed), configs/agents.conf.sample,
	  include/asterisk/config_options.h,
	  include/asterisk/stasis_channels.h: Revert accidental overcommit.

	* channels/chan_agent.c (removed), configs/queues.conf.sample,
	  include/asterisk/bridging.h, UPGRADE.txt, main/config_options.c,
	  main/stasis_channels.c, CHANGES, main/bridging.c,
	  apps/app_agent_pool.c (added), configs/agents.conf.sample,
	  include/asterisk/config_options.h,
	  include/asterisk/stasis_channels.h: Add BUGBUG note for
	  ASTERISK-22009

	* channels/chan_dahdi.c, /: chan_dahdi: Fix segfault reloading
	  chan_dahdi when round robin is used. * Clear round_robin[] in
	  dahdi_restart(). (closes issue ASTERISK-21847) Reported by: Ivo
	  Andonov Patches: jira_asterisk_21847_v1.8.patch (license #5621)
	  patch uploaded by rmudgett ........ Merged revisions 393627 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 393628 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* bridges/bridge_builtin_features.c,
	  include/asterisk/bridging_features.h: OneTouchRecord: Make so
	  Monitor/MixMonitor can be toggled/started/stopped. The
	  OneTouchRecord feature has historically been a toggle. This patch
	  adds the ability to make the OneTouchRecord hook optionally
	  start/stop recording only. If OneTouchRecord is already doing
	  what is requested then only the invoker hears the courtesy tone
	  and/or start/stop recording message. The new feature is written
	  so we could easily add explicit start/stop recording DTMF hooks
	  for Monitor and MixMonitor. The majority of the changes in
	  bridge_builtin_features.c is a refactoring of the OneTouchRecord
	  code (Monitor and MixMonitor versions) so it is easy to direct
	  the toggle/start/stop functionality. Review:
	  https://reviewboard.asterisk.org/r/2655/

	* main/bridging.c: Move when bridge channel enter is published so
	  it does not interrupt the thought of some lines of code.

	* main/stasis_config.c: Fix some indentation in stasis_config.c.

2013-07-03 22:04 +0000 [r393589-393599]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c: Fix some bugs in CDRs; add some CLI commands to help
	  debugging This patch fixes a few minor bugs and one major one:
	  the CDR by bridge container was less than helpful. The mechanism
	  previously used to try and find all of the CDRs in a particular
	  bridge ended up missing CDRs, resulting in incorrect records.
	  When looking up CDRs in a bridge, we now just bite the bullet and
	  do a selection across all existing CDRs.

	* main/stasis_config.c: Let Stasis load itself with default values
	  While a Stasis configuration file is nice, it shouldn't be
	  mandatory. We can carry on with default values.

2013-07-03 20:41 +0000 [r393586]  Mark Michelson <mmichelson@digium.com>

	* main/bridging.c: Publish a bridge enter before pulling on a
	  push-and-swap operation. Prior to this patch, the order of
	  procedures on a bridge push was * Add new bridge channel to
	  bridge's array. * Pull the swap channel out of the bridge *
	  Publish a bridge enter event. The problem is that when the swap
	  channel was pulled from the bridge, a bridge leave event would be
	  published. The bridge snapshot published during the bridge leave
	  showed the new channel that had been added to the bridge, but
	  there had been no bridge enter event for that channel. The fix
	  provided here was to change the order a bit * Add new bridge
	  channel to bridge's array. * Publish bridge enter event. * Pull
	  the swap channel out of the bridge. This makes it so that the
	  bridge snapshots during the stasis events are accurate.

2013-07-03 19:46 +0000 [r393528-393576]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c,
	  res/stasis_http/ari_model_validators.h,
	  res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
	  rest-api-templates/ari_model_validators.c.mustache,
	  rest-api-templates/res_stasis_http_resource.c.mustache,
	  rest-api-templates/ari_model_validators.h.mustache,
	  res/stasis_http/ari_model_validators.c,
	  res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c: Fix
	  load errors related to the new ari_model_validators. The Asterisk
	  strategy of loading modules with RTLD_LAZY to extract metadata
	  from the module works well enough, until you try to take the
	  address of a function. If a module takes the address of a
	  function, that function needs to be resolved at load time. That
	  kinda defeats RTLD_LAZY. This patch adds some
	  ari_validator_{id}_fn() wrapper functions for safely getting the
	  function pointer from a different module.

	* res/res_ari_model.c: Violating the margins to make menuconfig
	  happy

	* res/res_stasis_recording.exports.in (added), Makefile,
	  include/asterisk/file.h, include/asterisk/paths.h,
	  main/channel.c, include/asterisk/app.h,
	  res/stasis_http/resource_channels.c, tests/test_utils.c,
	  apps/app_minivm.c, main/file.c,
	  res/stasis_http/resource_recordings.c, main/app.c,
	  res/res_stasis_recording.c (added),
	  rest-api-templates/swagger_model.py,
	  rest-api/api-docs/channels.json,
	  res/stasis_http/resource_channels.h,
	  res/res_stasis_http_bridges.c, rest-api/api-docs/recordings.json,
	  res/stasis_http/resource_recordings.h, main/asterisk.c,
	  rest-api-templates/asterisk_processor.py, apps/app_voicemail.c,
	  include/asterisk/utils.h, res/res_stasis_playback.c,
	  include/asterisk/stasis_app_recording.h (added),
	  res/res_stasis_http_channels.c, main/utils.c,
	  include/asterisk/channel.h, res/res_stasis_http_recordings.c: ARI
	  - channel recording support This patch is the first step in
	  adding recording support to the Asterisk REST Interface.
	  Recordings are stored in /var/spool/recording. Since recordings
	  may be destructive (overwriting existing files), the API rejects
	  attempts to escape the recording directory (avoiding issues if
	  someone attempts to record to ../../lib/sounds/greeting, for
	  example). (closes issue ASTERISK-21594) (closes issue
	  ASTERISK-21581) Review: https://reviewboard.asterisk.org/r/2612/

	* include/asterisk/stasis.h, configs/stasis_core.conf.sample
	  (removed), main/asterisk.c, main/stasis.c, main/stasis_config.c
	  (added), configs/stasis.conf.sample (added): Configuration for
	  Stasis threadpool The appropriate settings for the Stasis
	  threadpool is very system specific, depending upon both workload
	  and system configuration. This patch adds a stasis.conf file
	  which can be used to configure the key attributes of the
	  threadpool for the Stasis message bus. (closes issue
	  ASTERISK-21280) Review: https://reviewboard.asterisk.org/r/2651/

	* res/stasis_http/cli.c (added), res/Makefile,
	  configs/ari.conf.sample (added), makeopts.in,
	  res/res_stasis_http.c, res/stasis_http/internal.h (added),
	  configs/stasis_http.conf.sample (removed), main/Makefile,
	  res/stasis_http/config.c (added), main/http.c, main/utils.c: No
	  message for rev 393530 found

	* main/json.c, rest-api/api-docs/asterisk.json,
	  rest-api/api-docs/playback.json,
	  res/stasis_http/ari_websockets.c, main/stasis_channels.c,
	  rest-api-templates/swagger_model.py,
	  res/res_stasis_http_bridges.c,
	  rest-api-templates/res_stasis_json_resource.c.mustache (removed),
	  res/res_stasis_json_recordings.exports.in (removed),
	  rest-api/api-docs/endpoints.json, main/stasis_endpoints.c,
	  rest-api/api-docs/events.json, tests/test_res_stasis.c,
	  tests/test_stasis_channels.c, include/asterisk/stasis_http.h,
	  res/res_stasis_json_sounds.exports.in (removed),
	  res/res_ari_model.exports.in (added),
	  res/res_stasis_http_recordings.c,
	  rest-api-templates/res_stasis_json_resource.exports.mustache
	  (removed), rest-api/api-docs/bridges.json,
	  res/res_stasis_http_events.c, res/res_ari_model.c (added),
	  res/res_stasis_json_playback.exports.in (removed),
	  res/res_stasis_http_sounds.c, res/stasis_json (removed),
	  rest-api/api-docs/recordings.json,
	  rest-api-templates/ari_model_validators.c.mustache (added),
	  res/res_stasis_json_endpoints.exports.in (removed),
	  res/res_stasis_json_events.exports.in (removed),
	  res/res_stasis_http_asterisk.c,
	  rest-api-templates/res_stasis_http_resource.c.mustache,
	  rest-api-templates/make_ari_stubs.py (added),
	  res/res_stasis_json_recordings.c (removed),
	  rest-api-templates/api.wiki.mustache (added),
	  rest-api/api-docs/sounds.json, res/Makefile,
	  res/res_stasis_json_events.c (removed),
	  res/res_stasis_json_bridges.exports.in (removed),
	  res/res_stasis_json_sounds.c (removed),
	  rest-api-templates/models.wiki.mustache (added),
	  main/stasis_bridging.c, rest-api-templates/transform.py,
	  rest-api-templates/stasis_json_resource.h.mustache (removed),
	  res/res_stasis_json_channels.exports.in (removed),
	  res/res_stasis_json_asterisk.c (removed), res/res_stasis_http.c,
	  rest-api-templates/asterisk_processor.py,
	  res/res_stasis_http_playback.c,
	  rest-api-templates/ari_model_validators.h.mustache (added),
	  res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c
	  (removed), include/asterisk/json.h, tests/test_ari_model.c
	  (added), Makefile, res/res_stasis_json_asterisk.exports.in
	  (removed), res/res_stasis_json_bridges.c (removed),
	  res/stasis_http/resource_recordings.c,
	  rest-api/api-docs/channels.json, res/res_stasis_json_playback.c
	  (removed), res/res_stasis.c, doc/rest-api (added),
	  rest-api-templates/make_stasis_http_stubs.py (removed),
	  res/stasis_http/resource_recordings.h,
	  res/res_stasis_json_channels.c (removed),
	  res/stasis_http/ari_model_validators.c (added),
	  rest-api-templates/event_function_decl.mustache (removed),
	  res/stasis_http/ari_model_validators.h (added),
	  res/res_stasis_http_endpoints.c: No message for rev 393529 found

	* res/Makefile, res/res_http_websocket.c,
	  res/res_stasis_http.exports.in, configure, tests/test_utils.c,
	  res/stasis_http/ari_websockets.c (added),
	  rest-api-templates/stasis_http_resource.c.mustache,
	  tests/test_stasis_http.c, res/stasis_http/resource_events.c,
	  rest-api-templates/asterisk_processor.py,
	  include/asterisk/utils.h, res/res_stasis_http_playback.c,
	  res/res_http_websocket.exports.in,
	  res/stasis_http/resource_events.h,
	  res/res_stasis_http_channels.c, include/asterisk/stasis_http.h,
	  configure.ac, res/res_stasis_http_recordings.c,
	  rest-api-templates/param_parsing.mustache (added),
	  res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
	  include/asterisk/http.h, res/res_stasis_http_sounds.c,
	  rest-api-templates/swagger_model.py,
	  res/res_stasis_http_bridges.c, res/res_stasis_http.c,
	  rest-api-templates/stasis_http_resource.h.mustache,
	  res/res_stasis_http_asterisk.c,
	  rest-api-templates/res_stasis_http_resource.c.mustache,
	  rest-api/api-docs/events.json, res/res_stasis_websocket.c
	  (removed), include/asterisk/autoconfig.h.in,
	  rest-api-templates/rest_handler.mustache: No message for rev
	  393528 found

2013-07-02 22:01 +0000 [r393508]  Jason Parker <jparker@digium.com>

	* main/manager.c, CHANGES: Add a SystemName field to all AMI
	  events. This only gets sent out if configured in asterisk.conf
	  (closes issue ASTERISK-21494)

2013-07-02 21:19 +0000 [r393485-393500]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_mixmonitor.c: MixMonitor: Minor code cleanup.

	* apps/app_mixmonitor.c: MixMonitor: Make
	  start_mixmonitor_callback() options parameter NULL tolerant. *
	  Removed some unnecessary code in start_mixmonitor_callback().

	* apps/app_mixmonitor.c: MixMonitor: Don't use ast_strdupa() in a
	  loop.

	* apps/app_mixmonitor.c: MixMonitor: Update XML documentation and
	  CLI "mixmonitor {start|stop|list}" help.

	* apps/app_mixmonitor.c: MixMonitor: Fix refleak in
	  manager_stop_mixmonitor() if could not stop monitoring.

	* apps/app_mixmonitor.c: MixMonitor: Remove some unnecessary
	  channel locking.

	* apps/app_mixmonitor.c: Fix MixMonitor b option. The option had
	  not been converted to use the replacement for
	  ast_bridged_channel(). One touch mixmonitor now records files
	  again.

	* channels/chan_gtalk.c: Fix chan_gtalk.c compile error.

2013-07-02 20:34 +0000 [r393484]  David M. Lee <dlee@digium.com>

	* res/res_sip_notify.c: Add pjproject dependency to res_sip_notify

2013-07-02 18:28 +0000 [r393463]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/stasis_bridging.h: Remove unused blind transfer
	  publication structure. I ended up using a bridge blob, so this
	  structure was unused. Keeping it in the header would just cause
	  confusion.

2013-07-02 17:20 +0000 [r393442-393449]  Kevin Harwell <kharwell@digium.com>

	* main/aoc.c, main/manager.c: Stasis - Refactor AOC Events
	  Refactored the AMI events in AOC onto Stasis-Core. The
	  ast_aoc_manager_event function now publishes a channel snapshot,
	  along with a JSON blob describing the advice of charge. A
	  "to_ami" handler has also been added that converts the channel
	  snapshot and AOC event data back into the appropriate data
	  structure for use with AMI. (closes issue ASTERISK-21472)
	  Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2643/

	* res/res_sip/sip_configuration.c, include/asterisk/res_sip.h,
	  res/res_sip/sip_distributor.c, res/res_sip/config_auth.c,
	  res/res_sip.exports.in,
	  res/res_sip_outbound_authenticator_digest.c,
	  res/res_sip_authenticator_digest.c, res/res_sip/config_security.c
	  (added), res/res_sip_acl.c, res/res_sip.c: New SIP Channel
	  driver: Always Auth Reject If no matching endpoint is found for
	  the incoming request Asterisk will respond with a 401
	  Unauthorized (rejecting the request), but will first challenge if
	  no authorization creditials are given. Changes also included
	  moving ACL options into a new global 'security' configuration
	  section in res_sip.conf. (closes issue ASTERISK-21433) Reported
	  by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2554/

2013-07-02 16:11 +0000 [r393410-393429]  Kinsey Moore <kmoore@digium.com>

	* main/stasis_bridging.c: Fix transfer AMI event parameter naming

	* tests/test_cel.c (added), main/cel.c, include/asterisk/cel.h: Add
	  CEL unit tests and do some cleanup This adds several unit tests
	  for CEL functionality and provides the requisite framework for
	  creating additional unit tests. This also cleans up some
	  reference leaks that were occurring in Stasis-Core message
	  callback code. Review: https://reviewboard.asterisk.org/r/2646/

2013-07-02 10:16 +0000 [r393396]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Fix issue with inability to cancell
	  call transfer made by on-sceen menus. Reported by: Igor Olhovskiy
	  ........ Merged revisions 393395 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-07-02 08:23 +0000 [r393383]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* contrib/scripts/ast_tls_cert: ast_tls_cert: don't recreate
	  generated files Don't regenrate cat.cfg, ca.crt and ca.key if
	  they were already created on a previous run. (closes issue
	  ASTERISK-21932)

2013-07-01 21:28 +0000 [r393364]  Kevin Harwell <kharwell@digium.com>

	* res/res_sip/sip_configuration.c, include/asterisk/res_sip.h,
	  res/res_sip/include/res_sip_private.h, res/res_sip/sip_options.c,
	  res/res_sip.exports.in, res/res_sip_notify.c (added): New SIP
	  Channel Driver - Add CLI/AMI initiated NOTIFY requests Added the
	  ability to send unsolicited NOTIFY requests to a particular
	  endpoint with a configured payload. Added both CLI and AMI
	  support. For a given endpoint, this module will iterate over all
	  its contacts sending the appropriate NOTIFY request to each.
	  (closes issue ASTERISK-21436) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2623/

2013-07-01 21:24 +0000 [r393361]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/pbx.h, main/pbx.c, main/manager.c: Prevent crash
	  during synchronous AMI origination by ref bumping returned
	  channel The originate APIs allow callers to provide a pointer to
	  a channel that will point to the originated channel if the
	  function call succeeds. This is used by AMI to provide channel
	  information when the originate is performed synchronously.
	  Unfortunately, if the originate fails in certain ways, the
	  outbound channel is already disposed of during the dialing
	  itself. This results in the channel being improperly dereferenced
	  by the internal originate function in pbx.c. This patch ref bumps
	  the channel to prevent this from occurring. Callers must now
	  unlock and unref the channel (which is more in line with general
	  channel management guidelines anyway). This only affects manager,
	  as it is the only consumer of this API function that actually
	  passes in a channel pointer. Review:
	  https://reviewboard.asterisk.org/r/2617/

2013-07-01 18:56 +0000 [r393326-393332]  Jason Parker <jparker@digium.com>

	* res/stasis/control.c, res/stasis_http/resource_channels.c,
	  include/asterisk/stasis_app.h: ARI: Implement channel
	  hold/unhold. This puts the channel on hold (rather than queueing
	  a frame from the channel). (closes issue ASTERISK-21619) Review:
	  https://reviewboard.asterisk.org/r/2647/

	* res/stasis_http/resource_channels.c,
	  res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
	  res/stasis_http/resource_channels.h,
	  rest-api/api-docs/channels.json, res/stasis/control.c: ARI:
	  Implement channel dial. This creates a new outbound channel, and
	  bridges it to a channel already in the Stasis application.
	  (closes issue ASTERISK-21620) Review:
	  https://reviewboard.asterisk.org/r/2634/

2013-07-01 16:01 +0000 [r393309]  Jonathan Rose <jrose@digium.com>

	* bridges/bridge_builtin_features.c,
	  include/asterisk/features_config.h, include/asterisk/mixmonitor.h
	  (added), include/asterisk/channel.h, CHANGES,
	  main/features_config.c, apps/app_mixmonitor.c,
	  configs/features.conf.sample, main/mixmonitor.c (added):
	  bridge_features: Support One touch Monitor/MixMonitor In addition
	  to porting those features, they now enjoy greater feature parity
	  with one another. Specifically, AutoMixMon now has a start and
	  stop message that can be specified with
	  TOUCH_MIXMONITOR_MESSAGE_START and TOUCH_MIXMONITOR_MESSAGE_STOP.
	  (closes issue ASTERISK-21553) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2620/

2013-07-01 13:16 +0000 [r393284]  Kinsey Moore <kmoore@digium.com>

	* channels/chan_sip.c, apps/app_meetme.c,
	  include/asterisk/stasis.h, main/core_local.c,
	  include/asterisk/json.h, channels/chan_gtalk.c,
	  channels/sig_pri.c, channels/chan_iax2.c, apps/app_queue.c,
	  CHANGES, main/json.c, channels/chan_dahdi.c,
	  channels/sig_analog.c, res/res_agi.c, configs/sip.conf.sample,
	  channels/sip/include/sip.h: Refactor extraneous channel events
	  This change removes JitterBufStats, ChannelReload, and
	  ChannelUpdate and refactors the following events to travel over
	  Stasis-Core: * LocalBridge * DAHDIChannel * AlarmClear *
	  SpanAlarmClear * Alarm * SpanAlarm * DNDState * MCID *
	  SIPQualifyPeerDone * SessionTimeout Review:
	  https://reviewboard.asterisk.org/r/2627/ (closes issue
	  ASTERISK-21476)

2013-06-29 13:47 +0000 [r393262-393264]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_pubsub.c: Nothing to see here, move along.

	* res/res_sip_pubsub.c, include/asterisk/res_sip_pubsub.h,
	  res/res_sip_pubsub.exports.in: Implement the defined PUBLISH ESC
	  API within res_sip_pubsub. (closes issue ASTERISK-21452) Review:
	  https://reviewboard.asterisk.org/r/2630/

2013-06-29 00:31 +0000 [r393219-393241]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c, include/asterisk/bridging.h: Tweak after bridge
	  callback reason to string strings.

	* main/bridging.c: Fix after bridge callback datastore data memory
	  leak.

	* main/datastore.c: This is no longer needed.

	* main/bridging.c: Promote local channel optimizing debug messages
	  to verbose 3 messages.

2013-06-28 19:22 +0000 [r393190-393197]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_applications.c, CHANGES,
	  res/parking/parking_ui.c, res/parking/res_parking.h,
	  res/res_parking.c: res_parking: Dynamic Parking Lots (closes
	  issue ASTERISK-21644) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2615/

	* main/features.c, include/asterisk/features.h: features: call
	  pickup stasis refactoring (issue ASTERISK-21544) Reported by:
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/2588/

2013-06-28 19:05 +0000 [r393184]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridging_features.h: Fix overlapping enum
	  ast_bridge_feature_flags. Things may no longer behave in an
	  unexpected fashion. Local channel optimization to holding bridges
	  will work again.

2013-06-28 18:42 +0000 [r393182]  Mark Michelson <mmichelson@digium.com>

	* main/manager.c, bridges/bridge_builtin_features.c,
	  channels/chan_sip.c, channels/chan_skinny.c,
	  main/stasis_bridging.c, res/res_sip_refer.c,
	  include/asterisk/bridging.h, main/manager_bridging.c,
	  channels/chan_iax2.c, include/asterisk/stasis_bridging.h,
	  main/bridging.c: Add stasis publications for blind and attended
	  transfers. This creates stasis messages that are sent during a
	  blind or attended transfer. The stasis messages also are
	  converted to AMI events. Review:
	  https://reviewboard.asterisk.org/r/2619 (closes issue
	  ASTERISK-21337) Reported by Matt Jordan

2013-06-28 17:31 +0000 [r393164]  Matthew Jordan <mjordan@digium.com>

	* tests/test_cdr.c, main/cdr.c: Handle an originated channel being
	  sent into a non-empty bridge Originated channels are a bit odd -
	  they are technically a dialed channel (thus the party B or peer)
	  but, since there is no caller, they are treated as the party A.
	  When entering into a bridge that already contains participants,
	  the CDR engine - if the CDR record is in the Dial state -
	  attempts to match the person entering the bridge with an existing
	  participant. The idea is that if you dialed someone and the
	  person you dialed is already in the bridge, you don't need a new
	  CDR record, the existing CDR record describes the relationship.
	  Unfortunately, for an originated channel, there is no Party B. If
	  no one was in the bridge this didn't cause any issues; however,
	  if participants were in the bridge the CDR engine would attempt
	  to match a non-existant Party B on the channel's CDR record and
	  explode. This patch fixes that, and a unit test has been added to
	  cover this case.

2013-06-28 16:23 +0000 [r393144]  Jason Parker <jparker@digium.com>

	* res/res_stasis_http_channels.c,
	  res/stasis_http/resource_channels.h,
	  rest-api/api-docs/channels.json,
	  res/stasis_http/resource_channels.c: Change ARI originate to also
	  allow dialing an exten/context/priority. The old way didn't make
	  much sense, so some of the fields were repurposed. (closes issue
	  ASTERISK-21658) Review: https://reviewboard.asterisk.org/r/2626/

2013-06-28 15:50 +0000 [r393130]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/parking.h, main/asterisk.c, main/bridging.c,
	  main/cdr.c, include/asterisk/cdr.h: Better handle parking in CDRs
	  Parking typically occurs when a channel is transferred to a
	  parking extension. When this occurs, the channel never actually
	  hits the dialplan if the extension it was transferred to was a
	  "parking extension", that is, the extension in the first priority
	  calls the Park application. Instead, the channel is immediately
	  sent into the holding bridge acting as the parking bridge. This
	  is problematic. Because we never go out to the dialplan, the CDRs
	  won't transition properly and the application field will not be
	  set to "Park". CDRs typically swallow holding bridges, so the CDR
	  itself won't even be generated. This patch handles this by
	  pulling out the holding bridge handling into its own CDR state.
	  CDRs now have an explicit parking state that accounts for this
	  specific subclass of the holding bridge. In addition, we handle
	  the parking stasis message to set application specific data on
	  the CDR such that the last known application for the CDR properly
	  reflects "Park". This is a bit sad since we're working around the
	  odd internal implementation of parking that exists in Asterisk
	  (and that we had to maintain in order to continue to meet some
	  odd use cases of parking), but at least the code to handle that
	  is where it belongs: in CDRs as opposed to sprinkled liberally
	  throughout the codebase. This patch also properly clears the
	  OUTBOUND channel flag from a channel when it leaves a bridge, and
	  tweaks up dialing handling to properly compare the correct CDR
	  with the channel calling/being dialed.

2013-06-28 15:36 +0000 [r393128]  Jason Parker <jparker@digium.com>

	* res/stasis_http/resource_channels.c: Change some 500 errors to
	  400.

2013-06-28 02:14 +0000 [r393083-393100]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http.c: Removed stray apostrophe. Apparently the
	  pluralization of an acronym does not use an apostophe, according
	  to most modern style guides. I feel like I've been living a lie
	  this whole time.

	* res/res_stasis_http.c: Removed the automatic 302 redirects for
	  ARI URL's that end with a slash. There were some problems
	  redirecting RESTful API requests; notably the client would change
	  the request method to GET on the redirected requests. After some
	  looking into, I decided that a 404 would be simpler and have more
	  consistent behavior.

2013-06-27 21:01 +0000 [r393034-393066]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: Change the name of some local variables in
	  bridging.c to reflect what they really mean.

	* main/config_options.c, include/asterisk/config_options.h: Add
	  config framework non-empty string validation requirement option.
	  Add config framework OPT_CHAR_ARRAY_T and OPT_STRINGFIELD_T
	  non-empty requirement option. There are cases were you don't want
	  a config option string to be empty. To require the option string
	  to be non-empty, just set the aco_option_register() flags
	  parameter to non-zero. * Updated some config framework enum
	  aco_option_type comments.

2013-06-26 20:59 +0000 [r393005]  Jonathan Rose <jrose@digium.com>

	* funcs/func_channel.c, include/asterisk/bridging.h,
	  main/bridging.c: func_channel: Read/Write after_bridge_goto
	  option Allows reading and setting of a channel's
	  after_bridge_goto datastore (closes issue ASTERISK-21875)
	  Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2628/

2013-06-26 19:29 +0000 [r392987]  Jason Parker <jparker@digium.com>

	* res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
	  res/stasis_http/resource_channels.h,
	  rest-api/api-docs/channels.json, res/stasis/control.c,
	  res/stasis_http/resource_channels.c: ARI: Add support for
	  continuing to a different location in dialplan. This allows going
	  elsewhere in the dialplan, so that the location can be specified
	  after exiting the Stasis application. (closes issue
	  ASTERISK-21870) Review: https://reviewboard.asterisk.org/r/2644/

2013-06-26 19:15 +0000 [r392933-392972]  Richard Mudgett <rmudgett@digium.com>

	* res/res_parking.c: Remove some redundant parking config error
	  messages.

	* main/bridging.c: Fix several problems with
	  ast_bridge_add_channel(). * Fix locking problems.
	  ast_bridge_move() locks two bridges. To do that, deadlock
	  avoidance must be done. Called bridge_move_locked() instead. *
	  Fix inconsistency in the bridge dissolve check callers. The
	  original caller has already removed the channel from the bridge.
	  The new caller has not removed the channel from the bridge.
	  Reverted bridge_dissolve_check() and added
	  bridge_dissolve_check_stolen() to be used by the new caller on
	  the original bridge after the channel is moved to the new bridge.
	  * Fix memory leak of features if the added channel was already in
	  a bridge. * Fix incorrect call to ast_bridge_impart(). * Renamed
	  bridge_chan to yanked_chan.

	* channels/chan_sip.c, include/asterisk/bridging.h,
	  apps/confbridge/conf_chan_announce.c: Fix incorrect calls to
	  ast_bridge_impart(). There was a misunderstanding about
	  ast_bridge_impart()'s handling of the imparted channel's
	  reference. The channel reference is passed by the caller unless
	  ast_bridge_impart() returns an error. * Fixed a memory leak in
	  conf_announce_channel_push() if the impart failed.

	* main/features.c: AMI Bridge action: Get channel xfer config after
	  we have found the second channel.

2013-06-25 22:28 +0000 [r392915]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_applications.c, CHANGES, main/bridging.c,
	  res/parking/parking_bridge_features.c,
	  res/parking/parking_manager.c, include/asterisk/features.h,
	  res/parking/parking_bridge.c, res/parking/res_parking.h,
	  main/features.c, res/parking/parking_controller.c: res_parking:
	  Add Parking manager action to the new parking system (closes
	  issue ASTERISK-21641) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2573/

2013-06-25 20:25 +0000 [r392898]  Jason Parker <jparker@digium.com>

	* Makefile: Fix typo with XML docs.

2013-06-25 19:22 +0000 [r392864-392879]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/sorcery.h: Add a note about being ready to
	  accept observer invocations before adding an observer.

	* res/res_sip/sip_options.c: Move where the sorcery observer is
	  added for qualify to guarantee the sched_qualifies container
	  exists.

2013-06-25 13:03 +0000 [r392829]  Kinsey Moore <kmoore@digium.com>

	* apps/app_queue.c, main/cel.c, apps/app_dial.c,
	  include/asterisk/stasis_channels.h, include/asterisk/cel.h,
	  apps/app_celgenuserevent.c, main/stasis_channels.c: CEL
	  refactoring cleanup This change removes AST_CEL_BRIDGE_UPDATE
	  since it should no longer be used because masquerade situations
	  are now accounted for in other ways. This also refactors usage of
	  AST_CEL_FORWARD to be produced by a Dial message which has been
	  extended with a "forward" field. (closes issue ASTERISK-21566)
	  Review: https://reviewboard.asterisk.org/r/2635/

2013-06-25 01:12 +0000 [r392797-392812]  Matthew Jordan <mjordan@digium.com>

	* main/named_acl.c, res/res_calendar.c, /, channels/chan_motif.c,
	  main/http.c, main/config_options.c: Fix memory/ref counting leaks
	  in a variety of locations This patch fixes the following memory
	  leaks: * http.c: The structure containing the addresses to bind
	  to was not being deallocated when no longer used * named_acl.c:
	  The global configuration information was not disposed of *
	  config_options.c: An invalid read was occurring for certain
	  option types. * res_calendar.c: The loaded calendars on module
	  unload were not being properly disposed of. * chan_motif.c: The
	  format capabilities needed to be disposed of on module unload. In
	  addition, this now specifies the default options for the
	  maxpayloads and maxicecandidates in such a way that it doesn't
	  cause the invalid read in config_options.c to occur. (issue
	  ASTERISK-21906) Reported by: John Hardin patches: http.patch
	  uploaded by jhardin (license 6512) named_acl.patch uploaded by
	  jhardin (license 6512) config_options.patch uploaded by jhardin
	  (license 6512) res_calendar.patch uploaded by jhardin (license
	  6512) chan_motif.patch uploaded by jhardin (license 6512)
	  ........ Merged revisions 392810 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/presencestate.c, main/sorcery.c,
	  res/parking/parking_bridge.c, main/cdr.c, main/manager.c,
	  main/parking.c, main/devicestate.c, main/cel.c: Fix a variety of
	  memory leaks This patch addresses the following memory/ref
	  counting leaks: * main/devicestate.c - unsubscribe and join our
	  devicestate message subscription * main/cel.c - clean up the
	  datastore and config objects on exist * main/parking.c - cleanup
	  memory leak of retriever snapshot on message payload destruction
	  * res/parking/parking_bridge.c - cleanup memory leak of retrieve
	  snapshot on message payload destruction * main/presencestate.c -
	  unsubscribe and join the caching topic on exit * manager.c -
	  properly unregister the manager action "BlindTransfer" *
	  sorcery.c - shutdown the threadpool on exit and dispose of any
	  wizards (issue ASTERISK-21906) Reported by: John Hardin patches:
	  cel.patch uploaded by jhardin (license #6512) devicestate.patch
	  uploaded by jhardin (license #6512) manager.patch uploaded by
	  jardin (license #6512) presencestate.patch uploaded by jhardin
	  (license #6512) retriever-channel-snapshot.patch uploaded by
	  jhardin (license #6512) sorcery.patch uploaded by jhardin
	  (license #6512)

2013-06-24 22:05 +0000 [r392778-392779]  David M. Lee <dlee@digium.com>

	* tests/test_endpoints.c, tests/test_stasis_endpoints.c: Few more
	  menuselect fixes missed in r392777

	* res/stasis_json/resource_sounds.h,
	  rest-api-templates/res_stasis_json_resource.c.mustache,
	  rest-api-templates/res_stasis_http_resource.c.mustache: Fixed
	  templates so that the changes from r392777 won't be overwritten
	  the next time we run the generators.

2013-06-24 21:40 +0000 [r392777]  Richard Mudgett <rmudgett@digium.com>

	* res/res_stasis_http_playback.c, res/res_stasis_playback.c,
	  res/res_stasis_websocket.c, res/res_stasis_json_recordings.c,
	  res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c,
	  res/res_stasis_json_events.c, res/res_stasis_http_recordings.c,
	  res/res_stasis_answer.c, res/res_chan_stats.c,
	  res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
	  res/res_stasis_json_sounds.c, res/res_stasis_bridge_add.c,
	  res/res_stasis_json_bridges.c, res/res_stasis_http_sounds.c,
	  res/res_statsd.c, res/res_stasis_http_bridges.c,
	  res/res_stasis_json_asterisk.c, res/res_stasis_test.c,
	  res/res_stasis_json_playback.c, res/res_stasis_http.c,
	  res/res_stasis.c, apps/app_stasis.c,
	  res/res_stasis_http_asterisk.c, res/res_stasis_json_channels.c:
	  Fix menuselect display for stasis modules. The menuselect parser
	  is very simple. It looks for AST_MODULE_INFO and uses any quoted
	  string on that line as the module summary display.

2013-06-24 19:28 +0000 [r392729-392747]  Mark Michelson <mmichelson@digium.com>

	* /: Remove stray properties from merge.

	* /, main/features_config.c, doc/appdocsxml.dtd: Add documentation
	  for features configuration. Review:
	  https://reviewboard.asterisk.org/r/2616 (closes issue
	  ASTERISK-21542) Reported by Matt Jordan

2013-06-24 13:49 +0000 [r392700]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/media_index.h (added), main/file.c, main/http.c,
	  include/asterisk/format.h, rest-api/api-docs/sounds.json,
	  include/asterisk/_private.h, main/sounds_index.c (added),
	  res/res_stasis_http.c, main/asterisk.c, main/media_index.c
	  (added), include/asterisk/file.h, include/asterisk/http.h,
	  include/asterisk/sounds_index.h (added),
	  res/stasis_http/resource_sounds.c: Index installed sounds and
	  implement ARI sounds queries This adds support for stasis/sounds
	  and stasis/sounds/{ID} queries via the Asterisk RESTful Interface
	  (ARI, formerly Stasis-HTTP). The following changes have been made
	  to accomplish this: * A modular indexer was created for local
	  media. * A new function to get an ast_format associated with a
	  file extension was added. * Modifications were made to the
	  built-in HTTP server so that URI decoding could be deferred to
	  the URI handler when necessary. * The Stasis-HTTP sounds JSON
	  documentation was modified to handle cases where multiple
	  languages are installed in different formats. * Register and
	  Unregister events for formats were added to the system topic.
	  (closes issue ASTERISK-21584) (closes issue ASTERISK-21585)
	  Review: https://reviewboard.asterisk.org/r/2507/

2013-06-23 19:19 +0000 [r392676]  Matthew Jordan <mjordan@digium.com>

	* res/res_fax.c: Properly pack the parameters into ast_json_pack
	  when sending a send fax message This patch properly packs the
	  parameters into the send fax message so that it actually work.
	  Missing a ',' between two string fields can be difficult to
	  debug, particularly when the actual packing succeeds.
	  Interestingly enough, this didn't actually crash until the JSON
	  blob we deref'd and disposed of. Since that happened in a
	  different thread, it was pretty tough to track down.

2013-06-23 18:59 +0000 [r392627-392667]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_outbound_registration.c,
	  res/res_sip_endpoint_identifier_ip.c, res/res_sip_acl.c: Add some
	  more missing ast_sorcery_generic_alloc conversions.

	* tests/test_sorcery_realtime.c, tests/test_sorcery_astdb.c: Add
	  missing ast_sorcery_generic_alloc conversions.

	* main/manager_endpoints.c: Fix a bug where messages were getting
	  duplicated on AMI. This was caused by forwarding all endpoint
	  messages to manager which includes channel messages that are
	  related to the endpoint. This change causes only the PeerStatus
	  messages to be forwarded to manager thus eliminating the
	  duplicate channel messages.

2013-06-22 22:42 +0000 [r392607]  Matthew Jordan <mjordan@digium.com>

	* res/res_fax.c: Properly extract channel variables for the
	  SendFAX/ReceiveFAX Stasis messages By the time something extracts
	  the pointers from ast_json_pack, the channels will already be
	  disposed of. This patch properly pulls the information out of the
	  variables and packs them into the JSON blob.

2013-06-22 14:26 +0000 [r392565-392586]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/sorcery.h, res/res_sip/config_auth.c,
	  res/res_sip/sip_options.c, res/res_sip/location.c,
	  tests/test_sorcery.c, main/sorcery.c,
	  res/res_sip/config_domain_aliases.c,
	  res/res_sip/config_transport.c, res/res_sip/sip_configuration.c:
	  Make sorcery details opaque and add extended fields. Sorcery
	  specific object information is now opaque and allocated with the
	  object. This means that modules do not need to be recompiled if
	  the sorcery specific part is changed. It also means that sorcery
	  can store additional information on objects and ensure it is
	  freed or the reference count decreased when the object goes away.
	  To facilitate the above a generic sorcery allocator function has
	  been added which also ensures that allocated objects do not have
	  a lock. Extended fields have been added thanks to all of the
	  above which allows specific fields to be marked as extended, and
	  thus simply stored as-is within the object. Type safety is *NOT*
	  enforced on these fields. A consumer of them has to query and
	  ultimately perform their own safety check. What does this mean?
	  Extra modules can extend already defined structures without
	  having to modify them. Tests have also been included to verify
	  extended field functionality. Review:
	  https://reviewboard.asterisk.org/r/2585/

	* res/res_sip_exten_state.exports.in (added),
	  res/res_sip_session.exports.in, res/res_sip_sdp_rtp.c,
	  res/res_sip_messaging.c (added), res/res_sip_caller_id.c,
	  channels/chan_gulp.c, res/res_sip_session.c,
	  res/res_sip_exten_state.c (added), res/res_sip/sip_options.c,
	  res/res_sip_pubsub.exports.in, channels/sip/include/sip.h,
	  include/asterisk/sdp_srtp.h (added), channels/sip/sdp_crypto.c
	  (removed), main/pbx.c, channels/sip/srtp.c (removed),
	  res/res_sip_transport_websocket.c (added), channels/chan_sip.c,
	  res/res_sip_registrar.c, res/res_sip/sip_distributor.c,
	  include/asterisk/res_sip_session.h,
	  include/asterisk/res_sip_exten_state.h (added),
	  res/res_sip/security_events.c (added),
	  res/res_sip_registrar_expire.c (added), res/res_sip.c,
	  res/res_sip_pidf.c (added), include/asterisk/res_sip_pubsub.h,
	  channels/sip/include/sdp_crypto.h (removed),
	  res/res_sip/location.c, res/res_sip_outbound_registration.c,
	  channels/sip/include/srtp.h (removed),
	  res/res_sip_endpoint_identifier_anonymous.c (added),
	  res/res_sip_one_touch_record_info.c (added),
	  res/res_sip_pubsub.c, res/res_sip/config_transport.c,
	  configs/res_sip.conf.sample, res/res_sip/sip_configuration.c,
	  res/res_sip_diversion.c (added), res/res_sip_refer.c (added),
	  include/asterisk/res_sip.h, res/res_sip_dtmf_info.c,
	  main/sdp_srtp.c (added), res/res_sip/include/res_sip_private.h,
	  res/res_sip.exports.in: Merge in current pimp_my_sip work,
	  including: 1. Security events 2. Websocket support 3. Diversion
	  header + redirecting support 4. An anonymous endpoint identifier
	  5. Inbound extension state subscription support 6. PIDF notify
	  generation 7. One touch recording support (special thanks Sean
	  Bright!) 8. Blind and attended transfer support 9. Automatic
	  inbound registration expiration 10. SRTP support 11. Media offer
	  control dialplan function 12. Connected line support 13.
	  SendText() support 14. Qualify support 15. Inband DTMF detection
	  16. Call and pickup groups 17. Messaging support Thanks everyone!
	  Side note: I'm reminded of the song "How Far We've Come" by
	  Matchbox Twenty.

2013-06-22 13:58 +0000 [r392564]  Matthew Jordan <mjordan@digium.com>

	* res/res_fax.c: Fix a deadlock and possible crash in res_fax This
	  patch fixes two bugs. (1) It unlocks the channel in the framehook
	  handlers before attempting to grab the peer from the bridge. The
	  locking order for the bridging framework is bridge first, then
	  channel - having the channel locked while attempting to obtain
	  the bridge lock causes a locking inversion and a deadlock. This
	  patch bumps the channel ref count prior to releasing the lock in
	  the framehook to avoid lifetime issues. Note that this does
	  expose a subtle problem in framehooks; that is, something could
	  modify the framehook list while we are executing, causing issues
	  in the framehook list traversal that the callback executes in.
	  Fixing this is a much larger problem that is beyond the scope of
	  this patch - (a) we already unlock the channel in this particular
	  framehook and we haven't run into a problem yet (as modifying the
	  framehook list when a channel is about to perform a fax gateway
	  would be a very odd operation) and (b) migrating to an ao2
	  container of framehooks would be more invasive at this point. See
	  the referenced ASTERISK issue for more information. (2) Directly
	  packing channel variables into a JSON object turned out to be
	  unsafe. A condition existed where the strings in the JSON blob
	  were no longer safe to be accessed if the channel object itself
	  was disposed of. (issue ASTERISK-21951)

2013-06-22 12:40 +0000 [r392538]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/res_sip.h, main/manager_endpoints.c (added),
	  include/asterisk/stasis_endpoints.h, channels/chan_iax2.c,
	  include/asterisk/manager.h, channels/chan_gulp.c,
	  main/stasis_endpoints.c, res/res_sip.c, main/manager.c,
	  channels/chan_sip.c, channels/chan_skinny.c,
	  res/res_sip/sip_configuration.c: Migrate PeerStatus events to
	  stasis, add stasis endpoints, and add chan_pjsip device state.
	  (closes issue ASTERISK-21489) (closes issue ASTERISK-21503)
	  Review: https://reviewboard.asterisk.org/r/2601/

2013-06-21 22:39 +0000 [r392514]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_simple.c, bridges/bridge_softmix.c,
	  bridges/bridge_native_rtp.c, main/bridging.c,
	  include/asterisk/bridging_technology.h, bridges/bridge_holding.c,
	  include/asterisk/bridging.h: Extract a useful routine from the
	  softmix bridge technology. * Extract a useful routine from the
	  softmix bridge technology for other technologies. Make other
	  technologies use it if they can. * Made native and 1-1 bridges
	  write to all parties if the bridge channel writing the frame into
	  the bridge is NULL. Softmix will also do the same for frame types
	  that make sense. * Tweak the bridge write routine return value
	  meaning and adjust the bridge technologies to match.

2013-06-21 21:22 +0000 [r392489]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_gulp.c: Add BUGBUG for broken direct media in
	  chan_gulp (issue ASTERISK-21947)

2013-06-21 18:54 +0000 [r392464]  Jason Parker <jparker@digium.com>

	* rest-api/api-docs/channels.json: Fix typo.

2013-06-21 18:10 +0000 [r392437]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: Add channel optimization interaction with frame
	  hooks BUGBUG comments.

2013-06-21 18:05 +0000 [r392436]  Mark Michelson <mmichelson@digium.com>

	* channels/chan_unistim.c: Change chan_unistim to use core transfer
	  API. Review: https://reviewboard.asterisk.org/r/2553 (closes
	  issue ASTERISK-21527) Reported by Matt Jordan

2013-06-21 17:48 +0000 [r392435]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_softmix.c, main/bridging.c,
	  include/asterisk/bridging_technology.h,
	  include/asterisk/bridging.h, main/features.c: Change several
	  bridge functions to return error status. The bridge frame queue
	  functions need to return an error status if the frame failed to
	  be queued because of an error condition. The main calls that
	  needed to return the status are:
	  ast_bridge_channel_queue_action_data() and
	  ast_bridge_channel_write_action_data(). The other return changes
	  are ripple effects.

2013-06-21 14:21 +0000 [r392409]  Matthew Jordan <mjordan@digium.com>

	* contrib/scripts/autosupport: Update autosupport script This patch
	  updates the autosupport script to collect all information
	  available to the Asterisk CLI command "digium_phones". It also
	  makes minor improvements in options handling. (closes issue
	  AST-1163) Reported by: Trey Blancher patches:
	  390347_autosupport.diff uploaded by tblancher (License 5821)
	  390348_autosupport.diff uploaded by tblancher (License 5821)

2013-06-20 21:13 +0000 [r392364]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_session.c: Add a log message for when an incoming
	  session is rejected due to the extension not being found.

2013-06-20 17:21 +0000 [r392335]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridging_features.h, main/features.c,
	  main/bridging.c, res/parking/parking_bridge_features.c,
	  apps/confbridge/conf_config_parser.c: Fix potential bridge hook
	  resource leak if the hook install fails.

2013-06-20 16:29 +0000 [r392318]  Mark Michelson <mmichelson@digium.com>

	* main/threadpool.c: Fix threadpool rapid growth problem. When a
	  threadpool is set to autoincrement its threadcount, an issue may
	  arise when multiple tasks are queued at once into the threadpool.
	  Since threads start active, each new task would result in
	  autoincrementing the thread count. So if all threads were active,
	  and a thread's autoincrement value were 5, then 3 new tasks would
	  result in 15 threads being created even though the initial
	  autoincrement was sufficient to handle the number of tasks. This
	  change introduces three behavior changes: 1) New threads in the
	  threadpool start idle instead of active. 2) When a threadpool
	  autoincrements, one thread is activated after the growth. 3) When
	  a threadpool's size is incremented manually, all added threads
	  are activated. For a more detailed explanation about the changes,
	  please see the Review Board link at the bottom of this commit.
	  Review: https://reviewboard.asterisk.org/r/2629

2013-06-19 22:52 +0000 [r392279]  David M. Lee <dlee@digium.com>

	* Makefile, main/Makefile: Fix build problem on OS X Mountain Lion
	  (10.8) For about forever, our build flags for OS X have been
	  slightly off, but good enough to build and run. Apparently they
	  aren't good enough any more. Previously, we would compile with
	  macosx-version-min unset and link with it set. This combination,
	  using GCC 4.8, on Mountain Lion, would create a bad executable
	  ("Illegal Instruction: 4", or something like that) This patch
	  consistently sets macosx-version-min for both compiling and
	  linking, which makes everything happy enough to build and run.

2013-06-19 12:55 +0000 [r392241]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/cel.h, main/cel.c: Pull CEL linkedid
	  manipulation into cel.c This finishes moving all CEL linkedid
	  tracking entirely within cel.c since that is now possible with
	  channel snapshots. This also removes another CEL linkedid
	  manipulation function from cel.h that has already been
	  internalized and is neither called nor available to link against.
	  Review: https://reviewboard.asterisk.org/r/2632/

2013-06-19 01:28 +0000 [r392190-392214]  Matthew Jordan <mjordan@digium.com>

	* funcs/func_cdr.c: Handle variable substitution in dummy variables
	  When func_cdr is used for variable substitution, there is no
	  channel name and hence no run-time information available for CDR
	  variable substitution. In that case, the correct thing to do is
	  to use the CDR object on the channel passed to the function. This
	  patch checks to see if the channel passed in has a name - if not,
	  it uses ast_cdr_format_var instead of ast_cdr_get_var. This
	  allows CDR backends to continue to use variable substitution in
	  order to resolve ast_cdr object properties.

	* tests/test_substitution.c: Fix the test_substitution test In
	  r391947, the CDR function was modified such that it will return a
	  value for the start,answer, and end times if asked. That time
	  will just be 0 if it hasn't happened yet.

2013-06-18 19:31 +0000 [r392139-392166]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c, include/asterisk/bridging.h: Bridging: Fix crash
	  on destruction of a partially constructed bridge. * Promoted some
	  bridge construction debug messages to warnings.

	* main/bridging.c: Add some safety cleanup for a failed push into a
	  bridge.

	* main/bridging_basic.c: Remove stub comment on function that is
	  not a stub.

2013-06-18 14:30 +0000 [r392116]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/stasis_bridging.h,
	  rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix
	  bridge snapshot conversion to JSON This makes
	  ast_bridge_snapshot_to_json conform to the swagger Bridge model
	  by adding the two fields it required. Review:
	  https://reviewboard.asterisk.org/r/2583/

2013-06-17 18:58 +0000 [r392076]  David M. Lee <dlee@digium.com>

	* funcs/func_cdr.c, main/cdr.c: Fix build warnings related to
	  printf/scanf of tv_usec. The type of tv_usec is suseconds_t. On
	  Linux, this is usually a long int, but the specification is
	  actually pretty lax on what it might actually be. And, sadly,
	  there's no printf/scanf width specifier for suseconds_t. So it
	  could bit an int or a long, but there's not a great way to tell
	  which it is. This patch fixes scanf by reading into a long
	  temporary variable that's then stored into the tv_usec. It fixes
	  printf by casting the tv_usec to a long first. This patch also
	  adds some missing width specifiers for some debug statements,
	  which would cause ".000001" to be displayed at ".1".

2013-06-17 18:37 +0000 [r392053-392073]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, channels/chan_vpb.cc: chan_vpb: Fix compile error
	  and __ast_channel_alloc() prototype const inconsistency.

	* channels/chan_misdn.c: chan_misdn: Fix compile error after CDR
	  merge.

2013-06-17 16:59 +0000 [r392032]  Jason Parker <jparker@digium.com>

	* include/asterisk/app.h: Fix a build warning with stasis messages.

2013-06-17 14:40 +0000 [r392004-392005]  Matthew Jordan <mjordan@digium.com>

	* main/manager_channels.c: Prevent sending a NewExten event after a
	  Hangup during a stack restore When a channel is originated, its
	  application is typically set to AppDial2, indicating that it was
	  a dialed channel through the Dial API. Asterisk during an
	  originate will perform a stack execute to direct the outgoing
	  channel to a particular place in the dialplan or application.
	  When the stack returns, the previous application (AppDial2) is
	  restored. Unfortunately, in the case of an originated channel,
	  the stack restore happens after hangup. A stasis message is sent
	  notifying everyone that the application was restored, and this
	  causes a NewExten event to go out after the Hangup event,
	  violating the basic contract consumers have of the channel
	  lifetime. While we could preclude the message from going out,
	  restoring the channel's state before it executed the next higher
	  frame in the stack has to occur, and other places in the code
	  depend on this behavior. Since we know that channel hung up (it's
	  a ZOMBIE!), this patch simply checks to see if the channel has
	  been zombified before sending a NewExten event. Note that this
	  will fix a number of bouncing tests in the Test Suite. Go tests.

	* CHANGES: Restore bad merge on CHANGES The patch for CDRs moved
	  around a lot of content in CHANGES to try and organize the areas
	  that were affected. This missed some changes that went in with a
	  merge and removed some updates - this patch adds them back in.

2013-06-17 12:28 +0000 [r391982]  Joshua Colp <jcolp@digium.com>

	* main/cdr.c: Fix build warning (which is transmogrified into an
	  error) with my compiler due to uninitialized variable.

2013-06-17 03:31 +0000 [r391947-391964]  Matthew Jordan <mjordan@digium.com>

	* addons/cdr_mysql.c: Make cdr_mysql compile again by not directly
	  setting the run-time CDR object A stray ast_cdr_setvar was missed
	  in cdr_mysql (silly addons). This has now been refactored to not
	  set the property, as the property would have been set on a
	  run-time object that was already dispatched to the backend. The
	  module simply remembers the value it wanted to set and writes it
	  to MySQL later in the processing.

	* apps/app_forkcdr.c, include/asterisk/stasis_channels.h,
	  main/test.c, channels/chan_h323.c, main/asterisk.c,
	  channels/chan_unistim.c, addons/chan_ooh323.c,
	  include/asterisk/cel.h, apps/app_authenticate.c, cdr/cdr_pgsql.c,
	  apps/app_followme.c, channels/chan_iax2.c,
	  res/res_config_sqlite.c, main/stasis.c, cdr/cdr_csv.c,
	  main/cli.c, main/dial.c, channels/chan_skinny.c,
	  cel/cel_manager.c, res/res_agi.c, main/stasis_channels.c,
	  cdr/cdr_odbc.c, tests/test_cdr.c (added), main/bridging_basic.c,
	  main/pbx.c, channels/chan_sip.c, main/channel_internal_api.c,
	  UPGRADE.txt, include/asterisk/cdr.h, include/asterisk/channel.h,
	  res/res_stasis_answer.c, main/cel.c, cdr/cdr_tds.c,
	  funcs/func_channel.c, funcs/func_cdr.c,
	  include/asterisk/bridging.h, addons/cdr_mysql.c,
	  funcs/func_callerid.c, apps/app_cdr.c, include/asterisk/time.h,
	  cel/cel_radius.c, include/asterisk/stasis_internal.h (added),
	  include/asterisk/channel_internal.h, main/utils.c,
	  cdr/cdr_adaptive_odbc.c, cdr/cdr_radius.c, main/channel.c,
	  main/cdr.c, include/asterisk/test.h, channels/chan_dahdi.c,
	  main/manager.c, apps/app_osplookup.c, main/features.c,
	  apps/app_dumpchan.c, main/manager_channels.c, main/bridging.c,
	  cdr/cdr_custom.c, channels/chan_mgcp.c, cdr/cdr_manager.c,
	  apps/app_dial.c, main/stasis_cache.c, cdr/cdr_syslog.c,
	  cel/cel_tds.c, channels/chan_agent.c, apps/app_disa.c,
	  apps/app_queue.c, CHANGES, res/res_monitor.c: Update Asterisk's
	  CDRs for the new bridging framework This patch is the initial
	  push to update Asterisk's CDR engine for the new bridging
	  framework. This patch guts the existing CDR engine and builds the
	  new on top of messages coming across Stasis. As changes in
	  channel state and bridge state are detected, CDRs are built and
	  dispatched accordingly. This fundamentally changes CDRs in a few
	  ways. (1) CDRs are now *very* reflective of the actual state of
	  channels and bridges. This means CDRs track well with what an
	  actual channel is doing - which is useful in transfer scenarios
	  (which were previously difficult to pin down). It does, however,
	  mean that CDRs cannot be 'fooled'. Previous behavior in Asterisk
	  allowed for CDR applications, channels, and other properties to
	  be spoofed in parts of the code - this no longer works. (2) CDRs
	  have defined behavior in multi-party scenarios. This behavior
	  will not be what everyone wants, but it is a defined behavior and
	  as such, it is predictable. (3) The CDR manipulation functions
	  and applications have been overhauled. Major changes have been
	  made to ResetCDR and ForkCDR in particular. Many of the options
	  for these two applications no longer made any sense with the new
	  framework and the (slightly) more immutable nature of CDRs. There
	  are a plethora of other changes. For a full description of CDR
	  behavior, see the CDR specification on the Asterisk wiki. (closes
	  issue ASTERISK-21196) Review:
	  https://reviewboard.asterisk.org/r/2486/

2013-06-14 23:26 +0000 [r391921]  Mark Michelson <mmichelson@digium.com>

	* main/app.c: Fix regression in MWI stasis handling. In revision
	  389733, mwi state allocation was placed into its own function
	  instead of performing the allocation in-line when required. The
	  issue was that in ast_publish_mwi_state_full(), the local
	  variable "uniqueid" was no longer being set, but it was still
	  being used as the topic for MWI. This meant that all MWI
	  publications ended up being published to the "" (empty string)
	  mailbox topic. Thus MWI subscriptions for specific mailboxes were
	  never notified of mailbox state changes. This change fixes the
	  issue by removing the local uniqueid variable from
	  ast_publish_mwi_state_full() and instead referencing the
	  mwi_state->uniqueid field since it has been properly set. (closes
	  issue ASTERISK-21913) Reported by Malcolm Davenport

2013-06-14 21:57 +0000 [r391902]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_registrar.c: Ensure that the number of added contacts
	  never goes below 0. This can happen when a REGISTER request is
	  removing a contact. (closes issue ASTERISK-21911) Reported by:
	  mdavenport

2013-06-14 18:50 +0000 [r391855-391856]  Kinsey Moore <kmoore@digium.com>

	* main/stasis_bridging.c, include/asterisk/stasis_bridging.h,
	  rest-api/api-docs/bridges.json: Revert parts of r391855 that were
	  not ready to go in to trunk

	* main/cel.c, include/asterisk/stasis_bridging.h,
	  rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix two
	  more possible crashes in CEL These are locations that should
	  return valid snapshots, but need to be handled if not.

2013-06-14 16:32 +0000 [r391828]  Jonathan Rose <jrose@digium.com>

	* apps/app_mixmonitor.c, /: app_mixmonitor: Fix crashes caused by
	  unloading app_mixmonitor Unloading app_mixmonitor while active
	  mixmonitors were running would cause a segfault. This patch fixes
	  that by making it impossible to unload app_mixmonitor while
	  mixmonitors are active. Review:
	  https://reviewboard.asterisk.org/r/2624/ ........ Merged
	  revisions 391778 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 391794 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-06-14 16:12 +0000 [r391776-391777]  Kinsey Moore <kmoore@digium.com>

	* main/cel.c: Fix a crash in CEL bridge snapshot handling Properly
	  search for bridge association structures so that they are found
	  when expected and handle cases where they don't exist.

	* main/bridging.c: Publish bridge snapshots more often Bridge
	  snapshot events were missing some important transitions that were
	  noticed in subsequent snapshots. Snapshots will now be published
	  on all bridge reconfigurations.

2013-06-13 21:53 +0000 [r391732]  Matthew Jordan <mjordan@digium.com>

	* utils/check_expr.c, utils/refcounter.c, utils/ael_main.c,
	  utils/conf2ael.c: Make the utils directory compile... again.
	  Utils is a source folder that lies, eventually all developers
	  will cry, "I know I must maintain it, But really with this last
	  commit I can kiss my software ethics good-bye."

2013-06-13 19:04 +0000 [r391701]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_confbridge.c, apps/confbridge/conf_config_parser.c, /,
	  apps/confbridge/include/confbridge.h: app_confbridge: Fix memory
	  leak on reload. The config framework options should not be
	  registered multiple times. Instead the configuration just needs
	  to be reprocessed by the config framework. ........ Merged
	  revisions 391700 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-06-13 18:26 +0000 [r391699]  Mark Michelson <mmichelson@digium.com>

	* main/features_config.c: Just return outright on a reload since we
	  have already processed configuration.

2013-06-13 18:20 +0000 [r391689]  Kinsey Moore <kmoore@digium.com>

	* main/cel.c: Ensure that Asterisk still starts up when cel.conf is
	  missing

2013-06-13 18:17 +0000 [r391676]  Mark Michelson <mmichelson@digium.com>

	* main/features_config.c: Fix memory leak in features_config.c The
	  options should not be registered multiple times. Instead, the
	  configuration just needs to be reprocessed by the config
	  framework. This also exposed that we were not properly telling
	  the config framework to treat the configuration processing with
	  the "reload" semantics when a reload occurred. Both of these
	  errors are fixed now. Thanks to Richard Mudgett for discovering
	  the leak.

2013-06-13 18:14 +0000 [r391675]  Matthew Jordan <mjordan@digium.com>

	* main/json.c, main/manager.c, include/asterisk/json.h: Blow away
	  usage of libjansson's foreach macro While very handy, this macro
	  didn't occur until a later version of libjansson. We'd prefer to
	  be compatible with older versions still - as such, iteration over
	  key/value pairs in a JSON object have to be done with a little
	  bit more manual work.

2013-06-13 13:46 +0000 [r391622-391643]  Kinsey Moore <kmoore@digium.com>

	* main/parking.c, include/asterisk/cel.h, main/features.c,
	  include/asterisk/_private.h, main/cel.c,
	  include/asterisk/parking.h, main/asterisk.c,
	  res/parking/parking_manager.c: Refactor CEL bridge events on top
	  of Stasis-Core This pulls bridge-related CEL event triggers out
	  of the code in which they were residing and pulls them into cel.c
	  where they are now triggered by changes in bridge snapshots. To
	  get access to the Stasis-Core parking topic in cel.c, the
	  Stasis-Core portions of parking init have been pulled into core
	  Asterisk init. This also adds a new CEL event
	  (AST_CEL_BRIDGE_TO_CONF) that indicates a two-party bridge has
	  transitioned to a multi-party conference. The reverse cannot
	  occur in CEL terms even though it may occur in actuality and two
	  party bridges which receive a AST_CEL_BRIDGE_TO_CONF will be
	  treated as multi-party conferences for the duration of the
	  bridge. Review: https://reviewboard.asterisk.org/r/2563/ (closes
	  issue ASTERISK-21564)

	* include/asterisk/strings.h, main/cel.c,
	  include/asterisk/stasis_bridging.h, main/asterisk.c,
	  main/channel.c, include/asterisk/config_options.h, main/pbx.c,
	  include/asterisk/stasis_channels.h, main/stasis_bridging.c,
	  main/config_options.c, main/stasis_channels.c: Refactor CEL
	  channel events on top of Stasis-Core This uses the channel state
	  change events from Stasis-Core to determine when channel-related
	  CEL events should be raised. Those refactored in this patch are:
	  * AST_CEL_CHANNEL_START * AST_CEL_ANSWER * AST_CEL_APP_START *
	  AST_CEL_APP_END * AST_CEL_HANGUP * AST_CEL_CHANNEL_END Retirement
	  of Linked IDs is also refactored. CEL configuration has been
	  refactored to use the config framework. Note: Some HANGUP events
	  are not generated correctly because the bridge layer does not
	  propagate hangupcause/hangupsource information yet. Review:
	  https://reviewboard.asterisk.org/r/2544/ (closes issue
	  ASTERISK-21563)

2013-06-13 11:02 +0000 [r391596]  Joshua Colp <jcolp@digium.com>

	* main/endpoints.c, res/stasis_http/resource_endpoints.c,
	  main/stasis_cache.c, main/stasis_endpoints.c,
	  main/channel_internal_api.c, include/asterisk/stasis.h,
	  include/asterisk/channel.h, include/asterisk/stasis_endpoints.h:
	  Add support for requiring that all queued messages on a caching
	  topic have been handled before retrieving from the cache and also
	  change adding channels to an endpoint to be an immediate
	  operation. Review: https://reviewboard.asterisk.org/r/2599/

2013-06-12 21:08 +0000 [r391561]  David M. Lee <dlee@digium.com>

	* res/res_http_websocket.c, /: Fix segfault for certain invalid
	  WebSocket input. The WebSocket code would allocate, on the stack,
	  a string large enough to hold a key provided by the client, and
	  the WEBSOCKET_GUID. If the key is NULL, this causes a segfault.
	  If the key is too large, it could overflow the stack. This patch
	  checks the key for NULL and checks the length of the key to avoid
	  stack smashing nastiness. (closes issue ASTERISK-21825) Reported
	  by: Alfred Farrugia Tested by: Alfred Farrugia, David M. Lee
	  Patches: issueA21825_check_if_key_is_sent.patch uploaded by
	  Walter Doekes (license 5674) ........ Merged revisions 391560
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2013-06-12 02:29 +0000 [r391479-391521]  Matthew Jordan <mjordan@digium.com>

	* main/loader.c, main/format.c, /, main/endpoints.c: Fix memory
	  leak while loading modules, adding formats, and destroying
	  endpoints This patch fixes three memory leaks * When we load a
	  module with the LOAD_PRIORITY flag, we remove its entry from the
	  load order list. Unfortunately, we don't free the memory
	  associated with entry in the list. This patch corrects that and
	  properly frees the memory for the module in the list. * When
	  adding a custom format (such as SILK or CELT), the routine for
	  adding the format was leaking a reference. RAII_VAR cleans this
	  up properly. * We now de-ref the channel_snapshot appropriately
	  when an endpoint is disposed of ........ Merged revisions 391489
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 391507 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/stasis_channels.c, bridges/bridge_native_rtp.c: Fix memory
	  leaks in stasis_channels and bridge_native_rtp This patch fixes
	  two memory leaks: * A memory leak in packing channels into a
	  multi-channel blob payload when publishing dial messages. The
	  multi-channel blob payload does not steal the references - this
	  approach was chosen because it works well with the RAII_VAR
	  macro. Unfortunately, this does mean that you actually have to
	  use the RAII_VAR macro (or manually deref it yourself) * RTP
	  instances returned as a result of one of the glue operations are
	  ref counted and have to be de-ref'd appropriately. We now do
	  that, as saying that we should do it and then not would be silly.

2013-06-11 22:57 +0000 [r391455]  Mark Michelson <mmichelson@digium.com>

	* main/bridging.c: Remove incorrect comment about local channel
	  optimization occurring when performing an attended transfer on an
	  entire bridge.

2013-06-11 22:21 +0000 [r391430-391453]  Jonathan Rose <jrose@digium.com>

	* bridges/bridge_native_rtp.c, include/asterisk/framehook.h,
	  main/framehook.c: bridge_native_rtp: Fix native bridge tech being
	  incompatible when it should be. When checking compatability for
	  the native RTP bridge technology there is a race condition
	  between clearing framehooks that are destroyed when leaving
	  certain bridges with certain technologies (such as
	  bridge_native_rtp) and joining bridges with the bridge_native_rtp
	  technology. Yes, that means a channel in a native RTP bridge
	  could move to another native RTP bridge and be considered
	  incompatible with the new native RTP bridge causing it to revert
	  to a simple bridge technology0. This fixes that bug by ignoring
	  framehooks that have been marked for destruction when checking
	  for compatibility with the bridge_native_rtp technology.

	* bridges/bridge_native_rtp.c: bridge_native_rtp: Fix possible
	  segfaults on leaves/joins native_rtp_bridge_get can return any
	  result from the ast_rtp_glue_result enumerator and the join/leave
	  functions for bridge_native_rtp seem to assume that if the result
	  wasn't local that it was remote. Meanwhile forbid can be returned
	  by that function which can mean certain glue pointers are NULL.
	  Then when the join/leave functions try to use members of that
	  pointer, boom. Segfault.

2013-06-11 15:46 +0000 [r391403]  David M. Lee <dlee@digium.com>

	* main/manager.c, main/stasis_message.c, main/parking.c,
	  tests/test_stasis_channels.c, include/asterisk/stasis.h,
	  main/stasis_channels.c, tests/test_stasis.c,
	  main/manager_channels.c: Add vtable and methods for to_json and
	  to_ami for Stasis messages When a Stasis message type is defined
	  in a loadable module, handling those messages for AMI and
	  res_stasis events can be cumbersome. This patch adds a vtable to
	  stasis_message_type, with to_ami and to_json virtual functions.
	  These allow messages to be handled abstractly without putting
	  module-specific code in core. As an example, the VarSet AMI event
	  was refactored to use the to_ami virtual function. (closes issue
	  ASTERISK-21817) Review: https://reviewboard.asterisk.org/r/2579/

2013-06-11 10:24 +0000 [r391380]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Fix issue with no sound in both way
	  in case of previous call to chan_unistim phone was canceled.
	  (related to ASTERISK-20183) ........ Merged revisions 391379 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-06-11 08:13 +0000 [r391335]  Alec L Davis <sivad.a@paradise.net.nz>

	* channels/chan_iax2.c, /: IAX2: Transfer Reject: Lock bridgecallno
	  before touching it, refactor 1). When touching the bridgecallno,
	  we need to lock it. 2). Remove magic number '0' and replace with
	  TRANSFER_NONE. 3). Exit early if no bridgecallno. 4). Reduce
	  indentation. Reported by: alecdavis Tested by: alecdavis
	  alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2613/ ........ Merged
	  revisions 391333 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 391334 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-06-10 22:38 +0000 [r391314]  Matthew Jordan <mjordan@digium.com>

	* main/loader.c: Make the reload stasis message bump the ref count
	  of its sub-object JSON objects are reference stealing. Hence, if
	  you've RAII_VAR'd some subobject and want to pack it into another
	  JSON object, you have to bump the reference count. Using the 'O'
	  option during the pack will bump the reference count for you.

2013-06-10 21:04 +0000 [r391297]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Change chan_skinny to use core transfer
	  API. Changes for both attended and blind transfers in chan_skinny
	  to use the new transfer API instead of masquerade. (closes issue
	  ASTERISK-21526) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2557/

2013-06-10 16:03 +0000 [r391271]  Kinsey Moore <kmoore@digium.com>

	* res/res_agi.c: Add AGI command arguments to AsyncAGI event This
	  makes the AGI AsyncAGI event put provided AGI command arguments
	  in the event's environment. (closes issue ASTERISK-21304)
	  Patch-By: Dirk Wendland

2013-06-10 15:32 +0000 [r391269]  Mark Michelson <mmichelson@digium.com>

	* main/features_config.c: Temporary fix for people using sample
	  features.conf from previous Asterisk versions. People who use the
	  features.conf.sample file from Asterisk 11 and before in trunk
	  were given a rude awakening when features configuration changes
	  were made. Because it uses the config framework and the config
	  framework is strict about what is accepted and what isn't, people
	  that had parking options configured found that Asterisk no longer
	  started. This is because parking options are currently handled in
	  res_parking.conf instead of features.conf. This fix seeks to
	  create a temporary band-aid fix for the problem, but having
	  parking options from the general section be passed to a handler
	  that will simply print that the option is no longer supported.
	  This will not cause Asterisk to exit. The fix only applies to
	  options in the general section. There are two main reasons for
	  this: 1) The sample features.conf file only has parking options
	  in the general section. There are no configured parking lots.
	  Therefore it's not quite as "urgent" to get the parking lot
	  parsing fixed. 2) The plan is to move parking configuration back
	  from res_parking.conf to features.conf. When that happens, the
	  parking lots will also be addressed at that time.

2013-06-10 14:36 +0000 [r391245]  Matthew Jordan <mjordan@digium.com>

	* apps/app_queue.c, /, configs/queues.conf.sample, UPGRADE.txt: Add
	  announce-to-first-user option for app_queue In r386792, the
	  ability to play prompts to the first caller in a call queue was
	  added. While this is arguably a bug fix for those who expect the
	  first caller to continue receiving prompts while the agent is
	  dialed, it has the side effect of preventing the first caller
	  from hearing the agent immediately upon bridging. This may not be
	  a problem for those who really want this option, but for those
	  who didn't care whether or not the first caller in queue heard
	  their position, it was an issue. This patch disables the ability
	  for the first caller in the queue to hear prompts and adds a new
	  option, announce-to-first-user, to queues.conf. Those who the
	  behavior can enable it by setting this value to True. Note that
	  if we ever implement the ability to have the prompts be stopped
	  upon bridging, this option can be removed. (closes issue
	  ASTERISK-21782) Reported by: Remi Quezada ........ Merged
	  revisions 391215 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 391241 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-06-10 13:07 +0000 [r391199]  Kinsey Moore <kmoore@digium.com>

	* res/res_stasis_bridge_add.exports.in (added),
	  include/asterisk/stasis_app.h,
	  res/stasis_http/resource_bridges.c, res/stasis/app.h,
	  res/res_stasis_json_events.c, include/asterisk/stasis_bridging.h,
	  rest-api/api-docs/bridges.json,
	  res/stasis_http/resource_bridges.h, res/res_stasis_bridge_add.c
	  (added), main/stasis_bridging.c,
	  res/stasis_json/resource_events.h, res/res_stasis.c,
	  res/res_stasis_json_events.exports.in,
	  rest-api/api-docs/events.json, res/stasis/control.c,
	  res/stasis/app.c: Stasis-HTTP: Flesh out bridge-related
	  capabilities This adds support for Stasis applications to receive
	  bridge-related messages when the application shows interest in a
	  given bridge. To supplement this work and test it, this also adds
	  support for the following bridge-related Stasis-HTTP
	  functionality: * GET stasis/bridges * GET
	  stasis/bridges/{bridgeId} * POST stasis/bridges * DELETE
	  stasis/bridges/{bridgeId} * POST
	  stasis/bridges/{bridgeId}/addChannel * POST
	  stasis/bridges/{bridgeId}/removeChannel Review:
	  https://reviewboard.asterisk.org/r/2572/ (closes issue
	  ASTERISK-21711) (closes issue ASTERISK-21621) (closes issue
	  ASTERISK-21622) (closes issue ASTERISK-21623) (closes issue
	  ASTERISK-21624) (closes issue ASTERISK-21625) (closes issue
	  ASTERISK-21626)

2013-06-10 09:33 +0000 [r391064-391154]  Alec L Davis <sivad.a@paradise.net.nz>

	* /, channels/chan_iax2.c: chan_iax2: nativebridge refactor, missed
	  unlock bridgecallno ........ Merged revisions 391143 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 391148 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_iax2.c, /: fix bad edit after conflict resolution
	  ........ Merged revisions 391107 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 391111 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_iax2.c, /: IAX2: refactor nativebridge transfer
	  remove triple checking of iaxs[fr->callno]->transferring reduce
	  indentation. Reported by: alecdavis Tested by: alecdavis
	  alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2602/ ........ Merged
	  revisions 391065 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 391084 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_iax2.c, /: IAX2: fix race condition with
	  nativebridge transfers. 1). When touching the bridgecallno, we
	  need to lock it. 2). stop_stuff() which calls
	  iax2_destroy_helper() Assumes the lock on the pvt is already
	  held, when iax2_destroy_helper() is called. Thus we need to lock
	  the bridgecallno pvt before we call
	  stop_stuff(iaxs[fr->callno]->bridgecallno); 3). When evaluating
	  the state of 'callno->transferring' of the current leg, we can't
	  change it to READY unless the bridgecallno is locked. Why, if we
	  are interrupted by the other call leg before 'transferring =
	  TRANSFER_RELEASED', the interrupt will find that it is READY and
	  that the bridgecallno is also READY so Releases the legs. (closes
	  issue ASTERISK-21409) Reported by: alecdavis Tested by: alecdavis
	  alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2594/ ........ Merged
	  revisions 391062 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 391063 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-06-09 21:11 +0000 [r391012-391040]  Matthew Jordan <mjordan@digium.com>

	* main/app.c: Clean up MWI topic pool before message type
	  destruction Topics need to be disposed of prior to the message
	  types that are published on them. This includes topic pools. This
	  prevents an assertion from being raised on shutdown.

	* main/manager.c: Only initialize manager_bridging during startup
	  This moves the initialization call behind the protection against
	  reloads. We don't want to re-add message router routes during
	  reloads.

	* main/backtrace.c (added), main/logger.c, include/asterisk/lock.h,
	  main/astmm.c, utils/extconf.c, main/astobj2.c,
	  include/asterisk/backtrace.h (added), include/asterisk/logger.h:
	  Add backtrace generation to MALLOC_DEBUG memory corruption
	  reports This patch allows astmm to access the backtrace
	  generation code in Asterisk. When memory is allocated, a
	  backtrace is created and stored with the memory region that
	  tracks the allocation. If a memory corruption is detected, the
	  backtrace is printed to the astmm log. The backtrace will make
	  use of the BETTER_BACKTRACES build option if available. As a
	  result, this patch moves the backtrace generation code into its
	  own file and uses the non-wrapped versions of the C library
	  memory allocation routines. This allows the memory allocation
	  code to safely use the backtrace generation routines without
	  infinitely recursing. Review:
	  https://reviewboard.asterisk.org/r/2567

2013-06-08 06:31 +0000 [r390940-390991]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/bridging_technology.h, main/bridging.c: Add more
	  support for native bridging. * Added a start technology callback
	  that technologies can use to start bridging operations. It is
	  expected that native bridges will find this useful. * Factored
	  out bridge_channel_complete_join().

	* main/bridging.c, include/asterisk/bridging_technology.h,
	  bridges/bridge_softmix.c: Fix a crash when a bridge switches from
	  the softmix bridge technology to another. A three party bridge
	  uses the softmix bridging technology. This technology has a
	  dedicated thread used to perform the analog mixing. When one of
	  these parties leaves the bridge, the bridge technology is changed
	  from the softmix technology to a two-party mixing technology.
	  Changing technologies is done by removing channels from the old
	  technology and adding them to the new technology. Since the
	  remaining channels do not leave the bridge, the softmix mixing
	  thread could continue to process all channels in the bridge. If
	  the bridge code is not able to start destruction of the softmix
	  technology before the softmix mixing thread wakes up, a crash
	  happens. * Added a stop technology callback that technologies can
	  use to request any helper threads to stop in preparation for
	  being destroyed. (closes issue AST-1156) Reported by: John
	  Bigelow

	* include/asterisk/bridging_technology.h: Update some doxygen
	  comments.

	* bridges/bridge_softmix.c: The bridge uniqueid is available for
	  softmix destructor.

	* bridges/bridge_softmix.c: Add some bridge identifiers to some
	  softmix messages.

2013-06-07 20:51 +0000 [r390920]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_devicestate.c (added): res_parking: Add
	  parking_devicestate.c left out from previous commit (issue
	  ASTERISK-21645) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2545/

2013-06-07 19:51 +0000 [r390885-390901]  Jason Parker <jparker@digium.com>

	* configs/queues.conf.sample, CHANGES, apps/app_queue.c,
	  main/manager.c: Make app_queue AMI events more consistent. Give
	  Join/Leave more useful names. This also removes the
	  eventwhencalled and eventmemberstatus configuration options.
	  These events can just be filtered via manager.conf blacklists.
	  (closes issue ASTERISK-21469) Review:
	  https://reviewboard.asterisk.org/r/2586/

	* res/res_stasis_http_channels.c,
	  res/stasis_http/resource_channels.h,
	  rest-api/api-docs/channels.json,
	  res/stasis_json/resource_channels.h,
	  res/stasis_http/resource_channels.c: Implement ARI POST to
	  /channels, to originate a call. (closes issue ASTERISK-21617)
	  Review: https://reviewboard.asterisk.org/r/2597/

2013-06-07 16:22 +0000 [r390864]  Kinsey Moore <kmoore@digium.com>

	* tests/test_devicestate.c: Ensure that all unit tests compile with
	  the cache clear rework in place

2013-06-07 16:07 +0000 [r390848-390849]  Jonathan Rose <jrose@digium.com>

	* include/asterisk/pbx.h, CHANGES,
	  res/parking/parking_bridge_features.c,
	  res/parking/parking_bridge.c, main/pbx.c,
	  res/parking/res_parking.h, res/res_parking.c, main/features.c,
	  res/parking/parking_controller.c: res_parking: Automatically
	  generate extensions, hints, etc. (closes issue ASTERISK-21645)
	  Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2545/

	* main/manager.c, apps/app_meetme.c,
	  apps/confbridge/confbridge_manager.c, include/asterisk/manager.h:
	  app_meetme: Refactor manager events to use stasis (closes issue
	  ASTERISK-21467) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2564/

2013-06-07 12:56 +0000 [r390830]  Kinsey Moore <kmoore@digium.com>

	* main/channel.c, main/stasis_cache.c, include/asterisk/stasis.h,
	  main/stasis_channels.c, main/endpoints.c, tests/test_stasis.c,
	  main/bridging.c: Rework stasis cache clear events Stasis cache
	  clear message payloads now consist of a stasis_message
	  representative of the message to be cleared from the cache. This
	  allows multiple parallel caches to coexist and be cleared
	  properly by the same cache clear message even when keyed on
	  different fields. This change fixes a bug where multiple cache
	  clears could be posted for channels. The cache clear is now
	  produced in the destructor instead of ast_hangup. Additionally,
	  dummy channels are no longer capable of producing channel
	  snapshots. Review: https://reviewboard.asterisk.org/r/2596

2013-06-07 01:06 +0000 [r390803-390804]  Richard Mudgett <rmudgett@digium.com>

	* channels/sig_pri.c, channels/sig_pri.h, main/channel.c,
	  channels/chan_dahdi.c, channels/chan_misdn.c,
	  channels/sig_analog.c: Refactor chan_dahdi/sig_analog/sig_pri and
	  chan_misdn to use the common transfer functions. (closes issue
	  ASTERISK-21523) Reported by: Matt Jordan (closes issue
	  ASTERISK-21524) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2600/

	* main/features_config.c: Tweak applicationmap and featuregroup
	  config containers. * Change applicationmap and featuregroup to
	  replace duplicate config items rather than reject them. * Remove
	  some unneeded warning messages when getting the applicationmap
	  allows duplicates from DYNAMIC_FEATURES.

2013-06-06 23:32 +0000 [r390787]  Mark Michelson <mmichelson@digium.com>

	* main/features_config.c: Conditionally reject duplicate entries in
	  applicationmap containers. When reading from a config file, it's
	  important to reject duplicates. Otherwise, featuregroups will
	  have ambiguity when pointing to applicationmap items. However,
	  when constructing the channel's current applicationmap, we don't
	  care about duplicate names since it's the DTMF that identifies a
	  feature, not the name.

2013-06-06 22:46 +0000 [r390771]  Richard Mudgett <rmudgett@digium.com>

	* configs/iax.conf.sample, configs/chan_dahdi.conf.sample,
	  bridges/bridge_builtin_features.c,
	  include/asterisk/bridging_features.h,
	  include/asterisk/bridging.h, main/features.c, UPGRADE.txt,
	  configs/sip.conf.sample, configs/skinny.conf.sample, CHANGES,
	  main/bridging.c: Reimplement bridging and DTMF features related
	  channel variables in the bridging core. * The channel variable
	  ATTENDED_TRANSFER_COMPLETE_SOUND is no longer channel driver
	  specific. If the channel variable is set on the transferrer
	  channel, the sound will be played to the target of an attended
	  transfer. * The channel variable BRIDGEPEER becomes a comma
	  separated list of peers in a multi-party bridge. The BRIDGEPEER
	  value can have a maximum of 10 peers listed. Any more peers in
	  the bridge will not be included in the list. BRIDGEPEER is not
	  valid in holding bridges like parking since those channels do not
	  talk to each other even though they are in a bridge. * The
	  channel variable BRIDGEPVTCALLID is only valid for two party
	  bridges and will contain a value if the BRIDGEPEER's channel
	  driver supports it. * The channel variable DYNAMIC_PEERNAME is
	  redundant with BRIDGEPEER and is removed. The more useful
	  DYNAMIC_WHO_ACTIVATED gives the channel name that activated the
	  dynamic feature. * The channel variables DYNAMIC_FEATURENAME and
	  DYNAMIC_WHO_ACTIVATED are set only on the channel executing the
	  dynamic feature. Executing a dynamic feature on the bridge peer
	  in a multi-party bridge will execute it on all peers of the
	  activating channel. (closes issue ASTERISK-21555) Reported by:
	  Matt Jordan Review: https://reviewboard.asterisk.org/r/2582/

2013-06-06 21:40 +0000 [r390751]  Mark Michelson <mmichelson@digium.com>

	* channels/sip/include/sip.h, main/bridging.c,
	  channels/chan_mgcp.c, apps/app_dial.c, channels/chan_unistim.c,
	  channels/chan_sip.c, include/asterisk/features_config.h (added),
	  include/asterisk/channel.h, main/features_config.c (added),
	  include/asterisk/features.h, channels/chan_dahdi.c,
	  channels/chan_misdn.c, channels/sig_analog.c, main/manager.c,
	  bridges/bridge_builtin_features.c, main/features.c: Refactor the
	  features configuration scheme. Features configuration is handled
	  in its own API in features_config.h and features_config.c. This
	  way, features configuration is accessible to anything that needs
	  it. In addition, features configuration has been altered to be
	  more channel-oriented. Most callers of features API code will be
	  supplying a channel so that the individual channel's settings
	  will be acquired rather than the global setting. Missing from
	  this commit is XML documentation for the features configuration.
	  That will be handled in a separate commit. Review:
	  https://reviewboard.asterisk.org/r/2578/ (issue ASTERISK-21542)

2013-06-06 20:50 +0000 [r390733-390734]  Richard Mudgett <rmudgett@digium.com>

	* main/stasis_message_router.c: Fix compiler warning.

	* main/bridging.c, main/features.c, apps/app_bridgewait.c: * Fix a
	  couple missed hook installs that need
	  AST_BRIDGE_HOOK_REMOVE_ON_PULL. * Rename some hook flag
	  parameters to remove_flags.

2013-06-06 20:37 +0000 [r390730]  Kinsey Moore <kmoore@digium.com>

	* res/res_agi.c: Fix documentation generation Regression from
	  r390701

2013-06-06 20:32 +0000 [r390729]  Jason Parker <jparker@digium.com>

	* /: Remove props that people will yell at me for. I'm sorry I
	  broke automerge. :(

2013-06-06 20:30 +0000 [r390728]  Kinsey Moore <kmoore@digium.com>

	* res/parking/parking_manager.c: Fix documentation that was in
	  review during the great suffix/prefix swap

2013-06-06 19:51 +0000 [r390698-390701]  Jason Parker <jparker@digium.com>

	* CHANGES, /, res/res_agi.c: Split AGI manager events, to remove
	  SubEvent field. This moves them to stasis, in the process.
	  (closes issue ASTERISK-21470) Review:
	  https://reviewboard.asterisk.org/r/2587/

	* main/stasis_message_router.c,
	  include/asterisk/stasis_message_router.h: Convert message_router
	  routes to ao2. Add support for removal. Review:
	  https://reviewboard.asterisk.org/r/2591/

2013-06-06 18:21 +0000 [r390669]  Jonathan Rose <jrose@digium.com>

	* main/bridging.c: Parking: Enable code responsible for
	  intercepting park exten transfers

2013-06-06 01:52 +0000 [r390612-390639]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c: Add a BUGBUG note.

	* main/bridging.c: Misc core external attended transfer fixes. *
	  Fix external attended transfer bridge move/swap method. One of
	  the transferrer channels was not kicked out of the bridge. * Fix
	  several off-nominal extended attended transfer paths. Mainly the
	  channels involved needed to be hung up or kicked out of the
	  bridge.

	* main/core_local.c: Make local channels use ast_channel_move()
	  instead of the inlined version.

2013-06-05 21:14 +0000 [r390584-390585]  David M. Lee <dlee@digium.com>

	* include/asterisk/stasis.h: Corrected comment on stasis_cache_get

	* main/manager_channels.c: Fixed refcounting problems with chanspy
	  AMI support. The ast_multi_channel_blob_get_channel function does
	  not bump the refcount on the channel snapshot that it returns.
	  This is typical for Stasis message payloads, since being
	  immutable means that the object won't get unreffed out from
	  underneath you. The manager code for chanspy was unreffing the
	  snapshots it got out of the multi-channel blob, which was one
	  unref too many.

2013-06-05 19:19 +0000 [r390510-390550]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/bridging_features.h, main/features.c,
	  bridges/bridge_builtin_interval_features.c, main/bridging.c,
	  res/parking/parking_bridge_features.c, main/bridging_basic.c:
	  Remove remaining traces of remove_on_pull from hooks and hook
	  APIs.

	* include/asterisk/bridging_features.h: Give the
	  AST_BRIDGE_HOOK_REMOVE_ON_PULL a legitimate value.

	* include/asterisk/bridging_features.h, main/bridging.c: Change the
	  remove_on_pull flag on ast_bridge_hook to be a set of flags. This
	  change is used to make bridge hook removal more generic. This
	  way, depending on the circumstance, the appropriate bridge hooks
	  may be removed.

2013-06-05 14:50 +0000 [r390473]  Joshua Colp <jcolp@digium.com>

	* main/channel.c: Publish the channel state snapshot *before*
	  calling device state so a device state producer can use an up to
	  date snapshot.

2013-06-05 14:47 +0000 [r390472]  David M. Lee <dlee@digium.com>

	* main/channel_internal_api.c: Fixed a consistency problem with
	  channel snapshot and endpoint state. When channels are added to
	  an endpoint, the code originally posted a channel snapshot to the
	  endoint's topic directly. Turns out, this is a bad idea. This
	  causes the endpoint to see an inconsistent view of the channel,
	  since it will later receive in-flight messages with old channel
	  snapshots. This patch instead just publishes channel state
	  immediately after setting up the forward to the endpoint's topic.
	  This gives the endpoints a consistent view of the channel's
	  state.

2013-06-04 22:55 +0000 [r390439-390440]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_native_rtp.c: Add BUGBUG comment.

	* bridges/bridge_native_rtp.c: Simple lock, assignment, unlock
	  sandwich optimization.

2013-06-04 15:55 +0000 [r390352-390398]  David M. Lee <dlee@digium.com>

	* include/asterisk/manager.h: Corrected the docs on
	  ast_manager_event_blob_create

	* configure.ac, makeopts.in, configure,
	  include/asterisk/autoconfig.h.in, main/Makefile: Correct autoconf
	  script for finding UUID support. The library that provides UUID
	  support varies greatly from system to system. On most Linux
	  distros, it's in libuuid. On OpenBSD, it's in libe2fs-uuid. On OS
	  X, it is in libsystem. This patch plays hide-and-seek with UUID
	  support, looking for it in the three places we know about. It
	  also corrects the Makefile so that it uses the configured library
	  name and include path. (closes issue ASTERISK-21816) Reported by:
	  Brad Latus (snuffy) Tested by: Brad Latus (snuffy)

2013-05-31 19:00 +0000 [r390317]  Kinsey Moore <kmoore@digium.com>

	* main/pbx.c, apps/app_userevent.c, main/stasis_channels.c:
	  Refactor code and fix a reference leak Refactor some channel blob
	  publishing code to use ast_channel_publish_blob now that it is
	  available and fix a JSON reference leak that was occurring during
	  varset publishing.

2013-05-31 16:15 +0000 [r390289-390291]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, main/manager.c, main/channel_internal_api.c,
	  include/asterisk/channel.h: Remove ast_channel_bridge() and
	  associated code called only by it. * Added some more BUGBUG
	  notes.

	* include/asterisk/stasis_channels.h,
	  bridges/bridge_builtin_features.c, include/asterisk/bridging.h,
	  main/stasis_channels.c, main/bridging.c, main/channel.c: Fixup
	  hold/unhold with attended and blind transfers. * DTMF attended
	  and blind transfers have hold/unhold behavior restored. *
	  External attended and blind transfers unhold the transfered party
	  when the transfer is initiated. * Made prohibit blind
	  transferring a bridge marked as masquerade only. (ConfBridge
	  bridges) * Made running an application or playing a file inside a
	  bridge post the hold/unhold messages if MOH is requested. Review:
	  https://reviewboard.asterisk.org/r/2574/

2013-05-31 14:36 +0000 [r390268]  Jason Parker <jparker@digium.com>

	* main/manager.c, include/asterisk/manager.h, main/asterisk.c:
	  Replace ast_manager_publish_message() with a more useful version.
	  It's much easier to just create a blob of the message. Convert
	  some AMI events to use it. Review:
	  https://reviewboard.asterisk.org/r/2577/

2013-05-31 12:41 +0000 [r390249-390250]  Kinsey Moore <kmoore@digium.com>

	* apps/confbridge/include/confbridge.h, main/stasis_bridging.c,
	  apps/confbridge/confbridge_manager.c, apps/app_confbridge.c,
	  include/asterisk/stasis_bridging.h: Remove remnant of snapshot
	  blob JSON types Remove usage of the once-mandatory snapshot blob
	  type field, refactor confbridge stasis messages accordingly, and
	  remove ast_bridge_blob_json_type(). Review:
	  https://reviewboard.asterisk.org/r/2575/

	* main/stasis_channels.c, include/asterisk/stasis_channels.h: Add
	  snapshot cache that indexes by channel name This adds a new
	  channel snapshot cache in parallel to the existing cache; the
	  difference being that it indexes the channel snapshots by channel
	  name instead of channel uniqueid. Review:
	  https://reviewboard.asterisk.org/r/2576

2013-05-31 10:42 +0000 [r390230]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, /: Multiple revisions 390228-390229
	  ........ r390228 | may | 2013-05-31 14:19:52 +0400 (Fri, 31 May
	  2013) | 14 lines reject call attempts when gatekeeper is
	  configured but not registered (closes issue ASTERISK-21800)
	  Reported by: Dmitry Melekhov Patches: ASTERISK-21800-1.patch
	  Tested by: Dmitry Melekhov ........ Merged revisions 390181 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 390223 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ r390229
	  | may | 2013-05-31 14:34:20 +0400 (Fri, 31 May 2013) | 4 lines
	  remove unnecessary declarations (issue ASTERISK-21800) ........
	  Merged revisions 390228-390229 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-31 07:57 +0000 [r390180]  Walter Doekes <walter+asterisk@wjd.nu>

	* Makefile: Let find do its own globbing. Previously a stray .c
	  file would cause xmldocs to not get built.

2013-05-30 19:23 +0000 [r390122-390154]  David M. Lee <dlee@digium.com>

	* main/app.c: Missed a line from a bad merge in r390122

	* main/stasis_cache.c, include/asterisk.h, main/security_events.c,
	  include/asterisk/stasis.h, main/devicestate.c, main/named_acl.c,
	  include/asterisk/stasis_bridging.h, main/presencestate.c,
	  main/stasis.c, main/channel.c,
	  include/asterisk/stasis_channels.h, main/stasis_bridging.c,
	  main/test.c, main/app.c, main/stasis_channels.c,
	  include/asterisk/security_events.h, main/asterisk.c,
	  main/bridging.c: Avoid unnecessary cleanups during immediate
	  shutdown This patch addresses issues during immediate shutdowns,
	  where modules are not unloaded, but Asterisk atexit handlers are
	  run. In the typical case, this usually isn't a big deal. But the
	  introduction of the Stasis message bus makes it much more likely
	  for asynchronous activity to be happening off in some thread
	  during shutdown. During an immediate shutdown, Asterisk skips
	  unloading modules. But while it is processing the atexit
	  handlers, there is a window of time where some of the core
	  message types have been cleaned up, but the message bus is still
	  running. Specifically, it's still running module subscriptions
	  that might be using the core message types. If a message is
	  received by that subscription in that window, it will attempt to
	  use a message type that has been cleaned up. To solve this
	  problem, this patch introduces ast_register_cleanup(). This
	  function operates identically to ast_register_atexit(), except
	  that cleanup calls are not invoked on an immediate shutdown. All
	  of the core message type and topic cleanup was moved from atexit
	  handlers to cleanup handlers. This ensures that core type and
	  topic cleanup only happens if the modules that used them are
	  first unloaded. This patch also changes the ast_assert() when
	  accessing a cleaned up or uninitialized message type to an error
	  log message. Message type functions are actually NULL safe across
	  the board, so the assert was a bit heavy handed. Especially for
	  anyone with DO_CRASH enabled. Review:
	  https://reviewboard.asterisk.org/r/2562/

2013-05-29 20:24 +0000 [r390068]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, /: Fix segfault when dealing with chan_agent
	  channels. Check the returned bridged pointer for NULL to avoid a
	  crash. It looks like chan_agent is returning a NULL pointer when
	  it probably should be returning a pointer to the channel the
	  Agent channel is pretending to be. (closes issue ASTERISK-21793)
	  Reported by: Rodrigo P. Telles Patches:
	  jira_asterisk_21793_v1.8.patch (license #5621) patch uploaded by
	  rmudgett Tested by: Rodrigo P. Telles ........ Merged revisions
	  390044 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 390047 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-29 19:54 +0000 [r390042]  Jason Parker <jparker@digium.com>

	* main/channel.c: Remove unused RAII vars.

2013-05-29 03:22 +0000 [r389990]  Matthew Jordan <mjordan@digium.com>

	* res/res_fax.c: Pack the right number of items into the status and
	  receive fax blobs The code was still attempting to pack an
	  additional item into the blobs that didn't exist. Crashes ensued.
	  This patch modifies the publishing of these messages so that the
	  correct number of items are packed in the JSON.

2013-05-29 02:26 +0000 [r389974]  Kinsey Moore <kmoore@digium.com>

	* res/res_musiconhold.c, res/res_monitor.c,
	  include/asterisk/stasis_channels.h, res/res_fax.c,
	  apps/app_fax.c, main/stasis_channels.c: Resolve a merge conflict
	  When ast_channel_cached_blob_create was merged,
	  ast_channel_blob_create_from_cache was partially removed in an
	  unresolved merge conflict. This restores
	  ast_channel_blob_create_from_cache and refactors usage of
	  ast_channel_cached_blob_create (requires an ast_channel) to use
	  ast_channel_blob_create_from_cache (requires a channel uniqueid)
	  instead.

2013-05-28 17:47 +0000 [r389897]  Jonathan Rose <jrose@digium.com>

	* /, main/slinfactory.c: Fix a memory copying bug in slinfactory
	  which was causing mixmonitor issues. Reported by: Michael Walton
	  Tested by: Jonathan Rose Patches:
	  slinfactory.c.ASTERISK-21799.patch uploaded by Michael Walton
	  (license 6502) (closes issue ASTERISK-21799) ........ Merged
	  revisions 389895 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 389896 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-28 15:54 +0000 [r389848-389870]  Mark Michelson <mmichelson@digium.com>

	* main/bridging.c: Add missing NULL check to acquire_bridge()
	  function.

	* channels/chan_sip.c, channels/sip/include/sip.h: Add attended
	  transfer support for chan_sip.c This now uses the core API for
	  performing attended transfers. Review
	  https://reviewboard.asterisk.org/r/2513 (Closes issue
	  ASTERISK-21520) reported by Matt Jordan

	* main/channel.c, main/pbx.c, bridges/bridge_builtin_features.c,
	  channels/chan_sip.c, apps/confbridge/confbridge_manager.c,
	  include/asterisk/bridging.h, main/features.c,
	  include/asterisk/channel.h, CHANGES, main/bridging.c,
	  channels/chan_mgcp.c: Adds support for a core attended transfer
	  function plus adds some hiding of masquerades. The attended
	  transfer API call can complete the attended transfer in a number
	  of ways depending on the current bridged states of the channels
	  involved. The hiding of masquerades is done in some
	  bridging-related functions, such as the manager Bridge action and
	  the Bridge dialplan application. In addition, call pickup was
	  edited to "move" a channel rather than masquerade it. Review:
	  https://reviewboard.asterisk.org/r/2511 (closes issue
	  ASTERISK-21334) Reported by Matt Jordan (closes issue
	  Asterisk-21336) Reported by Matt Jordan

2013-05-27 01:33 +0000 [r389770-389827]  Matthew Jordan <mjordan@digium.com>

	* res/res_fax.c, res/res_fax_spandsp.c: Fix some more fax test
	  errors due to needing the peer in a bridge In r389799, a number
	  of fax errors in gateway mode were fixed by using the appropriate
	  function to get a channel's peer while in a bridge. This patch
	  does two things: (1) It uses the same function in res_fax_spandsp
	  while starting the fax gateway. Without this, the fax gateway
	  will not actually start up, as res_fax_spandsp also must inspect
	  the channel's peer in a two-party bridge (2) It refactors some
	  ao2 objects in sendfax_exec to use RAII_VAR. This was reverted in
	  r389799 as some off nominal paths were getting hit without the
	  fix in (1) that indicated an ao2 object issue; this turned out to
	  be a red herring (which is an odd phrase)

	* main/stasis_endpoints.c: Initialize the message type before the
	  topic Caching topics will during initialization attempt to
	  reference their message type. The message type therefore has to
	  be initialized prior to the topic to prevent the dreaded
	  assertion.

	* res/res_fax.c: Fix a few fax gateway failures Fax gateway
	  requires knowledge of a channel's peer in a bridge. This patch
	  now uses the supported mechanisms to get this information. This
	  is acceptable for a few reasons: * Fax gateway can only ever work
	  in a 2-party bridge * Fax gateway cannot work when not in a
	  bridge * Fax gateway cannot work without knowledge of the
	  capabilities of both channels in the fax operation (it is, after
	  all, a gateway)

	* main/asterisk.c, res/res_fax.c, main/devicestate.c: Fix a variety
	  of memory corruption/assertion errors * Initialize a Stasis-Core
	  message type prior to initializing a caching topic. The caching
	  topic will attempt to use the message type. * Don't attempt to
	  publish Stasis-Core messages from remote console connections.
	  They aren't the main process; they shouldn't attempt to behave as
	  it (they also don't have the infrastructure to do so) * Don't
	  treat a JSON object as an ao2 object (whoops) * In asterisk.c,
	  ref bump the JSON even package that is distributed with the event
	  meta data. The callers assume that they own the reference, and
	  the packing routine steals references.

	* main/asterisk.c: Restore initialization of security topics During
	  a merge the security topic initialization got blown away. This
	  patch restores it.

2013-05-24 21:23 +0000 [r389746-389748]  Jason Parker <jparker@digium.com>

	* /: grr, props.

	* channels/chan_h323.c, main/stasis_channels.c,
	  main/manager_channels.c, channels/chan_mgcp.c,
	  channels/chan_unistim.c, /, channels/chan_sip.c,
	  include/asterisk/channel.h, channels/sig_pri.c,
	  channels/chan_iax2.c, CHANGES, res/res_sip_sdp_rtp.c,
	  main/channel.c, channels/chan_dahdi.c,
	  include/asterisk/stasis_channels.h, channels/sig_analog.c,
	  channels/chan_misdn.c, channels/chan_skinny.c,
	  channels/chan_motif.c: Split Hold event into Hold/Unhold, and
	  move it into core. (closes issue ASTERISK-21487) Review:
	  https://reviewboard.asterisk.org/r/2565/

2013-05-24 21:01 +0000 [r389738]  Kinsey Moore <kmoore@digium.com>

	* res/res_stasis.c: Remove a junk define BLOB_HANDLER_BUCKETS is a
	  remnant of using "type" fields in JSON/snapshot blobs and is no
	  longer used.

2013-05-24 20:44 +0000 [r389680-389733]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/_private.h, include/asterisk/manager.h,
	  channels/sig_pri.c, CHANGES, res/res_monitor.c,
	  include/asterisk/app.h, main/json.c,
	  include/asterisk/stasis_channels.h, apps/app_chanspy.c,
	  res/parking/parking_manager.c, main/asterisk.c,
	  main/manager_mwi.c (added), apps/app_voicemail.c,
	  channels/chan_unistim.c, include/asterisk/json.h,
	  res/res_musiconhold.c, res/res_xmpp.c, channels/chan_iax2.c,
	  res/res_jabber.c, main/enum.c, main/loader.c, main/cli.c,
	  main/cdr.c, channels/chan_dahdi.c, main/manager.c,
	  channels/chan_skinny.c, apps/app_minivm.c, main/app.c,
	  main/stasis_channels.c, main/manager_channels.c,
	  res/res_sip_mwi.c, channels/chan_mgcp.c, main/pbx.c,
	  main/dnsmgr.c, channels/chan_sip.c, res/res_fax.c,
	  apps/app_fax.c: Migrate a large number of AMI events over to
	  Stasis-Core This patch moves a number of AMI events over to the
	  Stasis-Core message bus. This includes: * ChanSpyStart/Stop *
	  MonitorStart/Stop * MusicOnHoldStart/Stop * FullyBooted/Reload *
	  All Voicemail/MWI related events In addition, it adds some
	  Stasis-Core and AMI support for generic AMI messages, refactors
	  the message router in AMI to use a single router with topic
	  forwarding for the topics that AMI cares about, and refactors MWI
	  message types and topics to be more name compliant. Review:
	  https://reviewboard.asterisk.org/r/2532 (closes issue
	  ASTERISK-21462)

	* /, main/logger.c: Print all logger messages on shutdown When
	  Asterisk shuts down and shuts down the loggin gsubsystem, any
	  messages currently in flight will not get logged. This patch
	  prevents the loop writing messages from breaking out prematurely,
	  such that all of the messages are logged. (closes issue
	  ASTERISK-21716) Reported by: Corey Farrell patches:
	  logger-process-all-messages.patch uploaded by Corey Farrell
	  (license 5909) ........ Merged revisions 389676 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 389677 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-24 10:23 +0000 [r389663]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Fix several problems caused by
	  multiple line usage with i2004 phones. Reported by: Daniel
	  Bohling, MihaiMircea (closes issue ASTERISK-21061) (closes issue
	  ASTERISK-21120) ........ Merged revisions 389661 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-23 21:46 +0000 [r389639]  David M. Lee <dlee@digium.com>

	* res/res_stasis_playback.c, res/stasis_http/resource_channels.c,
	  include/asterisk/stasis_http.h, res/res_stasis_http.c:
	  stasis-http: Provide a response body for 201 created responses

2013-05-23 21:11 +0000 [r389618-389623]  Jonathan Rose <jrose@digium.com>

	* res/parking/parking_bridge.c: res_parking: Add a verbose message
	  when a channel is parked

	* res/parking/parking_bridge.c: res_parking: Fix some simple bugs
	  Both of them are covered in the dynamic parking review on
	  https://reviewboard.asterisk.org/r/2550 - Remove unref against
	  parking lot that the bridge did on dissolve since the reference
	  wasn't taken in the first place. On a swap, reapply bridge roles
	  in order to get music on hold and such playing on the channel
	  that swaps into the bridge.

2013-05-23 20:25 +0000 [r389609]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_session.c: Fix a crash due to the INVITE session
	  being destroyed before the session. This change ensures that the
	  INVITE session remains valid for the lifetime of the session
	  object itself by increasing the session count on the dialog that
	  the INVITE session is allocated from. Once this reaches zero
	  (normally as a result of decrementing it within the session
	  destructor) the dialog, and INVITE session, are destroyed.

2013-05-23 20:21 +0000 [r389587-389603]  David M. Lee <dlee@digium.com>

	* include/asterisk/stasis_app_playback.h,
	  res/stasis_http/resource_playback.c, include/asterisk/app.h,
	  res/res_stasis_playback.c, res/stasis/control.c,
	  res/stasis_http/resource_channels.c,
	  rest-api/api-docs/playback.json, res/res_stasis_http_channels.c,
	  include/asterisk/stasis_app.h, main/app.c,
	  include/asterisk/channel.h, res/stasis_http/resource_channels.h,
	  rest-api/api-docs/channels.json: This patch adds support for
	  controlling a playback operation from the Asterisk REST
	  interface. This adds the /playback/{playbackId}/control resource,
	  which may be POSTed to to pause, unpause, reverse, forward or
	  restart the media playback. Attempts to control a playback that
	  is not currently playing will either return a 404 Not Found
	  (because the playback object no longer exists) or a 409 Conflict
	  (because the playback object is still in the queue to be played).
	  This patch also adds skipms and offsetms parameters to the
	  /channels/{channelId}/play resource. (closes issue
	  ASTERISK-21587) Review: https://reviewboard.asterisk.org/r/2559

	* res/res_stasis_json_events.exports.in, res/res_stasis_playback.c
	  (added), rest-api/api-docs/events.json, res/stasis/control.c,
	  main/channel_internal_api.c, include/asterisk/stasis_http.h,
	  res/res_stasis_http_channels.c, res/res_stasis_json_events.c,
	  include/asterisk/stasis_app_playback.h (added),
	  res/stasis_http/resource_playback.c, include/asterisk/app.h,
	  include/asterisk/stasis_channels.h,
	  res/stasis_json/resource_channels.h,
	  res/stasis_http/resource_channels.c,
	  res/stasis_http/resource_channels.h, main/stasis_channels.c,
	  rest-api/api-docs/channels.json,
	  res/res_stasis_playback.exports.in (added),
	  res/res_stasis_http.c, res/stasis_json/resource_events.h: This
	  patch implements the REST API's for POST
	  /channels/{channelId}/play and GET /playback/{playbackId}. This
	  allows an external application to initiate playback of a sound on
	  a channel while the channel is in the Stasis application. /play
	  commands are issued asynchronously, and return immediately with
	  the URL of the associated /playback resource. Playback commands
	  queue up, playing in succession. The /playback resource shows the
	  state of a playback operation as enqueued, playing or complete.
	  (Although the operation will only be in the 'complete' state for
	  a very short time, since it is almost immediately freed up).
	  (closes issue ASTERISK-21283) (closes issue ASTERISK-21586)
	  Review: https://reviewboard.asterisk.org/r/2531/

2013-05-23 18:40 +0000 [r389569]  Richard Mudgett <rmudgett@digium.com>

	* main/features.c: Fix inverted test preventing DTMF disconnect
	  from working.

2013-05-23 18:39 +0000 [r389551-389568]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_sdp_rtp.c: Fix a bug where the DTMF mode was not set
	  on newly created RTP instances in the res_sip_sdp_rtp module.

	* res/res_sip_sdp_rtp.c: Fix a bug with applying the end result of
	  the codec negotiation to the Asterisk channel.

	* res/res_sip_session.c: Fix a bug where the codec order as
	  configured was not being obeyed.

2013-05-22 19:15 +0000 [r389519]  David M. Lee <dlee@digium.com>

	* main/app.c: Fixed startup race condition which caused occasional
	  stasis_mwi_state_type assertions. The caching topic (which refers
	  to the message type) was created before the message type. If the
	  initial subscription message gets processed before the type can
	  be initialized, the assertion about using an uninitialized type
	  fires.

2013-05-22 18:20 +0000 [r389492-389505]  Jason Parker <jparker@digium.com>

	* /: Remove bad props, before anybody notices.

	* /, include/asterisk/dial.h, apps/app_followme.c,
	  apps/app_queue.c, apps/app_dial.c, main/dial.c: Add dial events
	  to app_queue and app_followme. Also fixes an issue in app_dial,
	  where the channels were swapped on dial events. (closes issue
	  ASTERISK-21551) (closes issue ASTERISK-21550) Review:
	  https://reviewboard.asterisk.org/r/2549/

2013-05-21 22:49 +0000 [r389454]  David M. Lee <dlee@digium.com>

	* main/stasis_bridging.c: Fix destruction order assert for
	  stasis_bridging

2013-05-21 21:08 +0000 [r389426]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_queue.c: Conditional out more app_queue logging that
	  needs to be reworked. Fixes crash because app_queue was
	  unconditionally freeing a datastore that was still on a channel.

2013-05-21 18:45 +0000 [r389402]  Matthew Jordan <mjordan@digium.com>

	* apps/app_confbridge.c, apps/confbridge/confbridge_manager.c:
	  Raise the ConfBridgeMute/Unmute events when a CLI or AMI action
	  triggers the change New in 12 are the ConfBridgeMute/Unmute
	  events, which are triggered when a user changes their mute/unmute
	  state. This was typically triggered when a user hit a DTMF key
	  that triggered the mute/unmute menu handler. Forgotten in this is
	  when an AMI action or CLI command triggers the mute/unmute. This
	  patch now raises the events in those situations as well. (closes
	  issue ASTERISK-21802) Reported by: Birger "WIMPy" Harzenetter

2013-05-21 18:00 +0000 [r389378]  Richard Mudgett <rmudgett@digium.com>

	* rest-api-templates/res_stasis_json_resource.c.mustache,
	  include/asterisk/frame.h, apps/app_mixmonitor.c,
	  include/asterisk/parking.h (added), channels/chan_mgcp.c,
	  main/bridging_roles.c (added), main/pbx.c, main/strings.c,
	  rest-api/api-docs/events.json, include/asterisk/core_local.h
	  (added), configs/res_parking.conf.sample (added),
	  channels/chan_bridge.c (removed),
	  res/parking/parking_controller.c,
	  res/parking/parking_applications.c, include/asterisk/channel.h,
	  include/asterisk/manager.h, apps/app_queue.c,
	  include/asterisk/stasis_bridging.h (added),
	  include/asterisk/framehook.h, include/asterisk/config_options.h,
	  bridges/bridge_builtin_features.c,
	  apps/confbridge/confbridge_manager.c (added), main/features.c,
	  apps/app_dumpchan.c, channels/chan_motif.c, channels/chan_h323.c,
	  apps/app_confbridge.c, include/asterisk/rtp_engine.h,
	  apps/app_chanspy.c, include/asterisk/ccss.h,
	  main/manager_channels.c, main/bridging.c,
	  apps/confbridge/conf_chan_announce.c (added),
	  main/bridging_basic.c (added), include/asterisk/core_unreal.h
	  (added), apps/app_dial.c, res/res_stasis_json_events.exports.in,
	  addons/chan_ooh323.c, main/frame.c, main/parking.c (added),
	  bridges/bridge_holding.c (added), bridges/bridge_simple.c,
	  bridges/bridge_softmix.c, funcs/func_jitterbuffer.c,
	  res/Makefile, res/res_stasis_json_events.c, main/core_local.c
	  (added), CHANGES, channels/chan_iax2.c,
	  bridges/bridge_multiplexed.c (removed),
	  res/parking/parking_bridge_features.c,
	  include/asterisk/abstract_jb.h, channels/chan_gulp.c,
	  apps/confbridge/conf_config_parser.c, main/channel.c,
	  res/res_parking.c (added), main/manager.c, main/stasis_bridging.c
	  (added), res/parking (added),
	  bridges/bridge_builtin_interval_features.c (added),
	  rest-api-templates/stasis_json_resource.h.mustache,
	  main/config_options.c, res/stasis_json/resource_events.h,
	  main/asterisk.c, res/parking/parking_manager.c,
	  apps/app_parkandannounce.c (removed), channels/chan_unistim.c,
	  res/parking/parking_ui.c, channels/chan_local.c (removed),
	  main/rtp_engine.c, apps/confbridge/conf_chan_record.c (added),
	  main/core_unreal.c (added), apps/app_bridgewait.c (added),
	  apps/app_followme.c, configs/features.conf.sample,
	  channels/chan_jingle.c, channels/chan_dahdi.c,
	  apps/app_channelredirect.c, funcs/func_channel.c,
	  main/abstract_jb.c, main/manager_bridging.c (added),
	  include/asterisk/bridging_roles.h (added), channels/chan_vpb.cc,
	  channels/chan_sip.c, main/channel_internal_api.c,
	  channels/chan_agent.c, UPGRADE.txt, include/asterisk/_private.h,
	  res/parking/parking_bridge.c, main/cli.c,
	  res/parking/res_parking.h,
	  include/asterisk/bridging_technology.h, channels/chan_misdn.c,
	  apps/confbridge/include/confbridge.h, channels/chan_skinny.c,
	  include/asterisk/bridging_features.h, funcs/func_frame_trace.c,
	  include/asterisk/bridging.h, include/asterisk/bridging_basic.h
	  (added), bridges/bridge_native_rtp.c (added): Merge in the
	  bridge_construction branch to make the system use the Bridging
	  API. Breaks many things until they can be reworked. A partial
	  list: chan_agent chan_dahdi, chan_misdn, chan_iax2 native
	  bridging app_queue COLP updates DTMF attended transfers Protocol
	  attended transfers

2013-05-21 14:17 +0000 [r389343]  David M. Lee <dlee@digium.com>

	* apps/app_userevent.c, main/stasis_channels.c: Fixed some extra
	  field assertion when the event WebSocket is connected

2013-05-20 19:24 +0000 [r389306]  Matthew Jordan <mjordan@digium.com>

	* main/pbx.c: Set the AST_CDR_FLAG_ORIGINATED flag on originated
	  channel's CDRs This may alleviate some of the CDR woes with
	  originated channels, as CDRs do like to know when a channel was
	  originated. Eventually this will get converted to be a channel
	  flag, so its location is still good to know post the great CDR
	  shakeup of 2013.

2013-05-20 18:03 +0000 [r389247-389251]  Richard Mudgett <rmudgett@digium.com>

	* res/stasis_http/resource_recordings.c, cel/cel_sqlite3_custom.c,
	  main/event.c, funcs/func_iconv.c,
	  res/stasis_http/resource_recordings.h,
	  res/stasis_http/resource_events.c,
	  res/res_stasis_http_asterisk.c, main/udptl.c,
	  res/res_stasis_websocket.c, res/stasis_http/resource_events.h,
	  tests/test_gosub.c, main/threadstorage.c, cel/cel_tds.c,
	  tests/test_dlinklists.c, res/res_stasis_http_endpoints.c,
	  res/stasis_http/resource_asterisk.c, res/ael/pval.c, main/json.c,
	  res/stasis_http/resource_asterisk.h, res/ael/ael_lex.c,
	  res/res_stasis_http_bridges.c, tests/test_stasis_http.c,
	  tests/test_stasis.c, res/res_clioriginate.c, cel/cel_pgsql.c,
	  tests/test_res_stasis.c, res/res_stasis_http_channels.c,
	  res/res_srtp.c, main/stasis.c, main/stasis_message.c,
	  main/stasis_message_router.c, main/hashtab.c, res/ael/ael.tab.c,
	  cel/cel_manager.c, funcs/func_odbc.c,
	  res/stasis_http/resource_channels.c, funcs/func_channel.c,
	  res/ael/ael.tab.h, res/stasis_http/resource_channels.h,
	  utils/ael_main.c, formats/format_h264.c, codecs/codec_dahdi.c,
	  contrib/utils/eagi_proxy.c, res/res_stasis.c,
	  main/manager_channels.c, tests/test_json.c, cel/cel_radius.c,
	  main/stasis_cache.c, tests/test_astobj2_thrash.c,
	  funcs/func_dialgroup.c, tests/test_xml_escape.c, pbx/pbx_lua.c,
	  res/res_ael_share.c, res/res_pktccops.c, funcs/func_realtime.c,
	  cel/cel_odbc.c, res/res_smdi.c, cel/cel_custom.c, res/res_curl.c,
	  res/res_stasis_http.c, res/stasis_http/resource_endpoints.c,
	  utils/refcounter.c, res/stasis_http/resource_endpoints.h,
	  funcs/func_rand.c, funcs/func_version.c, main/sha1.c,
	  tests/test_hashtab_thrash.c, res/stasis_http/resource_bridges.c,
	  res/res_stasis_http_recordings.c, main/cel.c,
	  res/stasis_http/resource_bridges.h, res/res_stasis_http_events.c,
	  tests/test_time.c: Fixup svn:keywords in all *.c and *.h files.

	* channels/sip/include/globals.h, apps/app_celgenuserevent.c,
	  channels/sip/dialplan_functions.c, include/asterisk/pktccops.h,
	  channels/sip/include/sdp_crypto.h,
	  include/asterisk/ael_structs.h, include/asterisk/udptl.h,
	  channels/sip/include/srtp.h, include/asterisk/frame_defs.h,
	  apps/app_stasis.c, include/asterisk/sha1.h,
	  include/asterisk/smdi.h, include/asterisk/stringfields.h,
	  channels/sip/sdp_crypto.c, channels/sip/include/dialog.h,
	  include/asterisk/res_srtp.h, channels/sip/srtp.c,
	  include/asterisk/cel.h, include/asterisk/stasis_http.h,
	  include/asterisk/stasis_app.h, include/asterisk/stasis.h,
	  apps/app_morsecode.c, apps/app_waituntil.c,
	  include/asterisk/json.h,
	  include/asterisk/stasis_message_router.h,
	  include/asterisk/hashtab.h,
	  channels/sip/include/dialplan_functions.h,
	  include/asterisk/paths.h, include/asterisk/event.h,
	  apps/app_setcallerid.c, include/asterisk/event_defs.h: Fixup
	  svn:keywords in all *.c and *.h files.

2013-05-20 17:44 +0000 [r389246]  Jason Parker <jparker@digium.com>

	* /: Add doxygen.log to svn:ignore property. ........ Merged
	  revisions 389244 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 389245 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-20 14:21 +0000 [r389217]  Kinsey Moore <kmoore@digium.com>

	* res/res_stasis_answer.exports.in (added): Add missing exports
	  file This exposes stasis_app_control_answer and allows
	  res_stasis_http_channels to load properly.

2013-05-20 14:02 +0000 [r389204]  Joshua Colp <jcolp@digium.com>

	* main/sorcery.c: In Sorcery pass the name of the object being
	  allocated to the allocator.

2013-05-20 13:45 +0000 [r389202]  Kinsey Moore <kmoore@digium.com>

	* apps/confbridge/conf_config_parser.c: Add documentation for
	  record_file_append When this option was added, it was noted in
	  CHANGES, but was missing the XML documentation that this patch
	  adds. (closes issue ASTERISK-21780) Patch-by: Brad Latus (snuffy)

2013-05-19 20:52 +0000 [r389180]  Alexandr Anikin <may@telecom-service.ru>

	* addons/chan_ooh323.c, addons/chan_ooh323.h: add
	  ast_publish_channel_state according new event framework

2013-05-19 19:45 +0000 [r389164]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Add transfer softkey to ringout state to
	  enable blond transfers. (closes issue ASTERISK-21327) Reported
	  by: wedhorn Tested by: myself Patches: skinny-blindxfer01.diff
	  uploaded by wedhorn (license 5019)

2013-05-19 17:45 +0000 [r389148]  Kinsey Moore <kmoore@digium.com>

	* res/res_sip_acl.c, res/res_sip.c,
	  res/res_sip_outbound_registration.c,
	  res/res_sip_endpoint_identifier_ip.c: Add base XML documentation
	  for res_sip Thanks to Brad Latus, this patch adds a significant
	  amount much-needed documentation to res_sip. It should cover all
	  existing configuration options currently in Asterisk trunk.
	  Patch-by: Brad Latus (snuffy) Review:
	  https://reviewboard.asterisk.org/r/2471/

2013-05-19 02:21 +0000 [r389116-389132]  Joshua Colp <jcolp@digium.com>

	* main/pbx.c: Don't hold the outgoing lock for a prolonged period
	  of time as it may block the originator.

	* main/pbx.c: If the caller of the originate API calls wants the
	  channel ensure it has been requested and dialed.

2013-05-18 23:20 +0000 [r389097]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c, configs/skinny.conf.sample: Add call
	  forward no answer to skinny and cleanup general callfwd handling.
	  CallforwardNoAnswer uses a sched to determine when to forward the
	  call. Defaults to 20secs but configurable in skinny.conf. Adds
	  dialType to each subchannel structure to be used to differentiate
	  between normal dials that result in a call being placed (default)
	  and other uses for the skinny_dialer (such as cfwd digit
	  collection). Restructured all cfwd handling to use this new
	  arrangement. (closes issue ASTERISK-21292) Reported by: wedhorn
	  Tested by: myself Patches: skinny-callfwdnoans03.diff uploaded by
	  wedhorn (license 5019)

2013-05-18 22:49 +0000 [r389053-389085]  Joshua Colp <jcolp@digium.com>

	* main/pbx.c: Fix a bug where synchronous origination (oddly enough
	  triggered by doing an async manager Originate) would not work
	  properly.

	* include/asterisk/dial.h, main/manager_channels.c, main/dial.c,
	  main/pbx.c: Move origination to use the dialing API and send
	  Stasis messages on dial begin and end. (closes issue
	  ASTERISK-21549) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2512/

2013-05-17 21:10 +0000 [r389011]  David M. Lee <dlee@digium.com>

	* res/res_jabber.c, apps/app_queue.c, channels/chan_iax2.c,
	  main/endpoints.c, include/asterisk/stasis_message_router.h,
	  res/res_chan_stats.c, main/stasis.c, main/manager.c,
	  funcs/func_presencestate.c, main/stasis_message_router.c,
	  main/app.c, main/stasis_channels.c, res/res_stasis.c,
	  main/manager_channels.c, apps/app_voicemail.c,
	  main/stasis_cache.c, main/pbx.c, main/stasis_endpoints.c,
	  channels/chan_sip.c, include/asterisk/stasis.h,
	  main/devicestate.c: Fix shutdown assertions in stasis-core In
	  r388005, macros were introduced to consistently define message
	  types. This added an assert if a message type was used either
	  before it was initialized or after it had been cleaned up. It
	  turns out that this assertion fires during shutdown. This
	  actually exposed a hidden shutdown ordering problem. Since
	  unsubscribing is asynchronous, it's possible that the message
	  types used by the subscription could be freed before the final
	  message of the subscription was processed. This patch adds
	  stasis_subscription_join(), which blocks until the last message
	  has been processed by the subscription. Since joining was most
	  commonly done right after an unsubscribe, a
	  stasis_unsubscribe_and_join() convenience function was also
	  added. Similar functions were also added to the
	  stasis_caching_topic and stasis_message_router, since they wrap
	  subscriptions and have similar problems. Other code in trunk was
	  refactored to join() where appropriate, or at least verify that
	  the subscription was complete before being destroyed. Review:
	  https://reviewboard.asterisk.org/r/2540

2013-05-17 20:24 +0000 [r389009]  Michael L. Young <elgueromexicano@gmail.com>

	* channels/chan_iax2.c: Remove Character Limit On "inkeys" For IAX2
	  Currently, the buffer for processing "inkeys" is limited to 256
	  characters. If the user has many keys and the names of those key
	  files are long, the 256 character limit is not enough. * Change
	  inkeys buffer to be dynamic (closes issue ASTERISK-21398)
	  Reported by: Pavel Kopchyk Tested by: Pavel Kopchyk, Michael L.
	  Young Patches: asterisk-21398-iax2-inkeys-dynamic-buffer_v3.diff
	  by Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2501/

2013-05-17 17:43 +0000 [r388976]  Matthew Jordan <mjordan@digium.com>

	* apps/app_dial.c, main/channel.c, main/dial.c,
	  include/asterisk/stasis_channels.h, main/stasis_channels.c:
	  Publish the outbound channel's application/data when dialing This
	  patch does two things: * It fixes a bug where the outbound
	  channel's application/data set by the dialing API/app_dial is not
	  communicated until the channel is hung up. If that happens, AMI
	  would incorrectly send a NewExten event immediately after a
	  Hangup. This isn't really AMI's fault, as the dialing APIs never
	  communicated the 'helpful' app/data on the outbound channel until
	  it was hungup. * It makes public sending a stasis message about a
	  change in channel state. This is useful enough that - for now at
	  least - it should be public. If operations on a channel go to
	  being more coarse-grained, this function could be made private
	  again. Review: https://reviewboard.asterisk.org/r/2548 Note that
	  this problem was found and reported by Matt DiMeo.

2013-05-17 17:36 +0000 [r388975]  Jonathan Rose <jrose@digium.com>

	* include/asterisk/json.h, main/named_acl.c, CHANGES,
	  channels/chan_iax2.c, tests/test_security_events.c,
	  res/res_sip.c, main/json.c, main/manager.c,
	  channels/sip/include/config_parser.h, res/res_sip_nat.c,
	  channels/sip/dialplan_functions.c, include/asterisk/netsock2.h,
	  res/res_sip_outbound_registration.c,
	  channels/sip/config_parser.c, include/asterisk/security_events.h,
	  channels/sip/include/sip.h,
	  include/asterisk/security_events_defs.h, main/asterisk.c,
	  res/res_security_log.c, include/asterisk/acl.h,
	  res/res_sip/config_transport.c, channels/chan_sip.c,
	  main/security_events.c, channels/sip/security_events.c,
	  include/asterisk/res_sip.h: Stasis: Update security events to use
	  Stasis Also moves ACL messages to the security topic and gets rid
	  of the ACL topic (closes issue ASTERISK-21103) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2496/

2013-05-15 21:13 +0000 [r388896]  David M. Lee <dlee@digium.com>

	* res/stasis/app.c, res/stasis/app.h: Fixed inverted logic in
	  app_add_channel(). Also added some missing doc comments for
	  stasis/app.h.

2013-05-15 15:58 +0000 [r388840]  Kevin Harwell <kharwell@digium.com>

	* main/lock.c, /: Fix for segfault in __ast_rwlock_destroy with
	  DEBUG_THREADS If DEBUG_THREADS is enabled __ast_rwlock_destroy
	  causes a segfault while trying to access a possible NULL t->track
	  object. A NULL check has been added before trying to access the
	  memory. (closes issue ASTERISK-21724) Reported by: Corey Farrell
	  Fixed by: Corey Farrell Patches: ast_rwlock_destroy-segv.patch
	  uploaded by Corey Farrell (license 5909) ........ Merged
	  revisions 388838 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 388839 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-15 15:03 +0000 [r388818]  Jason Parker <jparker@digium.com>

	* apps/app_voicemail.c, /: Fix VM snapshot handling for combined
	  INBOX. The snapshot API contains an option that allow for
	  combining of new and old messages within a single snapshot. New
	  messages, however, include options beyond just 'INBOX' - it also
	  includes the Urgent folder. A previous patch that combined INBOX
	  and Urgent accidentally impacted snapshots that attempted to gain
	  messages from just the Old folder. This patch fixes the snapshot
	  gathering such that the API returns the appropriate messages for
	  the folder selected, with and without the combine option. This
	  should make it more clear about what's happening. Review:
	  https://reviewboard.asterisk.org/r/2539/ ........ Merged
	  revisions 388816 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-15 12:42 +0000 [r388770]  Kinsey Moore <kmoore@digium.com>

	* res/res_srtp.c, /, configure, include/asterisk/autoconfig.h.in,
	  configure.ac: Use srtp_shutdown when available This allows the
	  SRTP library to be shut down properly when the functionality is
	  offered by libsrtp. Review:
	  https://reviewboard.asterisk.org/r/2538/ (closes issue
	  ASTERISK-21719) ........ Merged revisions 388768 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 388769 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-15 02:37 +0000 [r388729-388751]  David M. Lee <dlee@digium.com>

	* main/named_acl.c, res/res_stasis_test.c, main/asterisk.c,
	  main/presencestate.c, main/stasis.c, main/stasis_cache.c,
	  main/stasis_endpoints.c, include/asterisk/stasis.h, main/test.c,
	  main/app.c, main/devicestate.c: Refactored the rest of the
	  message types to use the STASIS_MESSAGE_TYPE_* macros.

	* res/res_stasis_answer.c (added), res/res_stasis.c,
	  apps/app_stasis.c, res/stasis (added), include/asterisk/module.h,
	  include/asterisk/stasis_app.h, include/asterisk/stasis_app_impl.h
	  (added), res/Makefile: Break res_stasis into smaller files. When
	  implementing playback for stasis-http, the monolithicedness of
	  res_stasis really started to get in my way. This patch breaks the
	  major components of res_stasis.c into individual files. *
	  res/stasis/app.c - Stasis application tracking *
	  res/stasis/control.c - Channel control objects *
	  res/stasis/command.c - Channel command object This refactoring
	  also allows res_stasis applications to be loaded as independent
	  modules, such as the new res_stasis_answer module. The bulk of
	  this patch is simply moving code from one file to another,
	  adjusting names and adding accessors as necessary. Review:
	  https://reviewboard.asterisk.org/r/2530/

2013-05-14 19:03 +0000 [r388701]  Richard Mudgett <rmudgett@digium.com>

	* main/astobj2.c, /, include/asterisk/astobj2.h: Make ao2 global
	  objects not always use the debug version of the ao2_ref() calls.
	  The debug versions of ao2_ref() should only be used if REF_DEBUG
	  is enabled so nothing is written to /tmp/refs unexpectedly.
	  (closes issue ASTERISK-21785) Reported by: abelbeck Patches:
	  jira_asterisk_21785_v11.patch (license #5621) patch uploaded by
	  rmudgett Tested by: abelbeck ........ Merged revisions 388700
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-14 12:47 +0000 [r388668]  Kinsey Moore <kmoore@digium.com>

	* res/stasis_http/resource_recordings.h,
	  rest-api-templates/stasis_http_resource.h.mustache,
	  res/res_stasis_json_endpoints.exports.in (added),
	  res/res_stasis_json_events.exports.in (added),
	  res/res_stasis_json_channels.c (added),
	  rest-api-templates/res_stasis_http_resource.c.mustache,
	  res/stasis_http/resource_events.h,
	  res/res_stasis_json_recordings.c (added),
	  res/stasis_json/resource_bridges.h (added),
	  res/stasis_http/resource_sounds.h, res/res_stasis_json_events.c
	  (added), res/res_stasis_json_bridges.exports.in (added),
	  res/stasis_json/resource_playback.h (added),
	  res/res_stasis_json_sounds.c (added),
	  res/stasis_http/resource_asterisk.h,
	  res/stasis_json/resource_channels.h (added),
	  rest-api-templates/stasis_json_resource.h.mustache (added),
	  res/res_stasis_json_channels.exports.in (added),
	  res/stasis_json/resource_recordings.h (added),
	  res/res_stasis_json_asterisk.c (added),
	  rest-api-templates/res_stasis_json_resource.c.mustache (added),
	  res/res_stasis_json_recordings.exports.in (added),
	  res/stasis_json/resource_events.h (added),
	  res/stasis_http/resource_endpoints.h,
	  res/stasis_json/resource_sounds.h (added),
	  tests/test_res_stasis.c, res/res_stasis_json_sounds.exports.in
	  (added), res/res_stasis_json_endpoints.c (added),
	  rest-api-templates/res_stasis_json_resource.exports.mustache
	  (added), res/stasis_http/resource_bridges.h,
	  res/stasis_json/resource_asterisk.h (added),
	  res/res_stasis_http_events.c,
	  res/res_stasis_json_asterisk.exports.in (added),
	  res/res_stasis_json_playback.exports.in (added),
	  res/stasis_http/resource_playback.h,
	  res/res_stasis_json_bridges.c (added),
	  res/stasis_http/resource_channels.h, res/stasis_json (added),
	  res/stasis_json/resource_endpoints.h (added),
	  res/res_stasis_json_playback.c (added), res/res_stasis.c,
	  rest-api-templates/make_stasis_http_stubs.py: Move JSON event
	  generators into separate modules This moves the JSON event
	  generators out of the Stasis-HTTP modules and into standalone
	  JSON-related counterparts so that Stasis-HTTP and res_stasis can
	  depend on them without creating dependency cycles. This also
	  provides a future location for Swagger Model validator functions
	  once the generators for that code are written. Review:
	  https://reviewboard.asterisk.org/r/2534/

2013-05-13 21:21 +0000 [r388602-388617]  Michael L. Young <elgueromexicano@gmail.com>

	* /, main/logger.c: Fix Missing CALL-ID When Logging Through Syslog
	  The CALL-ID (ie [C-00000074]) is missing when logging to syslog.
	  This was just an oversight when this feature was added. * Add
	  CALL-IDs when using syslog (closes issue ASTERISK-21430) Reported
	  by: Nikola Ciprich Tested by: Nikola Ciprich, Michael L. Young
	  Patches: asterisk-21430-syslog-callid_trunk.diff by Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2526/ ........ Merged
	  revisions 388605 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: Fix Crash Caused By One-way Audio With
	  auto_* NAT Settings Fix The prior code committed, r385473, failed
	  to take into consideration that not all outgoing calls will be to
	  a peer. My fault. This patch does the following: * Check if there
	  is a related peer involved. If there is, check and set NAT
	  settings according to the peer's settings. * Fix a problem with
	  realtime peers. If the global setting has auto_force_rport set
	  and we issued a "sip reload" while a peer is still registered,
	  the peer's flags for NAT are reset to off. When this happens, we
	  were always setting the contact address of the peer to that of
	  the full contact info that we had. (closes issue ASTERISK-21374)
	  Reported by: jmls Tested by: Michael L. Young Patches:
	  asterisk-21374-fix-crash-and-rt-peers.diff by Michael L. Young
	  (license 5026) Review: https://reviewboard.asterisk.org/r/2524/
	  ........ Merged revisions 388601 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-13 20:37 +0000 [r388598]  Kinsey Moore <kmoore@digium.com>

	* res/res_srtp.c, /: Revert r388529 for now Adding the cleanup
	  function needs some deeper thought since it apparently doesn't
	  exist for all variants of libsrtp. ........ Merged revisions
	  388596 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 388597 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-13 19:29 +0000 [r388579]  Jonathan Rose <jrose@digium.com>

	* main/pbx.c, /: pbx: Fix lack of cleanup on macrolock and
	  context_table (closes issue ASTERISK-21723) Reported by: Corey
	  Farrell Patches: core-pbx-cleanup.patch uploaded by Correy
	  Farrell (license 5909) ........ Merged revisions 388532 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 388578 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-13 18:10 +0000 [r388531]  Kinsey Moore <kmoore@digium.com>

	* res/res_srtp.c, /: Close libsrtp properly Ensure that libsrtp is
	  shutdown properly when res_srtp is unloaded. (closes issue
	  ASTERISK-21719) Reported by: Corey Farrell Patches:
	  res_srtp-library-shutdown.patch uploaded by Corey Farrell
	  ........ Merged revisions 388529 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 388530 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-13 17:20 +0000 [r388526]  Jonathan Rose <jrose@digium.com>

	* channels/chan_gulp.c: chan_gulp: Minor readability Improvements
	  to chan_gulp (closes issue ASTERISK-21670) Reported by: Snuffy
	  Review: https://reviewboard.asterisk.org/r/2473/ Patches:
	  gulp-coding-guide.diff uploaded by snuffy (license 5024)

2013-05-13 14:28 +0000 [r388479]  Richard Mudgett <rmudgett@digium.com>

	* main/manager.c, /: Fix SendText AMI action to never return
	  non-zero. AMI actions must never return non-zero unless they
	  intend to close the AMI connection. (Which is almost never.)
	  (closes issue ASTERISK-21779) Reported by: Paul Goldbaum ........
	  Merged revisions 388477 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 388478 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-10 22:12 +0000 [r388427]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/misdn/isdn_msg_parser.c: Allow mISDN to send PROGRESS
	  messsage. * Made isdn_msg_parser.c build a progress message with
	  the mandatory progress indicator IE. (The mISDNuser NT state
	  machine rejected sending the incomplete message.) Note: The
	  associated mISDN and mISDNuser patches respectively are viewable
	  here: http://svnview.digium.com/svn/thirdparty?view=rev&rev=200
	  http://svnview.digium.com/svn/thirdparty?view=rev&rev=201 (closes
	  issue AST-1153) Reported by: Guenther Kelleter Patches:
	  progress-chan_misdn.diff (license #6372) patch uploaded by
	  Guenther Kelleter progress-misdn.diff (license #6372) mISDN patch
	  uploaded by Guenther Kelleter progress-misdnuser.diff (license
	  #6372) mISDNuser patch uploaded by Guenther Kelleter ........
	  Merged revisions 388425 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 388426 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-10 20:50 +0000 [r388380]  Mark Michelson <mmichelson@digium.com>

	* /, pbx/pbx_dundi.c: Fix memory leak in pbx_dundi pbx_dundi added
	  an io context without removing it. This caused a memory leak when
	  the module was unloaded. (closes ASTERISK-21718) Reported by
	  Corey Farrell Patches: pbx_dundi-ast_io_remove.patch uploaded by
	  Corey Farrell (License #5909) ........ Merged revisions 388376
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 388378 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-10 20:28 +0000 [r388375]  Michael L. Young <elgueromexicano@gmail.com>

	* res/res_config_odbc.c: Fix Finding Extensions With Patterns Using
	  ODBC Realtime After the merge of support for the realtime sorcery
	  module, extensions that contained a pattern were not being found
	  through odbc realtime. It was tracked down to this one line that
	  was advancing to the next variable list before it should have
	  been. The removal of this one line fixes this. Tested this fix on
	  my machine. Received confirmation that this is the right fix from
	  file on IRC.

2013-05-10 17:12 +0000 [r388318-388350]  David M. Lee <dlee@digium.com>

	* res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
	  res/res_stasis_http_recordings.c,
	  res/res_stasis_http_endpoints.c, main/loader.c,
	  res/res_stasis_http_events.c, res/res_stasis_http_sounds.c,
	  res/res_stasis_http_bridges.c, res/res_stasis_http.c,
	  res/res_stasis.c, apps/app_stasis.c,
	  res/res_stasis_http_asterisk.c,
	  rest-api-templates/res_stasis_http_resource.c.mustache,
	  res/res_stasis_http_playback.c, res/res_stasis_websocket.c,
	  tests/test_res_stasis.c: Address unload order issues for
	  res_stasis* modules I've noticed when doing a graceful shutdown
	  that the res_stasis_http.so module gets unloaded before the
	  modules that use it, which causes some asserts during their
	  unload. While r386928 was a quick hack to get it to not assert
	  and die, this patch increases the use counts on res_stasis.so and
	  res_stasis_http.so properly. It's a bigger change than I
	  expected, hence the review instead of just committing it. Review:
	  https://reviewboard.asterisk.org/r/2489/

	* include/asterisk/stasis.h: Avoided __ast names for the private
	  variables created by the STASIS_MESSAGE_TYPE_*() macros.

2013-05-10 13:13 +0000 [r388275]  Kinsey Moore <kmoore@digium.com>

	* rest-api-templates/event_function_decl.mustache (added),
	  res/stasis_http/resource_sounds.h, CHANGES,
	  res/res_stasis_http_events.c, include/asterisk/stasis_channels.h,
	  main/stasis_channels.c, rest-api-templates/swagger_model.py,
	  res/res_stasis.c, main/manager_channels.c,
	  rest-api-templates/stasis_http_resource.h.mustache,
	  res/stasis_http/resource_recordings.h,
	  rest-api-templates/asterisk_processor.py,
	  rest-api-templates/res_stasis_http_resource.c.mustache,
	  res/stasis_http/resource_endpoints.h,
	  rest-api/api-docs/events.json, res/stasis_http/resource_events.h,
	  res/res_stasis_websocket.c, apps/app_userevent.c: Add channel
	  events for res_stasis apps This change adds a framework in
	  res_stasis for handling events from channel topics. JSON event
	  generation and validation code is created from event
	  documentation in rest-api/api-docs/events.json to assist in JSON
	  event generation, ensure consistency, and ensure that accurate
	  documentation is available for ALL events that are received by
	  res_stasis applications. The userevent application has been
	  refactored along with the code that handles userevent channel
	  blob events to pass the headers as key/value pairs in the JSON
	  blob. As a side-effect, app_userevent now handles duplicate keys
	  by overwriting the previous value. Review:
	  https://reviewboard.asterisk.org/r/2428/ (closes issue
	  ASTERISK-21180) Patch-By: Kinsey Moore <kmoore@digium.com>

2013-05-10 11:47 +0000 [r388254]  Sean Bright <sean@malleable.com>

	* /, channels/chan_sip.c: Fix copy/paste error in
	  one-touch-recording implementation. ........ Merged revisions
	  388253 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-09 14:41 +0000 [r388175]  Matthew Jordan <mjordan@digium.com>

	* apps/app_userevent.c: Don't expect to pack three tuples when you
	  only have two

2013-05-09 04:11 +0000 [r388110-388113]  Michael L. Young <elgueromexicano@gmail.com>

	* res/res_rtp_asterisk.c, /: Fix The Payload Being Set On CN
	  Packets And Do Not Set Marker Bit When we send out a CN packet
	  (for instance, in the case of using rtpkeepalives), we are not
	  setting the payload code properly. Also, we are setting the
	  marker bit when we shouldn't be according to RFC 3389, section 4.
	  AST_RTP_CN is not defined by AST_FORMAT codes. Therefore, we
	  should be using ast_rtp_codecs_payload_code() rather than
	  ast_rtp_codecs_payload_lookup(). 11 and trunk already use the
	  appropriate function. * In 1.8, use ast_rtp_codecs_payload_code()
	  * Remove the setting of the marker bit * Fix the debug message by
	  incrementing the seqno after the debug message is set in order to
	  display the correct seqno that was sent out (closes issue
	  ASTERISK-21246) Reported by: Peter Katzmann Tested by: Peter
	  Katzmann, Michael L. Young Patches:
	  asterisk-21246-rtp-cng-payload-error_1.8_v2.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2500/ ........ Merged
	  revisions 388111 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 388112 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_queue.c: Fix Segfault In app_queue When
	  "persistentmembers" Is Enabled And Using Realtime When the
	  "ignorebusy" setting was deprecated, we added some code to allow
	  us to be compatible with older setups that are still using the
	  "ignorebusy" setting instead of "ringinuse". We set a char
	  *variable with the column name to use, which helps the realtime
	  functions to use the correct column in their SQL queries. When
	  "persistentmembers" is enabled, we are not setting this variable
	  before the realtime functions were called to load members. This
	  results in the variable being NULL and therefore causing a
	  segfault when loading members during the module's process of
	  loading. The solution was to move the code that sets that
	  variable to be before these realtime functions are called during
	  the loading of the module. (closes issue ASTERISK-21738) Reported
	  by: JoshE Tested by: JoshE Patches:
	  asterisk-21738-rt-ringinuse-field-not-set.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2499/ ........ Merged
	  revisions 388108 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-08 22:00 +0000 [r388014-388075]  David M. Lee <dlee@digium.com>

	* res/res_stasis_websocket.c: Fixed MODFLAG for
	  res_stasis_websocket

	* build_tools/cflags.xml, include/asterisk/inline_api.h: Add
	  development flag to disable the inline API. A GCC bug[1] can, in
	  some cases, pop up an unsuppressible pedwarn when using a static
	  inline standard library function from a non-static inline
	  function. This normally doesn't show up, but can occur if you're
	  running an upgrade version of GCC (such as GCC 4.8 on OS X, which
	  normally runs GCC 4.2). [1]:
	  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816

	* main/srv.c, main/enum.c: Removed #if checks for crazy old
	  versions of OS X. The <arpa/nameser_compat.h> was introduced way
	  back in OS X Panther, which itself was end-of-lifed back in 2007.
	  We can assume that any OS X machine we build on will need that
	  header file :-) Why bother removing it? The flag we're checking
	  (__APPLE_CC__) is actually Apple's build number. Self-compiled
	  versions of GCC (such as installing the latest version of GCC
	  from homebrew) sets the value to 0, making it useless for this
	  sort of compile flaggery.

	* tests/test_stasis_endpoints.c: Fixed set-but-not-used warning
	  caught by newer GCC

2013-05-08 18:36 +0000 [r388008]  Matthew Jordan <mjordan@digium.com>

	* apps/app_directory.c: Don't perform a realtime lookup with a NULL
	  keyword Previously, a call to ast_load_realtime_multientry could
	  get away with passing a NULL parameter to the function, even
	  though it really isn't supposed to do that. After the change over
	  to using ast_variable instead of variadic arguments, the realtime
	  engine gets unhappy if you do this. This was always an unintended
	  function call in app_directory anyway - now, we just don't call
	  into the realtime function calls if we don't have anything to
	  query on.

2013-05-08 18:34 +0000 [r388005]  David M. Lee <dlee@digium.com>

	* main/stasis_channels.c, res/res_stasis.c,
	  main/manager_channels.c, main/channel.c,
	  include/asterisk/stasis_channels.h, tests/test_stasis_channels.c,
	  apps/app_userevent.c, include/asterisk/stasis.h: Remove required
	  type field from channel blobs When we first introduced the
	  channel blob types, the JSON blobs were self identifying by a
	  required "type" field in the JSON object itself. This, as it
	  turns out, was a bad idea. When we introduced the message router,
	  it was useless for routing based on the JSON type. And messages
	  had two type fields to check: the stasis_message_type() of the
	  message itself, plus the type field in the JSON blob (but only if
	  it was a blob message). This patch corrects that mistake by
	  removing the required type field from JSON blobs, and introducing
	  first class stasis_message_type objects for the actual message
	  type. Since we now will have a proliferation of message types, I
	  introduced a few macros to help reduce the amount of boilerplate
	  necessary to set them up. Review:
	  https://reviewboard.asterisk.org/r/2509

2013-05-08 16:58 +0000 [r387974]  Richard Mudgett <rmudgett@digium.com>

	* utils: Add version.c to list of ignored files in the utils
	  directory.

2013-05-08 13:39 +0000 [r387932]  David M. Lee <dlee@digium.com>

	* tests/test_endpoints.c (added),
	  include/asterisk/stasis_endpoints.h (added),
	  res/res_stasis_test.c (added),
	  res/stasis_http/resource_endpoints.c, channels/sip/include/sip.h,
	  main/asterisk.c, rest-api/api-docs/endpoints.json,
	  res/stasis_http/resource_endpoints.h, main/stasis_cache.c,
	  main/stasis_endpoints.c (added), channels/chan_sip.c,
	  include/asterisk/endpoints.h (added), include/asterisk/astobj2.h,
	  main/channel_internal_api.c, include/asterisk/stasis_test.h
	  (added), include/asterisk/stasis.h, main/endpoints.c (added),
	  main/astobj2.c, res/res_stasis_http_endpoints.c,
	  tests/test_stasis_endpoints.c (added),
	  res/res_stasis_test.exports.in (added): Initial support for
	  endpoints. An endpoint is an external device/system that may
	  offer/accept channels to/from Asterisk. While this is a very
	  useful concept for end users, it is surprisingly not a core
	  concept within Asterisk itself. This patch defines ast_endpoint
	  as a separate object, which channel drivers may use to expose
	  their concept of an endpoint. As the channel driver creates
	  channels, it can use ast_endpoint_add_channel() to associate
	  channels to the endpoint. This updated the endpoint
	  appropriately, and forwards all of the channel's events to the
	  endpoint's topic. In order to avoid excessive locking on the
	  endpoint object itself, the mutable state is not accessible via
	  getters. Instead, you can create a snapshot using
	  ast_endpoint_snapshot_create() to get a consistent snapshot of
	  the internal state. This patch also includes a set of topics and
	  messages associated with endpoints, and implementations of the
	  endpoint-related RESTful API. chan_sip was updated to create
	  endpoints with SIP peers, but the state of the endpoints is not
	  updated with the state of the peer. Along for the ride in this
	  patch is a Stasis test API. This is a stasis_message_sink object,
	  which can be subscribed to a Stasis topic. It has functions for
	  blocking while waiting for conditions in the message sink to be
	  fulfilled. (closes issue ASTERISK-21421) Review:
	  https://reviewboard.asterisk.org/r/2492/

2013-05-08 07:21 +0000 [r387885]  Alec L Davis <sivad.a@paradise.net.nz>

	* /, channels/chan_sip.c: chan_sip: NOTIFYs for BLF start queuing
	  up and fail to be sent out after retries fail RFC6665 4.2.2: ...
	  after a failed State NOTIFY transaction remove the subscription
	  The problem is that the State Notify requests rely on the 200OK
	  reponse for pacing control and to not confuse the notify
	  susbsystem. The issue is, the pendinginvite isn't cleared if a
	  response isn't received, thus further notify's are never sent.
	  The solution, follow RFC 6665 4.2.2's 'SHOULD' and remove the
	  subscription after failure. (closes issue ASTERISK-21677)
	  Reported by: Dan Martens Tested by: alecdavis alecdavis (license
	  585) Review https://reviewboard.asterisk.org/r/2475/ ........
	  Merged revisions 387875 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387880 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-07 18:32 +0000 [r387803-387825]  David M. Lee <dlee@digium.com>

	* include/asterisk/lock.h: Fixed up \example marker in lock.h
	  Doxygen comment. The \example tags marks an entire file as an
	  example, not a code snippet.

	* res/res_config_pgsql.c, main/manager.c, /: Minor fixups to
	  Doxygen comments. The \example tags marks an entire file as an
	  example, not a code snippet. ........ Merged revisions 387823
	  from http://svn.asterisk.org/svn/asterisk/branches/11

	* include/asterisk/json.h: Better explained the depths of reference
	  stealing.

2013-05-07 17:53 +0000 [r387802]  Jason Parker <jparker@digium.com>

	* include/asterisk.h: Fix build breakage, from LOW_MEMORY fix.

2013-05-06 17:15 +0000 [r387740-387741]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/astobj2.h: Update ao2_destructor_fn doxygen.

	* channels/chan_dahdi.c: Make a log NOTICE more explicit that the
	  event comes from DAHDI and not PRI.

2013-05-06 17:01 +0000 [r387738]  Jason Parker <jparker@digium.com>

	* main/asterisk.c: Fix building with LOW_MEMORY defined.

2013-05-06 15:58 +0000 [r387690]  Russell Bryant <russell@russellbryant.com>

	* /, apps/app_meetme.c: Make SLA reload more paranoid. Reload
	  support was originally not included for SLA. It was added later,
	  but in a fairly non-traditional way. It basically sets a flag
	  indicating that a reload is pending, and then waits for a time
	  where it thinks everything SLA related is idle and unused, and
	  *then* executes the reload. It does this because the reload
	  process is destructive. It starts by throwing everything away and
	  starting over. There are a number of problems with this approach.
	  One of them is that the check to see if anything in use was
	  incomplete. This patch makes it more complete and thus less
	  likely for a crash to occur during reload processing. However,
	  this approach still has problems so some much more significant
	  reworking of this code will need to come in as a next step. Patch
	  credit and testing by CoreDial, LLC. ........ Merged revisions
	  387688 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 387689 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-06 13:04 +0000 [r387662]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/sorcery.h, res/res_sorcery_astdb.c,
	  tests/test_sorcery.c, main/sorcery.c: Add support for observers
	  and JSON objectset creation to sorcery. This change adds the
	  ability for modules to add themselves as observers to sorcery
	  object types. Observers can be notified when objects are created,
	  updated, or deleted as well as when the object type is loaded or
	  reloaded. Observer notifications are done using a thread pool in
	  a serialized fashion so the caller of the sorcery API calls is
	  minimally impacted. This also adds the ability to create JSON
	  changesets of a sorcery object. Tests are also present to confirm
	  all of the above functionality. Review:
	  https://reviewboard.asterisk.org/r/2477/

2013-05-04 16:00 +0000 [r387630-387633]  Matthew Jordan <mjordan@digium.com>

	* main/asterisk.c, include/asterisk.h: Clean up documentation;
	  prevent ref leak on exit This patch: * Cleans up some doxygen *
	  Prevents leaking the system level Stasis topics and messages on
	  exit (users of valgrind will be happier)

	* funcs/func_global.c: Migrate SHARED's use of the VarSet AMI event
	  to Stasis-Core This patch removes the direct call to AMI from the
	  SHARED function and instead call Stasis-Core. Stasis-Core
	  delivers the notification that a shared variable has changed on a
	  channel to all interested consumers. (issue ASTERISK-21462)

2013-05-03 18:03 +0000 [r387594]  Jonathan Rose <jrose@digium.com>

	* main/asterisk.c, include/asterisk.h, channels/chan_sip.c,
	  res/res_stun_monitor.c, main/event.c, channels/chan_iax2.c:
	  Stasis: Convert network change events into network change stasis
	  messages (issue ASTERISK-21103) Review:
	  https://reviewboard.asterisk.org/r/2490/

2013-05-03 11:35 +0000 [r387545]  Joshua Colp <jcolp@digium.com>

	* res/res_sip_sdp_rtp.c, channels/chan_gulp.c: Use the configured
	  formats for Gulp sessions if there are no joint formats between
	  requested formats and configured formats. (closes issue
	  ASTERISK-21756)

2013-05-02 20:59 +0000 [r387519]  Matthew Jordan <mjordan@digium.com>

	* build_tools/post_process_documentation.py, apps/app_stack.c:
	  Migrate AMI VarSet events raised by GoSub local variables This
	  patch moves VarSet events for local variables raised by GoSub
	  over to Stasis-Core. It also tweaks up the post-processing
	  documentation scripts to not combine parameters if both
	  parameters are already documented. (issue ASTERISK-21462)

2013-05-02 19:06 +0000 [r387482]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c: Remove the ABI compatability ast_channel_alloc().
	  It is no longer needed.

2013-05-02 17:15 +0000 [r387423]  Matthew Jordan <mjordan@digium.com>

	* utils/Makefile, /: Update utils Makefile to handle r387294 Alec's
	  patch that added the Asterisk version to 'core show locks'
	  angered the items in utils, as they exist somewhat outside of the
	  Asterisk build system. Some day, this Makefile should get nuked
	  from high orbit, but for now, include version.c in its list of
	  stuff to pile in. ........ Merged revisions 387421 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387422 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-02 16:39 +0000 [r387420]  Jonathan Rose <jrose@digium.com>

	* include/asterisk/event_defs.h, main/event.c: Putting all event
	  defs and names back for now due to res_corosync dependency

2013-05-02 08:24 +0000 [r387296-387369]  Alec L Davis <sivad.a@paradise.net.nz>

	* /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
	  Session-Expires: Set timer to correctly expire at (~2/3) of the
	  interval when not the refresher RFC 4028 Section 10 if the side
	  not performing refreshes does not receive a session refresh
	  request before the session expiration, it SHOULD send a BYE to
	  terminate the session, slightly before the session expiration.
	  The minimum of 32 seconds and one third of the session interval
	  is RECOMMENDED. Prior to this asterisk would refresh at 1/2 the
	  Session-Expires interval, or if the remote device was the
	  refresher, asterisk would timeout at interval end. Now, when not
	  refresher, timeout as per RFC noted above. (closes issue
	  ASTERISK-21742) Reported by: alecdavis Tested by: alecdavis
	  alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2488/ ........ Merged
	  revisions 387344 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387345 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: chan_sip: Honor Session-Expires in 200OK
	  response when it's a RE-INVITE when asterisk is the refresher.
	  RFC 4028 Section 7.2 "UACs MUST be prepared to receive a
	  Session-Expires header field in a response, even if none were
	  present in the request." What changed After ASTERISK-20787,
	  inbound calls to asterisk with no Session-Expires in the INVITE
	  are now are offered a Session-Expires (1800 asterisk default) in
	  the response, with asterisk as the refresher. Symptom: After 900
	  seconds (asterisk default refresher period 1800), asterisk
	  RE-INVITEs the device, the device may respond with a much lower
	  Session-Expires (180 in our case) value that it is now using.
	  Asterisk ignores this response, as it's deemed both an INBOUND
	  CALL, and a RE-INVITE. After 180 seconds the device times out and
	  sends BYE (hangs up), asterisk is still working with the
	  refresher period of 1800 as it ignored the 'Session Expires: 180'
	  in the previous 200OK response. Fix: handle_response_invite()
	  when 200OK, remove check for outbound and reinvite. (closes issue
	  ASTERISK-21664) Reported by: alecdavis Tested by: alecdavis
	  alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2463/ ........ Merged
	  revisions 387312 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387319 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_dahdi.c, /: chan_dahdi: fix lower bound check with
	  -ve integer conversion from a float Lower bound of a 16bit signed
	  int is -32768 not -32767 (closes issue ASTERISK-21744) Reported
	  by: alecdavis Tested by: alecdavis alecdavis (license 585)
	  ........ Merged revisions 387297 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387298 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/utils.c: Add Asterisk Version to core show locks Assist
	  with reporting 'core show locks' when submitting bug reports.
	  Example below: =========================== == SVN-branch-1.8-...
	  == Currently Held Locks =========================== (closes issue
	  ASTERISK-21743) Reported by: alecdavis Tested by: alecdavis
	  alecdavis (license 585) ........ Merged revisions 387294 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387295 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-01 21:55 +0000 [r387260-387261]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_local.c: Simplify
	  chan_local.c:manager_optimize_away() using ao2_find().

	* channels/chan_local.c: Cleanup chan_local.c:local_new(). * Remove
	  t and ama local variables. There is no way they could be anything
	  other than default because p->owner can only be NULL at this
	  point. * Rename tmp and tmp2 to owner and chan respectively. *
	  Remove redundant initialization of channel context, exten,
	  priority.

2013-05-01 21:18 +0000 [r387220]  Matthew Jordan <mjordan@digium.com>

	* res/res_rtp_asterisk.c, /: Clear the DTMF sending digit tracking
	  on off nominal paths In certain situations, when the RTP engine
	  goes to send a DTMF end digit it may be in a situation where the
	  remote address is no longer available, or the digit that was
	  supposed to be sent is invalid. In such cases, we need to clear
	  the RTP counters appropriately. Otherwise, when the RTP source is
	  set again, we'll continue to think that we're in the middle of
	  sending a DTMF digit, which can confuse the remote party
	  (signficantly). (closes issue ASTERISK-21522) Reported by: Corey
	  Farrell patches: rtp_dtmf_process_end.patch uploaded by Corey
	  Farrell (License 5909) ........ Merged revisions 387213 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387216 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-01 21:09 +0000 [r387181-387212]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_local.c: Trivial changes. Comments, parentheses,
	  spelling, wording.

	* channels/chan_local.c: Make chan_local locals container an
	  explicit list container. Pretending that chan_local locals
	  container can have more than one bucket is silly. The container
	  has no key to help search.

	* channels/chan_local.c: Whitespace changes.

	* main/loader.c: Make mod_load_cmp() not as klunky. There is a
	  reason the heap comparison functions like qsort(), and other
	  comparison functions specify <0, >0, and =0 for the return
	  values.

	* channels/chan_unistim.c: Remove some unnecessary calls to
	  ast_bridged_channel() in chan_unistim.c

	* channels/chan_mgcp.c: Remove some unnecessary calls to
	  ast_bridged_channel() in chan_mgcp.c

	* channels/chan_skinny.c: Remove some unnecessary calls to
	  ast_bridged_channel() in chan_skinny.c

	* channels/chan_iax2.c: Remove some unnecessary calls to
	  ast_bridged_channel() in chan_iax2.c

	* channels/chan_dahdi.c, channels/sig_analog.c: Remove some
	  unnecessary calls to ast_bridged_channel() in
	  chan_dahdi.c/sig_analog.c

2013-05-01 18:38 +0000 [r387135]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: Prevent crash in 'sip show peers' when
	  the number of peers on a system is large When you have lots of
	  SIP peers (according to the issue reporter, around 3500), the
	  'sip show peers' CLI command or AMI action can crash due to a
	  poorly placed string duplication that occurs on the stack. This
	  patch refactors the command to not allocate the string on the
	  stack, and handles the formatting of a single peer in a separate
	  function call. (closes issue ASTERISK-21466) Reported by:
	  Guillaume Knispel patches:
	  fix_sip_show_peers_stack_overflow_asterisk_11.3.0-v2.patch
	  uploaded by gknispel (License 6492) ........ Merged revisions
	  387134 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-05-01 17:15 +0000 [r387108]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c: Move some annoying chan_dahdi debug
	  messages to level 5.

2013-04-30 22:50 +0000 [r387039]  Matthew Jordan <mjordan@digium.com>

	* main/features.c, /: Fix CDR not being created during an
	  externally initiated blind transfer Way back when in the dark
	  days of Asterisk 1.8.9, blind transferring a call in a context
	  that included the 'h' extension would inadvertently execute the
	  hangup code logic on the transferred channel. This was a "bad
	  thing". The fix was to properly check for the softhangup flags on
	  the channel and only execute the 'h' extension logic (and, in
	  later versions, hangup handler logic) if the channel was well and
	  truly dead (Jim). Unfortunately, CDRs are fickle. Setting the
	  softhangup flag when we detected that the channel was leaving the
	  bridge (but not to die) caused some crucial snippet of CDR code,
	  lying in ambush in the middle of the bridging code, to not get
	  executed. This had the effect of blowing away one of the CDRs
	  that is typically created during a blind transfer. While we live
	  and die by the adage "don't touch CDRs in release branches", this
	  was our bad. The attached patch restores the CDR behavior, and
	  still manages to not run the 'h' extension during a blind
	  transfer (at least not when it's supposed to). Thanks to Steve
	  Davies for diagnosing this and providing a fix. Review:
	  https://reviewboard.asterisk.org/r/2476 (closes issue
	  ASTERISK-21394) Reported by: Ishfaq Malik Tested by: Ishfaq
	  Malik, mjordan patches: fix_missing_blindXfer_cdr2 uploaded by
	  one47 (License 5012) ........ Merged revisions 387036 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 387038 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-30 22:37 +0000 [r387035-387037]  Jonathan Rose <jrose@digium.com>

	* main/event.c, include/asterisk/json.h, channels/chan_iax2.c,
	  main/named_acl.c, include/asterisk/acl.h, main/json.c,
	  main/manager.c, channels/chan_sip.c,
	  include/asterisk/event_defs.h: Stasis Core: Refactor ACL Change
	  events to go out over the stasis core msg bus (issue
	  ASTERISK-21103) Reported by: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2481/

	* /, main/event.c: Add forgotten event types to event_names array
	  ........ Merged revisions 387030 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-30 18:12 +0000 [r386990]  Jason Parker <jparker@digium.com>

	* channels/chan_gulp.c: Fix a log message.

2013-04-30 13:48 +0000 [r386931]  Sean Bright <sean@malleable.com>

	* include/asterisk/utils.h, /: Use the proper lower bound when
	  doing saturation arithmetic. 16 bit signed integers have a range
	  of [-32768, 32768). The existing code was using the interval
	  (-32768, 32768) instead. This patch fixes that. Review:
	  https://reviewboard.asterisk.org/r/2479/ ........ Merged
	  revisions 386929 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 386930 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-30 13:37 +0000 [r386928]  David M. Lee <dlee@digium.com>

	* tests/test_stasis_http.c, res/res_stasis_http.c: Just a couple of
	  Stasis-HTTP nitpick fixes. * Fixed crash when res_stasis_http is
	  unloaded before the implementation modules. * Cleaned up test
	  initialization for test_stasis_http.so.

2013-04-29 23:36 +0000 [r386879]  Rusty Newton <rnewton@digium.com>

	* sounds/Makefile, /: Modifying sounds/Makefile to pull down 1.4.24
	  core sounds 1.4.24 core sounds includes a full set of Italian
	  prompts for core sounds and a fix for the missing voicemail
	  prompts in the Russian language. (closes issue ASTERISK-19431)
	  (closes issue ASTERISK-19721) ........ Merged revisions 386877
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 386878 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-29 13:38 +0000 [r386793-386841]  Olle Johansson <oej@edvina.net>

	* /, CHANGES, apps/app_queue.c: Play periodic prompts for first
	  call in a call queue Review:
	  https://reviewboard.asterisk.org/r/2263/ ........ Merged
	  revisions 386792 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 386794 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* include/asterisk/doxygen/commits.h: Change pointer to existing
	  wiki page instead of non-existing page

2013-04-28 03:32 +0000 [r386774]  Kinsey Moore <kmoore@digium.com>

	* rest-api-templates/swagger_model.py: Fix spelling error in python
	  doc

2013-04-27 19:03 +0000 [r386731-386760]  Joshua Colp <jcolp@digium.com>

	* res/res_sip.c: Tweak res_sip priority so it gets loaded first
	  before all other SIP stuff.

	* res/res_config_sqlite.c: Update res_config_sqlite to use the
	  ast_variable lists.

	* CHANGES, res/res_config_ldap.c, main/config.c,
	  tests/test_sorcery_realtime.c (added), main/sorcery.c,
	  res/res_sorcery_realtime.c (added), addons/res_config_mysql.c,
	  res/res_config_sqlite3.c, res/res_config_curl.c,
	  res/res_config_pgsql.c, res/res_config_odbc.c,
	  include/asterisk/config.h: Add support for a realtime sorcery
	  module. This change does the following: 1. Adds the sorcery
	  realtime module 2. Adds unit tests for the sorcery realtime
	  module 3. Changes the realtime core to use an ast_variable list
	  instead of variadic arguments 4. Changes all realtime drivers to
	  accept an ast_variable list Review:
	  https://reviewboard.asterisk.org/r/2424/

2013-04-26 21:52 +0000 [r386685-386686]  Matthew Jordan <mjordan@digium.com>

	* res/res_sip_nat.c, res/res_sip_registrar.c,
	  res/res_sip_dtmf_info.c,
	  res/res_sip_outbound_authenticator_digest.c,
	  res/res_sip_rfc3326.c, res/res_sip_outbound_registration.c,
	  res/res_sip_endpoint_identifier_ip.c,
	  res/res_sip_endpoint_identifier_constant.c, res/res_sip_mwi.c,
	  res/res_sip_acl.c, res/res_sip_logger.c,
	  res/res_sip_endpoint_identifier_user.c, res/res_sip_pubsub.c: Add
	  missing module dependencies to various res_sip* modules This
	  patch updates the various res_sip modules with their proper
	  menuselect options and proper dependencies, such that Asterisk
	  still has a snowball's chance in hell of compiling without
	  pjproject. Much thanks to snuffy(-home|-work) for making
	  everyone's life easier with this patch. Review:
	  https://reviewboard.asterisk.org/r/2472/ (closes issue
	  ASTERISK-21669) Reported by: snuffy patches: xml-depends.diff
	  uploaded by snuffy (license 5024)

	* /, main/config.c: Clean up memory leak in config file on off
	  nominal paths when glob is allowed If a system allows for its
	  usage, Asterisk will use glob to help parse Asterisk .conf files.
	  The config file loading routine was leaking the memory allocated
	  by the glob() routine when the config file was in an unmodified
	  or invalid state. This patch properly calls globfree in those off
	  nominal paths. (closes issue ASTERISK-21412) Reported by: Corey
	  Farrell patches: config_glob_leak.patch uploaded by Corey Farrell
	  (license 5909) ........ Merged revisions 386672 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 386677 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-26 21:31 +0000 [r386684]  David M. Lee <dlee@digium.com>

	* main/loader.c: By popular demand, putting the
	  about-to-load-module printf back. But now it only prints during
	  the initial startup, and prints at verbose 1 level.

2013-04-26 21:27 +0000 [r386676]  Matthew Jordan <mjordan@digium.com>

	* /, main/features.c: Clean up resources in features on exit This
	  patch cleans up two things features: * It properly unregisters
	  the CLI commands that features registered * It cancels and
	  performs a pthread_join on the created parking thread. This not
	  only properly joins a non-detached thread, but also prevents
	  disposing of the parking lots prior to the parking thread
	  completely exiting. (closes issue ASTERISK-21407) Reported by:
	  Corey Farrell patches: features_shutdown-r2.patch uploaded by
	  Corey Farrell (License 5909) ........ Merged revisions 386641
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 386642 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-26 21:00 +0000 [r386640]  David M. Lee <dlee@digium.com>

	* main/loader.c: Removing stray printf from r386540

2013-04-26 20:32 +0000 [r386638]  Mark Michelson <mmichelson@digium.com>

	* main/uuid.c: Add an \extref doxygen pointer for libuuid. Thanks
	  to Olle Johansson for suggesting this.

2013-04-26 20:05 +0000 [r386623-386624]  David M. Lee <dlee@digium.com>

	* res/res_chan_stats.c (added), res/res_statsd.exports.in (added),
	  configs/statsd.conf.sample (added), include/asterisk/utils.h,
	  include/asterisk/statsd.h (added), res/res_statsd.c (added):
	  Example of how to use the Stasis message bus In order to get
	  people familiar with the Stasis message bus, it would be useful
	  to have something of a tutorial. Since I'm not clever enough to
	  think of some cool integration we could do with Twitter, I
	  settled for something that might actually be useful. This patch
	  adds a res_statsd.so module, which implements a basic statsd[1]
	  client. Statsd is a very simple statistics gathering server,
	  which can publish its results to a backend graphing engine, like
	  Graphite[2]. There are several different Statsd server
	  implementations[3], so you can pick what works best for your
	  environment. The actual example of how to use the Stasis message
	  bus is in res_chan_stats.so. This module demonstrates how to use
	  subscriptions and the message router by monitoring messages and
	  posting channels stats to the statsd server. A wiki page walking
	  through res_chan_stats.so is forthcoming. [1]:
	  https://github.com/etsy/statsd/ [2]:
	  http://graphite.readthedocs.org/en/latest/ [3]:
	  http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/
	  Review: https://reviewboard.asterisk.org/r/2460/

	* res/res_sip: Ignore *.[oi] files in res/res_sip

2013-04-25 21:32 +0000 [r386577]  Joshua Colp <jcolp@digium.com>

	* configs/res_sip.conf.sample: Don't bind to anything in the sample
	  configuration so we don't clash with chan_sip on a "make samples"
	  right now.

2013-04-25 18:28 +0000 [r386540-386541]  Mark Michelson <mmichelson@digium.com>

	* /: REmove automerge properties.

	* res/res_sip/sip_options.c, res/res_sip_pubsub.exports.in (added),
	  res/res_sip_rfc3326.c (added), res/res_sip_mwi.c (added),
	  main/sorcery.c, res/res_sip (added),
	  include/asterisk/threadpool.h, res/res_sip_registrar.c (added),
	  res/res_sip/sip_distributor.c, res/res_sip/config_auth.c,
	  include/asterisk/res_sip_session.h (added),
	  res/res_sip_endpoint_identifier_ip.c (added), channels/Makefile,
	  tests/test_sorcery.c, res/res_sip/config_domain_aliases.c,
	  res/res_sip_endpoint_identifier_user.c (added), res/res_sip.c
	  (added), include/asterisk/res_sip_pubsub.h (added),
	  include/asterisk/sorcery.h,
	  res/res_sip_outbound_authenticator_digest.c (added),
	  res/res_sip/location.c, res/res_sip_outbound_registration.c
	  (added), res/res_sip_endpoint_identifier_constant.c (added),
	  res/res_sip_acl.c (added), res/res_sip_pubsub.c (added),
	  res/res_sorcery_config.c, res/res_sip/config_transport.c,
	  configs/res_sip.conf.sample (added),
	  res/res_sip/sip_configuration.c, /,
	  include/asterisk/autoconfig.h.in, include/asterisk/res_sip.h
	  (added), res/res_sip_dtmf_info.c (added),
	  res/res_sip/include/res_sip_private.h, res/res_sip.exports.in
	  (added), main/threadpool.c, res/Makefile,
	  res/res_sip_authenticator_digest.c (added), main/taskprocessor.c,
	  res/res_sip_session.exports.in (added), main/astobj2.c,
	  res/res_sip_sdp_rtp.c (added), res/res_sip/sip_outbound_auth.c,
	  main/loader.c, channels/chan_gulp.c (added),
	  res/res_sip_caller_id.c (added), res/res_sip_logger.c (added),
	  res/res_sip/include, res/res_sip_nat.c (added), configure,
	  res/res_sip_session.c (added): Merge the pimp_my_sip branch into
	  trunk. The pimp_my_sip branch is being merged at this point
	  because it offers basic functionality, and from an API
	  standpoint, things are complete. SIP work is *not*
	  feature-complete; however, with the completion of the
	  SUBSCRIBE/NOTIFY API, all APIs (except a PUBLISH API) have been
	  created, and thus it is possible for developers to attempt to
	  create new SIP work. API documentation can be found in the
	  doxygen in the code, but usability documentation is still
	  lacking.

2013-04-25 03:04 +0000 [r386485-386487]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix Displaying Symmetric RTP Global
	  Setting * Use comedia_string() to display correctly the symmetric
	  rtp setting when running "sip show settings" ........ Merged
	  revisions 386486 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: Change Case On Forcerport For Consistency
	  * Change "ForcerPort" to "Forcerport" to match everywhere else it
	  is displayed ........ Merged revisions 386483 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 386484 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-24 21:47 +0000 [r386461-386462]  David M. Lee <dlee@digium.com>

	* res/stasis_http/resource_bridges.h,
	  res/stasis_http/resource_recordings.h,
	  rest-api-templates/stasis_http_resource.h.mustache,
	  res/stasis_http/resource_endpoints.h,
	  res/stasis_http/resource_events.h,
	  res/stasis_http/resource_asterisk.h,
	  res/stasis_http/resource_playback.h,
	  res/stasis_http/resource_channels.h,
	  res/stasis_http/resource_sounds.h: Document JSON models in
	  resource_*.h

	* rest-api-templates/swagger_model.py: Oops. Mustache doesn't like
	  dictionaries

2013-04-23 20:18 +0000 [r386375]  Richard Mudgett <rmudgett@digium.com>

	* apps/confbridge/conf_config_parser.c, apps/app_confbridge.c:
	  confbridge: Make search the conference bridges container using
	  OBJ_KEY. * Make confbridge config parsing user profile, bridge
	  profile, and menu container hash/cmp functions correctly check
	  the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags. * Made
	  confbridge load_module()/unload_module() free all resources on
	  failure conditions.

2013-04-23 18:57 +0000 [r386352]  Kinsey Moore <kmoore@digium.com>

	* res/res_stasis.c: Fix some bad whitespace This crept in with the
	  RESTful HTTP interface merge.

2013-04-22 16:44 +0000 [r386289]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, /: Fix crash when AMI redirect action redirects
	  two channels out of a bridge. The two party bridging loops were
	  changing the bridge peer pointers without the channel locks held.
	  Thus when ast_channel_massquerade() tested and used the pointer
	  there is a small window of opportunity for the pointers to become
	  NULL even though the masquerade code has the channels locked.
	  (closes issue ASTERISK-21356) Reported by: William luke Patches:
	  jira_asterisk_21356_v11.patch (license #5621) patch uploaded by
	  rmudgett Tested by: William luke ........ Merged revisions 386256
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 386286 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-22 16:22 +0000 [r386266]  Andrew Latham <lathama@gmail.com>

	* include/asterisk/srv.h: Doxygen - Markup Guidelines Expand on a
	  commit by OEJ to use the Coding-Guidelines (issue ASTERISK-20259)

2013-04-22 14:58 +0000 [r386232]  David M. Lee <dlee@digium.com>

	* res/stasis_http/resource_channels.c, res/res_stasis_http_sounds.c
	  (added), rest-api (added), main/http.c,
	  res/res_stasis_http_bridges.c (added), tests/test_stasis_http.c
	  (added), include/asterisk/strings.h, res/res_stasis_http.c
	  (added), tests/test_stasis.c, res/res_stasis.c,
	  res/res_stasis_http_asterisk.c (added),
	  res/res_stasis_http_playback.c (added), res/stasis_http (added),
	  configs/stasis_http.conf.sample (added),
	  include/asterisk/stasis_http.h (added),
	  res/res_stasis_http_channels.c (added),
	  include/asterisk/stasis_app.h, res/Makefile,
	  include/asterisk/json.h, res/res_stasis_http_recordings.c
	  (added), res/stasis_http.make (added), tests/test_strings.c,
	  res/res_stasis_http_endpoints.c (added),
	  res/res_stasis_http_events.c (added), include/asterisk/http.h,
	  Makefile, main/json.c, res/res_stasis_http.exports.in (added),
	  rest-api-templates (added): This patch adds a RESTful HTTP
	  interface to Asterisk. The API itself is documented using
	  Swagger, a lightweight mechanism for documenting RESTful API's
	  using JSON. This allows us to use swagger-ui to provide
	  executable documentation for the API, generate client bindings in
	  different languages, and generate a lot of the boilerplate code
	  for implementing the RESTful bindings. The API docs live in the
	  rest-api/ directory. The RESTful bindings are generated from the
	  Swagger API docs using a set of Mustache templates. The code
	  generator is written in Python, and uses Pystache. Pystache has
	  no dependencies, and be installed easily using pip. Code
	  generation code lives in rest-api-templates/. The generated code
	  reduces a lot of boilerplate when it comes to handling HTTP
	  requests. It also helps us have greater consistency in the REST
	  API. (closes issue ASTERISK-20891) Review:
	  https://reviewboard.asterisk.org/r/2376/

2013-04-22 12:45 +0000 [r386211]  Olle Johansson <oej@edvina.net>

	* include/asterisk/srv.h: Fix mistake in Doxygen. Doxygen is only
	  *ONE* comment that applies to the NEXT piece of code.

2013-04-22 01:05 +0000 [r386190]  Russell Bryant <russell@russellbryant.com>

	* apps/app_meetme.c: sla: remove redundant locking. sla.lock was
	  already locked in the only place that sla_check_reload() was
	  called. Remove the redundant locking of sla.lock done in this
	  function. Less recursive locking is A Good Thing.

2013-04-19 22:27 +0000 [r386160]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_timing_pthread.c: Prevent res_timing_pthread from
	  blocking callers There were several reports of deadlock when
	  using res_timing_pthread. Backtraces indicated that one thread
	  was blocked waiting for the write to the pipe to complete and
	  this thread held the container lock for the timers. Therefore any
	  thread that wanted to create a new timer or read an existing
	  timer would block waiting for either the timer lock or the
	  container lock and deadlock ensued. This patch changes the way
	  the pipe is used to eliminate this source of deadlocks: 1) The
	  pipe is placed in non-blocking mode so that it would never block
	  even if the following changes someone fail... 2) Instead of
	  writing bytes into the pipe for each "tick" that's fired the pipe
	  now has two states--signaled and unsignaled. If signaled, the
	  pipe is hot and any pollers of the read side filedescriptor will
	  be woken up. If unsigned the pipe is idle. This eliminates even
	  the chance of filling up the pipe and reduces the potential
	  overhead of calling unnecessary writes. 3) Since we're tracking
	  the signaled / unsignaled state, we can eliminate the exta poll
	  system call for every firing because we know that there is data
	  to be read. (closes issue ASTERISK-21389) Reported by: Matt
	  Jordan Tested by: Shaun Ruffell, Matt Jordan, Tony Lewis patches:
	  0001-res_timing_pthread-Reduce-probability-of-deadlocking.patch
	  uploaded by sruffell (License 5417) (closes issue ASTERISK-19754)
	  Reported by: Nikola Ciprich (closes issue ASTERISK-20577)
	  Reported by: Kien Kennedy (closes issue ASTERISK-17436) Reported
	  by: Henry Fernandes (closes issue ASTERISK-17467) Reported by:
	  isrl (closes issue ASTERISK-17458) Reported by: isrl Review:
	  https://reviewboard.asterisk.org/r/2441/ ........ Merged
	  revisions 386109 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 386159 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-19 05:20 +0000 [r386019-386054]  David M. Lee <dlee@digium.com>

	* main/cli.c, /: cli.c: Properly initialize debug_modules and
	  verbose_modules. This avoids some lock errors on the core set
	  {debug,verbose} commands. ........ Merged revisions 386049 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 386051 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_http_websocket.c, include/asterisk/http_websocket.h:
	  Allow WebSocket connections on more URL's This patch adds the
	  concept of ast_websocket_server to res_http_websocket, allowing
	  WebSocket connections on URL's more more than /ws. The existing
	  funcitons for managing the WebSocket subprotocols on /ws still
	  work, so this patch should be completely backward compatible.
	  (closes issue ASTERISK-21279) Review:
	  https://reviewboard.asterisk.org/r/2453/

	* main/message.c, /: Fix lock errors on startup. In messages.c,
	  there are several places in the code where we create a
	  tmp_tech_holder and pass that into an ao2_find call.
	  Unfortunately, we weren't initializing the rwlock on the
	  tmp_tech_holder, which the hash function was locking. It's
	  apparently harmless, but still not the best code. This patch
	  extracts all that copy/pasted code into two functions,
	  msg_find_by_tech and msg_find_by_tech_name, which properly
	  initialize and destroy the rwlock on the tmp_tech_holder. Review:
	  https://reviewboard.asterisk.org/r/2454/ ........ Merged
	  revisions 386006 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-16 23:44 +0000 [r385939]  Alec L Davis <sivad.a@paradise.net.nz>

	* res/res_xmpp.c, res/res_jabber.c, /: res_xmpp and res_jabber need
	  to search 'cachable' in the attrib section of the received IE,
	  not data. (issue ASTERISK-20175) (closes issue ASTERISK-21429)
	  (closes issue ASTERISK-21069) (closes issue ASTERISK-21164)
	  Reported by: alecdavis Tested by: alecdavis alecdavis (license
	  585) Review https://reviewboard.asterisk.org/r/2452/

2013-04-16 17:50 +0000 [r385860-385886]  Kinsey Moore <kmoore@digium.com>

	* res/res_corosync.c: Allow res_corosync to build
	  ast_enable_distributed_devstate is no longer applicable to how
	  the distributed device state system works and is no longer
	  necessary.

	* main/pbx.c, funcs/func_presencestate.c,
	  include/asterisk/presencestate.h, main/presencestate.c: Move
	  presence state distribution to Stasis-core Convert presence state
	  events to Stasis-core messages and remove redundant serializers
	  where possible. Review: https://reviewboard.asterisk.org/r/2410/
	  (closes issue ASTERISK-21102) Patch-by: Kinsey Moore
	  <kmoore@digium.com>

	* include/asterisk/devicestate.h, main/pbx.c, main/ccss.c,
	  include/asterisk/xmpp.h, tests/test_devicestate.c,
	  main/devicestate.c, res/res_xmpp.c, apps/app_queue.c,
	  res/res_jabber.c, main/asterisk.c: Move device state distribution
	  to Stasis-core In the move from Asterisk's event system to
	  Stasis, this makes distributed device state aggregation
	  always-on, removes unnecessary task processors where possible,
	  and collapses aggregate and non-aggregate states into a single
	  cache for ease of retrieval. This also removes an intermediary
	  step in device state aggregation. Review:
	  https://reviewboard.asterisk.org/r/2389/ (closes issue
	  ASTERISK-21101) Patch-by: Kinsey Moore <kmoore@digium.com>

2013-04-16 14:09 +0000 [r385835]  David M. Lee <dlee@digium.com>

	* include/asterisk/stasis_channels.h: Fixed a typo

2013-04-15 17:26 +0000 [r385782]  Jason Parker <jparker@digium.com>

	* Makefile, /: Don't unnecessarily rebuild things on every run of
	  'make'. Review: https://reviewboard.asterisk.org/r/2449/ ........
	  Merged revisions 385745 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385768 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-15 16:47 +0000 [r385718-385743]  David M. Lee <dlee@digium.com>

	* res/res_stasis_websocket.c: Avoid unused variable warning when
	  not in devmode

	* main/json.c, include/asterisk/stasis_channels.h,
	  res/res_stasis.exports.in (added), apps/Makefile,
	  apps/app_stasis.exports.in (removed), apps/stasis_json.c
	  (removed), main/stasis_channels.c, tests/test_app_stasis.c
	  (removed), res/res_stasis.c (added), main/manager_channels.c,
	  apps/app_stasis.c, tests/test_json.c, res/res_stasis_websocket.c,
	  tests/test_res_stasis.c (added), tests/test_stasis_channels.c,
	  include/asterisk/app_stasis.h (removed),
	  include/asterisk/stasis_app.h (added), include/asterisk/json.h:
	  Moved core logic from app_stasis to res_stasis After some
	  discussion on asterisk-dev, it was decided that the bulk of the
	  logic in app_stasis actually belongs in a resource module instead
	  of the application module. This patch does that, leaves the app
	  specific stuff in app_stasis, and fixes up everything else to be
	  consistent with that change. * Renamed test_app_stasis to
	  test_res_stasis * Renamed app_stasis.h to stasis_app.h * This is
	  still stasis application support, even though it's no longer in
	  an app_ module. The name should never have been tied to the type
	  of module, anyways. * Now that json isn't a resource module
	  anymore, moved the ast_channel_snapshot_to_json function to
	  main/stasis_channels.c, where it makes more sense. Review:
	  https://reviewboard.asterisk.org/r/2430/

	* apps/app_stasis.c, main/manager_channels.c, main/channel.c,
	  include/asterisk/cli.h, include/asterisk/strings.h: DTMF events
	  are now published on a channel's stasis_topic. AMI was refactored
	  to use these events rather than producing the events directly in
	  channel.c. Finally, the code was added to app_stasis to produce
	  DTMF events on the WebSocket. The AMI events are completely
	  backward compatible, including sending events on transmitted
	  DTMF, and sending DTMF start events. The Stasis-HTTP events are
	  somewhat simplified. Since DTMF start and DTMF send events are
	  generally less useful, Stasis-HTTP will only send events on
	  received DTMF end. (closes issue ASTERISK-21282) (closes issue
	  ASTERISK-21359) Review: https://reviewboard.asterisk.org/r/2439

	* apps/app_saycounted.c, channels/sip/security_events.c,
	  contrib/realtime/mysql/voicemail_messages.sql, BSDmakefile,
	  contrib/realtime/mysql/voicemail_data.sql,
	  build_tools/sha1sum-sh, res/res_mutestream.c,
	  configs/res_curl.conf.sample, tests/test_func_file.c,
	  res/res_rtp_multicast.c, include/asterisk/select.h,
	  include/asterisk/bridging_technology.h,
	  include/asterisk/bridging_features.h, tests/test_locale.c,
	  doc/Makefile, tests/test_poll.c,
	  contrib/realtime/mysql/musiconhold.sql, res/res_timing_kqueue.c,
	  contrib/realtime/mysql/queue_log.sql,
	  channels/sip/include/security_events.h, channels/sig_ss7.c,
	  channels/chan_multicast_rtp.c, channels/sig_ss7.h, /,
	  tests/test_expr.c: Fix the svn:keywords property on several
	  files. Normally I think keyword expansion is silly, but the one
	  time it would have been good, it didn't work because the property
	  had quotes in it. This patch fixes obviously busted svn:keywords
	  properties. ........ Merged revisions 385683 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385689 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-14 03:01 +0000 [r385635-385638]  Matthew Jordan <mjordan@digium.com>

	* res/res_rtp_multicast.c, /: Calculate the timestamp for outbound
	  RTP if we don't have timing information This patch calculates the
	  timestamp for outbound RTP when we don't have timing information.
	  This uses the same approach in res_rtp_asterisk. Thanks to both
	  Pietro and Tzafrir for providing patches. (closes issue
	  ASTERISK-19883) Reported by: Giacomo Trovato Tested by: Pietro
	  Bertera, Tzafrir Cohen patches: rtp-timestamp-1.8.patch uploaded
	  by tzafrir (License 5035) rtp-timestamp.patch uploaded by
	  pbertera (License 5943) ........ Merged revisions 385636 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385637 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_alsa.c: Don't attempt to create a voice frame on
	  a read error Prior to this patch, a read error in snd_pcm_readi
	  would still be treated as a nominal result when constructing a
	  voice frame from the expected data. Since the value returned is
	  negative, as opposed to the number of samples read, this could
	  result in a crash. With this patch, we now return a null frame
	  when a read error is detected. Note that the patch on
	  ASTERISK-21329 was modified slightly for this commit, in that we
	  bail immediately on detecting the read error, rather than
	  bypassing the construction of the voice frame. (closes issue
	  ASTERISK-21329) Reported by: Keiichiro Kawasaki patches:
	  chan_alsa.diff uploaded by kawasaki (License 6489) ........
	  Merged revisions 385633 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385634 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-12 22:38 +0000 [r385595]  Michael L. Young <elgueromexicano@gmail.com>

	* /, apps/app_queue.c: Fix Manager Segfault When app_queue Is
	  Unloaded When app_queue is unloaded, some manager commands are
	  not being unregistered which result in a segfault. This patch
	  corrects this. (closes issue ASTERISK-21397) Reported by: Peter
	  Katzmann, Corey Farrell Tested by: Corey Farrell Patches:
	  asterisk-21397-missing-unreg-manager-cmd_1.8.diff Michael L.
	  Young (license 5026)
	  asterisk-21397-missing-unreg-manager-cmd_11.diff Michael L. Young
	  (license 5026) Review: https://reviewboard.asterisk.org/r/2444/
	  ........ Merged revisions 385593 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385594 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-12 22:26 +0000 [r385585]  Kinsey Moore <kmoore@digium.com>

	* /, codecs/codec_resample.c: Allow codec_resample to be unloaded
	  Ensure that trans_size is correct to prevent uninitialized
	  entries from preventing reload. (closes issue ASTERISK-21401)
	  Reported by: Corey Farrell Tested by: Corey Farrell Patches:
	  codec_resample-unload.patch uploaded by Corey Farrell ........
	  Merged revisions 385582 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-12 22:22 +0000 [r385573]  Michael L. Young <elgueromexicano@gmail.com>

	* apps/app_voicemail.c, /: Fix app_voicemail Segfault And A Few
	  Memory Leaks The original report was that app_voicemail would
	  crash. This was caused by ast_config_load() returning
	  CONFIG_STATUS_FILEINVALID but no checks being performed for that
	  return status. After adding the initial patch to fix this issue,
	  Jaco Kroon (jkroon) added some fixes to memory leaks he had
	  discovered. During review, Walter Doekes (wdoekes) suggested
	  adding a helper function in order to determine if we had a valid
	  configuration or not. This patch does the following: * Creates a
	  helper function to check if the configuration is valid * Adds
	  calls to the new helper function where appropiate * Fixes memory
	  leaks where the code returned without running
	  ast_config_destroy() on the configuration that was loaded (closes
	  issue ASTERISK-21302) Reported by: Jaco Kroon Tested by: Jaco
	  Kroon, Michael L. Young Patches:
	  asterisk-11.3.0-app_voicemail-ast_config-fixes.patch Jaco Kroon
	  (license 5671) asterisk-21302-valid_cfg_and_mem_leaks_v3-1.8.diff
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2443/ ........ Merged
	  revisions 385551 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385557 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-12 21:48 +0000 [r385548]  Jason Parker <jparker@digium.com>

	* include/asterisk/sorcery.h: Fix documentation.

2013-04-12 21:11 +0000 [r385522]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/manager.h, main/manager_channels.c: Expose
	  channel snapshot manager blob generation These functions are
	  already used in one branch (jrose's parking branch) and will soon
	  be used in other branches as well.

2013-04-12 15:06 +0000 [r385474]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix One-Way Audio With auto_* NAT
	  Settings When SIP Calls Initiated By PBX When we reload Asterisk
	  or chan_sip, the flags force_rport and comedia that are turned on
	  and off when using the auto_force_rport and auto_comedia nat
	  settings go back to the default setting off. These flags are
	  turned on when needed or off when not needed at the time that a
	  peer registers, re-registers or initiates a call. This would
	  apply even when only the default global setting
	  "nat=auto_force_rport" is being used, which in this case would
	  only affect the force_rport flag. Everything is good except for
	  the following: The nat setting is set to auto_force_rport and
	  auto_comedia. We reload Asterisk and the peer's registration has
	  not expired. We load in the settings for the peer which turns
	  force_rport and comedia back to off. Since the peer has not
	  re-registered or placed a call yet, those flags remain off. We
	  then initiate a call to the peer from the PBX. The force_rport
	  and comedia flags stay off. If NAT is involved, we end up with
	  one-way audio since we never checked to see if the peer is behind
	  NAT or not. This patch does the following: * Moves the checking
	  of whether a peer is behind NAT into its own function * Create a
	  function to set the peer's NAT flags if they are using the auto_*
	  NAT settings * Adds calls in sip_request_call() to these new
	  functions in order to setup the dialog according to the peer's
	  settings (closes issue ASTERISK-21374) Reported by: Michael L.
	  Young Tested by: Michael L. Young Patches:
	  asterisk-21374-auto-nat-outgoing-fix_v2.diff Michael L. Young
	  (license 5026) Review: https://reviewboard.asterisk.org/r/2421/
	  ........ Merged revisions 385473 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-12 08:52 +0000 [r385406-385431]  Alec L Davis <sivad.a@paradise.net.nz>

	* channels/chan_iax2.c, /: IAX2 defer_full_frames fail to get sent
	  Ensure iax2_process_thread is signalled when a deferred frame is
	  queued to it. (closes issue ASTERISK-18827) Reported by:
	  alecdavis Tested by: alecdavis alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2426/ ........ Merged
	  revisions 385429 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385430 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_iax2.c: IAX2, prevent network thread starting
	  before all helper threads are ready On startup, it's possible for
	  a frame to arrive before the processing threads were ready. In
	  iax2_process_thread() the first pass through falls into
	  ast_cond_wait, should a frame arrive before we are at
	  ast_cond_wait, the signal will be ignored. The result
	  iax2_process_thread stays at ast_cond_wait forever, with deferred
	  frames being queued. Fix: When creating initial idle
	  iax2_process_threads, wait for init_cond to be signalled after
	  each thread is started. (issue ASTERISK-18827) Reported by:
	  alecdavis Tested by: alecdavis alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2427/ ........ Merged
	  revisions 385402 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385403 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-11 16:53 +0000 [r385277-385314]  Richard Mudgett <rmudgett@digium.com>

	* /, configs/cli_aliases.conf.sample: Fix 'pri intense debug span'
	  alias. ........ Merged revisions 385313 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/features.c: Eliminated dial_features_destroy() since it is
	  equivalent to ast_free_ptr()

	* main/manager.c, main/features.c: * Fix unlocked accesses to
	  feature_list. The feature_list is now also protected by the
	  features_lock. * Made all calls to ast_find_call_feature() have
	  the features_lock held. * Fixed set_config_flags() to actually
	  use find_group() to look for feature groups in DYNAMIC_FEATURES.
	  The code originally assumed all feature groups were listed in
	  DYNAMIC_FEATURES. * Make everyone use ast_rdlock_call_features(),
	  ast_unlock_call_features(), and new ast_wrlock_call_features()
	  instead of directly calling the rwlock API on features_lock.

2013-04-10 15:34 +0000 [r385236]  David M. Lee <dlee@digium.com>

	* main/stasis_channels.c: Fixed manager channelvars support. For
	  the events that have been ported to Stasis, this was broken in
	  r384910, when a couple of lines of code was lost in a merge.

2013-04-10 14:26 +0000 [r385174-385202]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_config_ldap.c: Use LDAP memory management functions
	  instead of Asterisk's When MALLOC_DEBUG is enabled with
	  res_config_ldap, issues (munmap_chunk: invalid pointer errors)
	  can occur as the memory is being allocated with Asterisk's
	  wrappers around malloc/calloc/free/strdup, as opposed to the LDAP
	  library's wrappers. This patch uses the LDAP library's wrappers
	  where appropriate, so that compiling with MALLOC_DEBUG doesn't
	  cause more problems than it solves. Note that the patch listed
	  below was modified slightly for this commit to account for some
	  additional memory allocation/deallocations. (closes issue
	  ASTERISK-17386) Reported by: John Covert Tested by: Andrew Latham
	  patches: issue18789-1.8-r316873.patch uploaded by seanbright
	  (License 5060) ........ Merged revisions 385190 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385199 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: Fix crash in chan_sip when a core
	  initiated op occurs at the same time as a BYE When a BYE request
	  is processed in chan_sip, the current SIP dialog is detached from
	  its associated Asterisk channel structure. The tech_pvt pointer
	  in the channel object is set to NULL, and the dialog persists for
	  an RFC mandated period of time to handle re-transmits. While this
	  process occurs, the channel is locked (which is good).
	  Unfortunately, operations that are initiated externally have no
	  way of knowing that the channel they've just obtained (which is
	  still valid) and that they are attempting to lock is about to
	  have its tech_pvt pointer removed. By the time they obtain the
	  channel lock and call the channel technology callback, the
	  tech_pvt is NULL. This patch adds a few checks to some channel
	  callbacks that make sure the tech_pvt isn't NULL before using it.
	  Prime offenders were the DTMF digit callbacks, which would crash
	  if AMI initiated a DTMF on the channel at the same time as a BYE
	  was received from the UA. This patch also adds checks on
	  sip_transfer (as AMI can also cause a callback into this
	  function), as well as sip_indicate (as lots of things can queue
	  an indication onto a channel). Review:
	  https://reviewboard.asterisk.org/r/2434/ (closes issue
	  ASTERISK-20225) Reported by: Jeff Hoppe ........ Merged revisions
	  385170 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 385173 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-09 19:58 +0000 [r385142]  Richard Mudgett <rmudgett@digium.com>

	* main/features.c: Rename struct feature_ds to struct
	  feature_datastore. Because "struct feature_ds *feature_ds" is not
	  a good thing.

2013-04-09 18:22 +0000 [r385116]  David M. Lee <dlee@digium.com>

	* apps/app_stasis.c: Backported app_stasis fix from stasis-http
	  branch. The hash and compare functions for the control container
	  was reusing the wrong ones, causing some problems. I fixed it,
	  but in the wrong branch. Oh well, it happens.

2013-04-09 06:16 +0000 [r385088]  Russell Bryant <russell@russellbryant.com>

	* main/features.c, CHANGES: Add inheritance support to
	  FEATURE()/FEATUREMAP(). The settings saved on the channel for
	  FEATURE()/FEATUREMAP() were only for that channel. This patch
	  adds the ability to have these settings inherited to child
	  channels if you set FEATURE(inherit)=yes. Closes issue
	  ASTERISK-21306. Review: https://reviewboard.asterisk.org/r/2415/

2013-04-08 23:38 +0000 [r385049]  Rusty Newton <rnewton@digium.com>

	* /, configs/extconfig.conf.sample: Modified the list of keys for
	  the driver backends for sake of sample clarity Added a line
	  showing the mapping of "mysql" to res_config_mysql available in
	  add-ons. We used "mysql" as an example driver key in the sample,
	  but didn't show what module it mapped too. Also added a subtitle
	  above the list of keys for driver backends. ........ Merged
	  revisions 385047 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 385048 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-08 18:24 +0000 [r384989]  Walter Doekes <walter+asterisk@wjd.nu>

	* build_tools/make_buildopts_h,
	  build_tools/make_linker_version_script, Makefile,
	  build_tools/mkpkgconfig, build_tools/make_version: Clean up
	  Makefile "warning" clutter when makeopts doesn't exist. Review:
	  https://reviewboard.asterisk.org/r/2304

2013-04-08 15:38 +0000 [r384910-384942]  Matthew Jordan <mjordan@digium.com>

	* res/res_http_websocket.c, res/res_stasis_websocket.c: Don't
	  attempt a websocket protocol removal if res_http_websocket isn't
	  there This patch sets the protocols container provided by
	  res_http_websocket to NULL when the module gets unloaded and adds
	  the necessary checks when adding/ removing a websocket protocol.
	  This prevents some FRACKing on an invalid pointer to the disposed
	  container if a module that uses res_http_websocket is unloaded
	  after it.

	* apps/app_stasis.c, main/manager_channels.c, apps/app_dial.c,
	  main/pbx.c, main/channel_internal_api.c,
	  tests/test_stasis_channels.c (added),
	  include/asterisk/app_stasis.h, apps/app_userevent.c,
	  include/asterisk/channel.h, CHANGES, main/channel.c, main/dial.c,
	  include/asterisk/stasis_channels.h (added), main/features.c,
	  apps/stasis_json.c, pbx/pbx_realtime.c, main/stasis_channels.c
	  (added): Add multi-channel Stasis messages; refactor Dial AMI
	  events to Stasis This patch does the following: * A new Stasis
	  payload has been defined for multi-channel messages. This payload
	  can store multiple ast_channel_snapshot objects along with a
	  single JSON blob. The payload object itself is opaque; the
	  snapshots are stored in a container keyed by roles. APIs have
	  been provided to query for and retrieve the snapshots from the
	  payload object. * The Dial AMI events have been refactored onto
	  Stasis. This includes dial messages in app_dial, as well as the
	  core dialing framework. The AMI events have been modified to send
	  out a DialBegin/DialEnd events, as opposed to the subevent type
	  that was previously used. * Stasis messages, types, and other
	  objects related to channels have been placed in their own file,
	  stasis_channels. Unit tests for some of these objects/messages
	  have also been written.

2013-04-08 13:27 +0000 [r384879]  David M. Lee <dlee@digium.com>

	* main/json.c, res/res_stasis_websocket.c (added), main/frame.c,
	  apps/Makefile, tests/test_abstract_jb.c,
	  apps/app_stasis.exports.in (added), apps/stasis_json.c (added),
	  include/asterisk/app_stasis.h (added), include/asterisk/json.h,
	  include/asterisk/localtime.h, tests/test_app_stasis.c (added),
	  include/asterisk/frame.h, apps/app_stasis.c (added),
	  tests/test_json.c: Stasis application WebSocket support This is
	  the API that binds the Stasis dialplan application to external
	  Stasis applications. It also adds the beginnings of WebSocket
	  application support. This module registers a dialplan function
	  named Stasis, which is used to put a channel into the named
	  Stasis app. As a channel enters and leaves the Stasis diaplan
	  application, the Stasis app receives a 'stasis-start' and
	  'stasis-end' events. Stasis apps register themselves using the
	  stasis_app_register and stasis_app_unregister functions. Messages
	  are sent to an application using stasis_app_send. Finally, Stasis
	  apps control channels through the use of the stasis_app_control
	  object, and the family of stasis_app_control_* functions. Other
	  changes along for the ride are: * An ast_frame_dtor function
	  that's RAII_VAR safe * Some common JSON encoders for name/number,
	  timeval, and context/extension/priority Review:
	  https://reviewboard.asterisk.org/r/2361/

2013-04-06 16:00 +0000 [r384857]  Joshua Colp <jcolp@digium.com>

	* tests/test_sorcery_astdb.c (added), res/res_sorcery_astdb.c
	  (added): Add a res_sorcery_astdb module which uses the astdb to
	  persist objects. Review: https://reviewboard.asterisk.org/r/2420/

2013-04-05 20:41 +0000 [r384828]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c, UPGRADE-11.txt: Fix For Not Overriding
	  The Default Settings In chan_sip The initial report was that the
	  "nat" setting in the [general] section was not having any effect
	  in overriding the default setting. Upon confirming that this was
	  happening and looking into what was causing this, it was
	  discovered that other default settings would not be overriden as
	  well. This patch works similar to what occurs in build_peer(). We
	  create a temporary ast_flags structure and using a mask, we
	  override the default settings with whatever is set in the
	  [general] section. In the bug report, the reporter who helped to
	  test this patch noted that the directmedia settings were being
	  overriden properly as well as the nat settings. This issue is
	  also present in Asterisk 1.8 and a separate patch will be applied
	  to it. (issue ASTERISK-21225) Reported by: Alexandre Vezina
	  Tested by: Alexandre Vezina, Michael L. Young Patches:
	  asterisk-21225-handle-options-default-prob_v4.diff Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2385/ ........ Merged
	  revisions 384827 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-04 18:15 +0000 [r384696-384760]  Richard Mudgett <rmudgett@digium.com>

	* main/event.c: Separate some event struct definitions from
	  instantiation.

	* channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
	  UPGRADE.txt: chan_dahdi: Change inband_on_proceeding option
	  default to no/disabled. (issue ASTERISK-21151)

	* channels/sig_pri.h, channels/chan_dahdi.c,
	  configs/chan_dahdi.conf.sample, /, channels/sig_pri.c:
	  chan_dahdi: Add inband_on_proceeding compatibility option. The
	  new inband_on_proceeding option causes Asterisk to assume inband
	  audio may be present when a PROCEEDING message is received. Q.931
	  Section 5.1.2 says the network cannot assume that the CPE side
	  has attached to the B channel at this time without explicitly
	  sending the progress indicator ie informing the CPE side to
	  attach to the B channel for audio. However, some non-compliant
	  ISDN switches send a PROCEEDING without the progress indicator ie
	  indicating inband audio is available and assume that the CPE
	  device has connected the media path for listening to ringback and
	  other messages. ASTERISK-17834 which causes this issue was
	  dealing with a non-compliant network switch. (closes issue
	  ASTERISK-21151) Reported by: Gianluca Merlo Tested by: rmudgett
	  ........ Merged revisions 384685 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 384689 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-03 17:17 +0000 [r384642]  Matthew Jordan <mjordan@digium.com>

	* funcs/func_channel.c, /: Update documentation for CHANNEL
	  function Document that you can read/write the 'accountcode' and
	  'amaflags' on a channel. ........ Merged revisions 384640 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 384641 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-03 16:01 +0000 [r384616]  Richard Mudgett <rmudgett@digium.com>

	* main/astobj2.c: astobj2: Fix rbtree duplicate handling.
	  OBJ_PARTIAL_KEY searching a rbtree did not find all possible
	  matches if the container did not accept duplicates. Added
	  matching node bias to indicate which matching node is being
	  searched for: first, last, any.

2013-04-02 17:35 +0000 [r384546]  David M. Lee <dlee@digium.com>

	* Makefile, /: Fixed spurious rebuilds of func_version.
	  func_version.so was being rebuilt every time, because build.h was
	  changing every build, because of the cleantest dependency that
	  was added in r384410 to fix parallel make bugs. Now build.h will
	  only be created if it does not exist, which was the original
	  behavior of the Makefile. ........ Merged revisions 384544 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 384545 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-02 12:18 +0000 [r384518]  Joshua Colp <jcolp@digium.com>

	* main/sorcery.c: Pass the object type name to the configuration
	  framework.

2013-04-02 11:40 +0000 [r384514]  Matthew Jordan <mjordan@digium.com>

	* main/xmldoc.c, include/asterisk/app.h: Make things work again
	  Sorry folks. ',' are still greater than '|'. Thanks for playing
	  along :-)

2013-04-01 20:10 +0000 [r384488]  David M. Lee <dlee@digium.com>

	* contrib/scripts/install_prereq: install_prereq: Build jansson
	  from source, when necessary When r383579 was committed, it made
	  Jansson a required dependency. While libjansson-dev and
	  jansson-devel are available on recent distros, some older (but
	  still supported) distros don't have it. There's a pull request[1]
	  to get it into repoforge, but that still doesn't help everyone.
	  (And helps no one until the pull request is merged and packages
	  are built). This patch adds Jansson install from source to the
	  install_unpackaged() function. There are a few gotcha's, which
	  makes this change not completely trivial. * Since Jansson may be
	  installed by a package, don't install from source if a package
	  installation can be found * libresample may also be installed via
	  package, so I added a similar check to that. * Since Jansson
	  installs into /usr/local, this patch also adds /usr/local/lib to
	  /etc/ld.so.conf.d so that the library can be found. * The
	  alternative was to install into /usr, but then it gets
	  complicated having to deal with EL's /usr/lib{32,64} shenanigans.
	  [1]: https://github.com/repoforge/rpms/pull/250 Review:
	  https://reviewboard.asterisk.org/r/2414/

2013-04-01 14:44 +0000 [r384452]  Matthew Jordan <mjordan@digium.com>

	* main/xmldoc.c, include/asterisk/app.h: Make appropriate items
	  parse using '|' instead of ',' This patch fixes a bug introduced
	  in r76703, wherein Asterisk could only parse arguments in the
	  so-called 'recommended' way, e.g., NoOp(foo,bar). The proper
	  syntax of NoOp,foo|bar is now parsed correctly.

2013-04-01 14:10 +0000 [r384416]  Joshua Colp <jcolp@digium.com>

	* /, apps/app_voicemail.c: Remove silly use of strncmp. ........
	  Merged revisions 384414 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-04-01 13:37 +0000 [r384412-384413]  David M. Lee <dlee@digium.com>

	* main/stasis.c, tests/test_stasis.c: stasis: Fixed message
	  ordering issues when forwarding This patch fixes an issue of
	  message ordering that occurs when multiple topics are forwarded
	  to an aggregator topic (such as ast_channel_topic_all()). It is
	  (very reasonably) expected that the rules governing message
	  dispatch order still apply, so long as the messages start from
	  the same thread, and are received by the same subscription.
	  Because the existing code had an additional layer of dispatching
	  via the Stasis thread pool for forwards, those promises couldn't
	  be kept. Forwarding subscriptions no longer have their own
	  mailbox, and now dispatch directly from the forwarding topic's
	  stasis_publish() call. This means that the topic's lock is held
	  for the duration of not only a message's dispatch, but the
	  dispatch of all the forwards. This shouldn't be a problem right
	  now, but if an aggregator topic had many subscribers, it could
	  become a problem. But I figure we can write more clever code when
	  the time comes, if necessary. Review:
	  https://reviewboard.asterisk.org/r/2419/

	* /, Makefile: Fix parallel make problems. Occasionally, make -j
	  would fail due to missing includes, or other unusual errors. This
	  was due to the 'cleantest' target, which was designed to force a
	  make clean when some change in the code would cause the typical
	  depedency checking to fail. Several targets in the main Makefile
	  did not depend upon cleantest, hence would run in parallel to it.
	  By adding the dependency, make -j runs happily now. Review:
	  https://reviewboard.asterisk.org/r/2418/ ........ Merged
	  revisions 384410 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 384411 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-30 05:15 +0000 [r384389-384390]  Matthew Jordan <mjordan@digium.com>

	* main/manager.c: Properly format an intmax_t value

	* include/asterisk/test.h, main/manager.c, main/test.c,
	  apps/app_voicemail.c: Convert TestEvent AMI events over to Stasis
	  Core This patch migrates the TestEvent AMI events to first be
	  dispatched over the Stasis-Core message bus. This helps to
	  preserve the ordering of the events with other events in the AMI
	  system, such as the various channel related events.

2013-03-29 16:37 +0000 [r384327]  Jonathan Rose <jrose@digium.com>

	* apps/app_voicemail.c: app_voicemail: Add blank argument to
	  externnotify if no context argument At least one call to
	  run_externnotify provides a NULL context parameter and because
	  the snprintf statement doesn't account for a NULL context
	  parameter, it simply writes '(null)' to the arguments string
	  instead. This patch makes it write two quotes back to back for
	  that argument instead in the event of a NULL context. (closes
	  issue ASTERISK-18207) Reported by: Barry L. Kline Patches:
	  modified from patch-20130306 uploaded by Karsten Wemheuer
	  (License 5930) ........ Merged revisions 384325 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 384326 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-28 23:59 +0000 [r384302]  Richard Mudgett <rmudgett@digium.com>

	* main/sorcery.c, main/stasis.c, main/uuid.c,
	  res/res_calendar_exchange.c, res/res_sorcery_config.c,
	  include/asterisk/uuid.h, tests/test_uuid.c: Add uuid wrapper API
	  call ast_uuid_generate_str(). * Updated test_uuid.c to test the
	  new API call. * Made system use the new API call to eliminate
	  "10's of lines" where used. * Fixed untested ast_strdup() return
	  in stasis_subscribe() by eliminating the need for it. struct
	  stasis_subscription now contains the uniqueid[] string. * Fixed
	  some issues in exchangecal_write_event(): Create uid with enough
	  space for a UUID string to avoid a realloc. Fix off by one error
	  if the calendar event provided a UUID string. There is no need to
	  check for NULL before calling ast_free().

2013-03-28 15:45 +0000 [r384219-384261]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/stasis.h, main/app.c, pbx/pbx_realtime.c,
	  include/asterisk/channel.h, tests/test_stasis.c,
	  main/manager_channels.c, main/stasis.c, apps/app_voicemail.c,
	  main/channel.c, main/pbx.c, main/stasis_cache.c: Break the world.
	  Stasis message type accessors should now all be named correctly.

	* main/app.c, res/res_xmpp.c, channels/chan_iax2.c,
	  channels/sig_pri.c, res/res_jabber.c, channels/chan_mgcp.c,
	  channels/chan_unistim.c, channels/chan_dahdi.c,
	  include/asterisk/app.h, channels/chan_sip.c,
	  channels/chan_skinny.c: Convert MWI state message type to the new
	  stasis naming convention

2013-03-27 21:52 +0000 [r384201]  David M. Lee <dlee@digium.com>

	* include/asterisk/app.h, include/asterisk/stasis.h,
	  include/asterisk/channel.h: Added a doxygen group for Stasis
	  messages and topics

2013-03-27 19:52 +0000 [r384164]  Kinsey Moore <kmoore@digium.com>

	* main/format_pref.c, /, channels/chan_sip.c: Address uninitialized
	  conditional that valgrind found ........ Merged revisions 384162
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 384163 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-27 18:52 +0000 [r384120]  Matthew Jordan <mjordan@digium.com>

	* /, main/http.c: Fix a file descriptor leak in off nominal path
	  While looking at the security vulnerability in ASTERISK-20967,
	  Walter noticed a file descriptor leak and some other issues in
	  off nominal code paths. This patch corrects them. Note that this
	  patch is not related to the vulnerability in ASTERISK-20967, but
	  the patch was placed on that issue. (closes issue ASTERISK-20967)
	  Reported by: wdoekes patches:
	  issueA20967_file_leak_and_unused_wkspace.patch uploaded by
	  wdoekes (License 5674) ........ Merged revisions 384118 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 384119 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-27 17:07 +0000 [r384050]  Kinsey Moore <kmoore@digium.com>

	* res/res_rtp_asterisk.c, /: Fix white noise on SRTP decryption
	  When res_rtp_asterisk.c was altered to avoid attempting to apply
	  unprotect algorithms to non-audio RTP packets, the test used was
	  incorrect. This caused the audio packets to not be decrypted and
	  resulted in loud white noise on the other endpoint (or both
	  endpoints depending on the call legs involved). The test now
	  properly checks the version field in the RTP header to ensure
	  that RTP and RTCP are decrypted while other types of packets are
	  not. (closes issue ASTERISK-21323) Reported by: andrea Tested by:
	  Kinsey Moore, andrea, John Bigelow Patches: whitenoise_fix.diff
	  uploaded by Kinsey Moore ........ Merged revisions 384048 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 384049 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-27 15:27 +0000 [r383975-384019]  Matthew Jordan <mjordan@digium.com>

	* channels/sip/include/sip.h, /, channels/chan_sip.c,
	  channels/sip/security_events.c: AST-2013-003: Prevent username
	  disclosure in SIP channel driver When authenticating a SIP
	  request with alwaysauthreject enabled, allowguest disabled, and
	  autocreatepeer disabled, Asterisk discloses whether a user exists
	  for INVITE, SUBSCRIBE, and REGISTER transactions in multiple
	  ways. The information is disclosed when: * A "407 Proxy
	  Authentication Required" response is sent instead of a "401
	  Unauthorized" response * The presence or absence of additional
	  tags occurs at the end of "403 Forbidden" (such as "(Bad Auth)")
	  * A "401 Unauthorized" response is sent instead of "403
	  Forbidden" response after a retransmission * Retransmission are
	  sent when a matching peer did not exist, but not when a matching
	  peer did exist. This patch resolves these various vectors by
	  ensuring that the responses sent in all scenarios is the same,
	  regardless of the presence of a matching peer. This issue was
	  reported by Walter Doekes, OSSO B.V. A substantial portion of the
	  testing and the solution to this problem was done by Walter as
	  well - a huge thanks to his tireless efforts in finding all the
	  ways in which this setting didn't work, providing automated
	  tests, and working with Kinsey on getting this fixed. (closes
	  issue ASTERISK-21013) Reported by: wdoekes Tested by: wdoekes,
	  kmoore patches: AST-2013-003-1.8 uploaded by kmoore, wdoekes
	  (License 6273, 5674) AST-2013-003-10 uploaded by kmoore, wdoekes
	  (License 6273, 5674) AST-2013-003-11 uploaded by kmoore, wdoekes
	  (License 6273, 5674) ........ Merged revisions 384003 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/http.c: AST-2013-002: Prevent denial of service in HTTP
	  server AST-2012-014, fixed in January of this year, contained a
	  fix for Asterisk's HTTP server for a remotely-triggered crash.
	  While the fix put in place fixed the possibility for the crash to
	  be triggered, a denial of service vector still exists with that
	  solution if an attacker sends one or more HTTP POST requests with
	  very large Content-Length values. This patch resolves this by
	  capping the Content-Length at 1024 bytes. Any attempt to send an
	  HTTP POST with Content-Length greater than this cap will not
	  result in any memory allocation. The POST will be responded to
	  with an HTTP 413 "Request Entity Too Large" response. This issue
	  was reported by Christoph Hebeisen of TELUS Security Labs (closes
	  issue ASTERISK-20967) Reported by: Christoph Hebeisen patches:
	  AST-2013-002-1.8.diff uploaded by mmichelson (License 5049)
	  AST-2013-002-10.diff uploaded by mmichelson (License 5049)
	  AST-2013-002-11.diff uploaded by mmichelson (License 5049)
	  ........ Merged revisions 383978 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_format_attr_h264.c, /: AST-2013-001: Prevent buffer
	  overflow through H.264 format negotiation The format attribute
	  resource for H.264 video performs an unsafe read against a media
	  attribute when parsing the SDP. The value passed in with the
	  format attribute is not checked for its length when parsed into a
	  fixed length buffer. This patch resolves the vulnerability by
	  only reading as many characters from the SDP value as will fit
	  into the buffer. (closes issue ASTERISK-20901) Reported by: Ulf
	  Harnhammar patches: h264_overflow_security_patch.diff uploaded by
	  jrose (License 6182) ........ Merged revisions 383973 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-27 07:24 +0000 [r383948]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Fix skinny encall button to not blind
	  xfer. The softbutton endcall should not turn a transfer into a
	  blind transfer but hangup the exten being called and leave the
	  original call on hold. This does that. (closes issue
	  ASTERISK-21321) Reported by: wedhorn Tested by: snuffy, myself
	  Patches: skinny-xferendcall01.diff uploaded by wedhorn (license
	  5019)

2013-03-26 23:34 +0000 [r383925]  Joshua Colp <jcolp@digium.com>

	* main/sorcery.c: Remove the noop handler from sorcery so it does
	  not produce an empty value.

2013-03-26 02:30 +0000 [r383841-383879]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: Resolve deadlock between SIP registration
	  and channel based functions In r373424, several reentrancy
	  problems in chan_sip were addressed. As a result, the SIP channel
	  driver is now properly locking the channel driver private
	  information in certain operations that it wasn't previously. This
	  exposed two latent problems either in register_verify or by
	  functions called by register_verify. This includes: * Holding the
	  private lock while calling sip_send_mwi_to_peer. This can create
	  a new sip_pvt via sip_alloc, which will obtain the channel
	  container lock. This is a locking inversion, as any channel
	  related lock must be obtained prior to obtaining the SIP channel
	  technology private lock. Note that this issue was already fixed
	  in Asterisk 11. * Holding the private lock while calling
	  sip_poke_peer. In the same vein as sip_send_mwi_to_peer,
	  sip_poke_peer can create a new SIP private, causing the same
	  locking inversion. Note that this locking inversion typically
	  occured when CLI commands were run while a SIP REGISTER request
	  was being processed, as many CLI commands (such as 'sip show
	  channels', 'core show channels', etc.) have to obtain the channel
	  container lock. (issue ASTERISK-21068) Reported by: Nicolas
	  Bouliane (issue ASTERISK-20550) Reported by: David Brillert
	  (issue ASTERISK-21314) Reported by: Badalian Vyacheslav (issue
	  ASTERISK-21296) Reported by: Gabriel Birke ........ Merged
	  revisions 383863 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383878 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/cdr.c, /: Resolve deadlock between pending CDR and batch CDR
	  locks r375757 attempted to resolve a race condition between
	  multiple submissions of CDRs while in batch mode from attempting
	  to destroy the scheduled batch submission by extending the batch
	  CDR lock. Unfortunately, this causes a deadlock between the
	  pending CDR lock and the batch CDR lock. This patch resolves the
	  intent of r375757 by simply providing a new lock that protects
	  the scheduling of the batches. The original batch CDR lock is
	  kept to protect manipulation of the batch CDR settings, but has
	  been placed such that it is not held when the pending lock is
	  held. Thanks to Chase Venters for providing lock analysis on the
	  issue. (issue ASTERISK-21162) Reported by: Chase Venters ........
	  Merged revisions 383839 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383840 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-26 01:46 +0000 [r383837-383838]  Russell Bryant <russell@russellbryant.com>

	* channels/chan_skinny.c: Suppress compiler warning. This code
	  caused a compiler warning when --enable-dev-mode was not used.
	  The warning was that this variable was set but not used. That was
	  indeed the case as the only place this is used is as an argument
	  to SKINNY_DEBUG which is compiled out when not in dev mode.

	* /, apps/app_meetme.c: Fix multi-station answer race condition.
	  When an SLA trunk is ringing (inbound call on the trunk) Asterisk
	  will make outbound calls to the stations that have that trunk. If
	  more than one station answers the call at the same time, all
	  channels other than the first one to answer are left in a bad
	  state. The channel gets leaked, is not connected to anything, and
	  there's no way to get rid of it. We now properly clean up these
	  losing channels by hanging up on them. Since they lost the race,
	  as we process their answer, there is no ringing trunk for them to
	  answer. ........ Merged revisions 383835 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383836 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-25 23:25 +0000 [r383799]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/sig_pri.c: Set the CALLERID(dnid-num-plan) for
	  incoming ISDN calls. The CALLEDTON channel variable is set for
	  incoming ISDN calls to the lower 7 bits of the Q.931
	  type-of-number/numbering-plan octet. The CALLERID(dnid-num-plan)
	  should have the same value. (closes issue ASTERISK-21248)
	  Reported by: rmudgett ........ Merged revisions 383796 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383798 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-25 20:15 +0000 [r383753-383754]  Kinsey Moore <kmoore@digium.com>

	* main/manager_channels.c: Fix typo

	* main/stasis.c: Fix missing ' ' around '='

2013-03-25 19:28 +0000 [r383726-383747]  David M. Lee <dlee@digium.com>

	* contrib/scripts/install_prereq: install_prereq: removed some
	  out-of-date comments

	* contrib/scripts/install_prereq: install_prereq: Adding
	  jansson-devel to RH packages

	* main/channel_internal_api.c, include/asterisk/channel.h, CHANGES,
	  main/manager_channels.c, main/channel.c, main/manager.c: Move
	  NewCallerid, HangupRequest and SoftHangupRequest to Stasis
	  HangupRequest and SoftHangupRequest are now ast_channel_blob
	  Stasis messages, with the cause code as an optional field in the
	  blob. NewCallerid now simply watches for changes in the callerid
	  information in channel snapshots, and creates the AMI event
	  appropriately. Since the original NewCallerid event honored the
	  channelvars setting in manager.conf, the channel variables
	  configured there had to become a part of the channel snapshot.
	  These are now a part of every snapshot based event, making the
	  configuration description "every time a channel-oriented event is
	  emitted" less of a lie. There a a few other changes wrapped up in
	  here as well. * When ast_channel_topic() is given NULL for a
	  channel, it returns the ast_channel_topic_all() topic instead of
	  NULL. This can clean up a lot of NULL checking we're doing
	  currently. * The fields Cause and Cause-txt were removed from the
	  base channel information and put only on the Hangup events, since
	  those fields are meaningless outside of a Hangup event. * Removed
	  the pipe-delimiter processing of the channelvars field, since
	  that's been deprecated forever. (closes issue ASTERISK-21096)
	  Review: https://reviewboard.asterisk.org/r/2405/

2013-03-25 12:38 +0000 [r383669]  Sean Bright <sean@malleable.com>

	* res/res_config_curl.c, /: Properly delimit post data in
	  res_config_curl. ........ Merged revisions 383667 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383668 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-22 20:51 +0000 [r383633]  David M. Lee <dlee@digium.com>

	* main/json.c, main/Makefile: Fixed another issue from r383579.
	  Core modules don't honor <depend> flags in MODULEINFO, which
	  broke jansson if specified --with-jansson to configure.

2013-03-22 20:43 +0000 [r383632]  Michael L. Young <elgueromexicano@gmail.com>

	* apps/app_mixmonitor.c, /: Fix StopMixMonitor Hanging Up When
	  Unable To Stop MixMonitor On A Channel A regression was
	  accidentally introduced when allowing an optional ID to be used
	  when calling StopMixMonitor. When we are unable to stop
	  MixMonitor on a channel, -1 is being returned which triggers the
	  hangup of the channel. This patch restores the prior behavior by
	  returning 0 whether we were successful or not. It also allows the
	  call from the manager to use the return code when the action
	  fails. (closes issue ASTERISK-21294) Reported by: daroz Tested
	  by: daroz Patches: asterisk-21294-stop_mixmonitor_hangingup.diff
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2404/ ........ Merged
	  revisions 383631 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-22 19:26 +0000 [r383579-383611]  David M. Lee <dlee@digium.com>

	* main/asterisk.c, main/json.c, include/asterisk/json.h: Corrected
	  some module issues introduced by r383579. When I moved res_json.c
	  to json.c, I left the MODULE_INFO stuff in there, which was
	  interesting if you ran module show. I also forgot to call what
	  was in module_load() from asterisk main().

	* pbx/pbx_realtime.c, main/manager_channels.c (added),
	  tests/test_json.c, res/res_json.c (removed), main/pbx.c,
	  include/asterisk/autoconfig.h.in, configure.ac,
	  apps/app_userevent.c, include/asterisk/channel.h, CHANGES,
	  include/asterisk/manager.h, main/channel.c, main/json.c (added),
	  main/manager.c, configure, res/res_json.exports.in (removed):
	  Move more channel events to Stasis; move res_json.c to
	  main/json.c. This patch started out simply as fixing the bouncing
	  tests introduced in r382685, but required some other changes to
	  give it a decent implementation. To fix the bouncing tests, the
	  UserEvent and Newexten AMI events needed to be refactored to
	  dispatch via Stasis. Dispatching directly to AMI resulted in
	  those events sometimes getting ahead of the associated Newchannel
	  events, which would understandably confuse anyone. I found that
	  instead of creating a zillion different message types and
	  structures associated with them, it would be preferable to define
	  a message type that has a channel snapshot and a blob of
	  structured data with a small bit of additional information. The
	  JSON object model provides a very nice way of representing
	  structured data, so I went with that. * Move JSON support from
	  res_json.c to main/json.c * Made libjansson-dev a required
	  dependency * Added an ast_channel_blob message type, which has a
	  channel snapshot and JSON blob of data. * Changed UserEvent and
	  Newexten events so that they are dispatched via ast_channel_blob
	  messages on the channel's topic. * Got rid of the
	  ast_channel_varset message; used ast_channel_blob instead. *
	  Extracted the manager functions converting Stasis channel events
	  to AMI events into manager_channel.c. (issue ASTERISK-21096)
	  Review: https://reviewboard.asterisk.org/r/2381/

2013-03-22 06:32 +0000 [r383560]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Fix skinny voicemail indication issues.
	  Unsubscribe from MWI stasis event on channel reload. (closes
	  issue ASTERISK-21216) Reported by: wedhorn Tested by: snuffy,
	  myself Patches: skinny-mwiind02.diff uploaded by snuffy (license
	  5024)

2013-03-21 20:09 +0000 [r383541]  David M. Lee <dlee@digium.com>

	* include/asterisk/stasis.h: Corrected doc error for Stasis. I
	  guess the mutex isn't necessary. Thanks, rmudgett!

2013-03-21 17:41 +0000 [r383519]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/astobj2.h: Fix astobj2 doxygen comment.

2013-03-20 20:27 +0000 [r383458-383462]  Walter Doekes <walter+asterisk@wjd.nu>

	* funcs/func_curl.c, /: Have func_curl log a warning when a curl
	  request fails. Review: https://reviewboard.asterisk.org/r/2403/
	  ........ Merged revisions 383460 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383461 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* funcs/func_curl.c, /: Minor cleanup in func_curl near hashcompat
	  code. Review: https://reviewboard.asterisk.org/r/2402/ ........
	  Merged revisions 383457 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-20 16:01 +0000 [r383422]  Kinsey Moore <kmoore@digium.com>

	* main/stasis.c: Resolve a race condition in Stasis Because of the
	  way that topics were handled when publishing, it was possible to
	  dispatch a message to a subscription after that subscription had
	  been unsubscribed such that the dispatched message arrived at the
	  callback after the callback had received its final message. In
	  callbacks that cleaned up user data, this would often cause a
	  segfault. This has been resolved by locking the topic during the
	  entirety of dispatch. To prevent long publishing and topic
	  locking times, forwarding subscriptions have been made to be
	  standard subscriptions instead of mailboxless subscriptions which
	  were dispatched at publishing time.

2013-03-20 14:52 +0000 [r383405]  Joshua Colp <jcolp@digium.com>

	* main/sorcery.c, res/res_sorcery_memory.c,
	  include/asterisk/sorcery.h, tests/test_sorcery.c: Pass the
	  sorcery instance to wizards for CUD operations as well as
	  retrieve.

2013-03-19 19:07 +0000 [r383377]  Kinsey Moore <kmoore@digium.com>

	* main/stasis_message_router.c: Fix lock destruction/unlock
	  inversion When using scoped locks, the unref of an AO2 object
	  should happen after the unlock occurs which requires usage of
	  scoped refs.

2013-03-19 16:00 +0000 [r383343]  David M. Lee <dlee@digium.com>

	* codecs/Makefile, /: Multiple revisions 383341-383342 ........
	  r383341 | dlee | 2013-03-19 10:57:29 -0500 (Tue, 19 Mar 2013) | 5
	  lines Removed codecs/g722/*.i on make clean ........ Merged
	  revisions 383340 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  r383342 | dlee | 2013-03-19 10:58:33 -0500 (Tue, 19 Mar 2013) | 1
	  line Remove codecs/speex/*.i on make clean ........ Merged
	  revisions 383341-383342 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-16 16:00 +0000 [r383284-383287]  Kinsey Moore <kmoore@digium.com>

	* res/res_jabber.c, channels/chan_mgcp.c: Make sure things
	  compile...

	* channels/sip/include/sip.h, main/asterisk.c,
	  channels/chan_mgcp.c, apps/app_voicemail.c,
	  channels/chan_unistim.c, channels/chan_sip.c,
	  include/asterisk/stasis.h, res/res_xmpp.c, channels/sig_pri.c,
	  channels/chan_iax2.c, res/res_jabber.c, main/stasis.c,
	  channels/sig_pri.h, main/channel.c, include/asterisk/app.h,
	  channels/chan_dahdi.c, channels/chan_skinny.c,
	  include/asterisk/xmpp.h, apps/app_minivm.c, main/app.c:
	  Transition MWI to Stasis-core Remove MWI's dependency on the
	  event system by moving it to Stasis-core. This also introduces
	  forwarding topic pools in Stasis-core which aggregate many
	  dynamically allocated topics into a single primary topic. Review:
	  https://reviewboard.asterisk.org/r/2368/ (closes issue
	  ASTERISK-21097) Patch-by: Kinsey Moore

2013-03-16 15:40 +0000 [r383267-383283]  Joshua Colp <jcolp@digium.com>

	* res/res_xmpp.c, CHANGES: Add support for using XMPP buddy state
	  via device state. This change allows you to use XMPP buddy state
	  in places where device state can be used be used, such as
	  dialplan hints. If at least one resource is available the buddy
	  is considered available. Now your phone can reflect their IM
	  status too!

	* res/res_xmpp.c, /: Fix a bug where resources were not found due
	  to hashing on the priority itself. ........ Merged revisions
	  383266 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-15 17:35 +0000 [r383225-383242]  David M. Lee <dlee@digium.com>

	* main/stasis_cache.c, main/stasis_message_router.c (added),
	  main/stasis_message.c, include/asterisk/stasis_message_router.h
	  (added), tests/test_stasis.c, main/stasis.c: A simplistic router
	  for stasis_message's. Often times, when subscribing to a topic,
	  one wants to handle different message types differently. While
	  one could cascade if/else statements through the subscription
	  handler, it is much cleaner to specify a different callback for
	  each message type. The stasis_message_router is here to help! A
	  stasis_message_router is constructed for a particular
	  stasis_topic, which is subscribes to. Call
	  stasis_message_router_unsubscribe() to cancel that subscription.
	  Once constructed, routes can be added using
	  stasis_message_router_add() (or
	  stasis_message_router_set_default() for any messages not handled
	  by other routes). There may be only one route per
	  stasis_message_type. The route's callback is invoked just as if
	  it were a callback for a subscription; but it only gets called
	  for messages of the specified type. (issue ASTERISK-20887)
	  Review: https://reviewboard.asterisk.org/r/2390/

	* configs/stasis_core.conf.sample (added): Sample config file for
	  stasis-core. (issue ASTERISK-20887)

2013-03-15 13:04 +0000 [r383167-383169]  Kinsey Moore <kmoore@digium.com>

	* tests/test_stasis.c, main/manager.c, main/channel_internal_api.c:
	  Take advantage of the fact that stasis_unsubscribe now returns
	  NULL

	* main/stasis.c, main/stasis_cache.c, include/asterisk/stasis.h:
	  Make stasis unsubscription functions return NULL Unsubscribing
	  things in Asterisk seems to very commonly follow with NULLing out
	  the variable that was unsubscribed. This change makes that a bit
	  simpler.

	* main/tcptls.c, main/manager.c, /, channels/chan_sip.c,
	  main/http.c: tcptls: Prevent unsupported options from being set
	  AMI, HTTP, and chan_sip all support TLS in some way, but none of
	  them support all the options that Asterisk's TLS core is capable
	  of interpreting. This prevents consumers of the TLS/SSL layer
	  from setting TLS/SSL options that they do not support. This also
	  gets tlsverifyclient closer to a working state by requesting the
	  client certificate when tlsverifyclient is set. Currently, there
	  is no consumer of main/tcptls.c in Asterisk that supports this
	  feature and so it can not be properly tested. Review:
	  https://reviewboard.asterisk.org/r/2370/ Reported-by: John
	  Bigelow Patch-by: Kinsey Moore (closes issue AST-1093) ........
	  Merged revisions 383165 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383166 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-15 01:38 +0000 [r383122-383126]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: When a session timer expires during a
	  T.38 call, re-invite with correct SDP When a session timer
	  expires during a dialog that has re-negotiated to T.38 and
	  Asterisk is the refresher, Asterisk will send a re-INVITE with an
	  SDP containing audio media only. This causes some hilarity with
	  the poor fax session under weigh. This patch corrects that by
	  sending T.38 parameters if we are in the middle of a T.38
	  session. (closes issue ASTERISK-21232) Reported by: Nitesh Bansal
	  patches:
	  dont-send-audio-reinvite-for-sess-timer-in-t38-call.patch
	  uploaded by nbansal (License 6418) ........ Merged revisions
	  383124 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 383125 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* pbx/pbx_spool.c, /: Fix processing of call files when using
	  KQueue on OS X In certain situations, call files are not
	  processed when using KQueue with pbx_spool. Asterisk was sending
	  an invalid timeout value when the spool directory is empty,
	  causing the call to kevent to error immediately. This can create
	  a tight loop, increasing the CPU load on the system. (closes
	  issue ASTERISK-21176) Reported by: Carlton O'Riley patches:
	  kqueue_osx.patch uploaded by coriley (License 6473) ........
	  Merged revisions 383120 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383121 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-14 16:57 +0000 [r383063]  Jason Parker <jparker@digium.com>

	* /, autoconf/ast_ext_lib.m4: Fix whitespace in AST_EXT_LIB_CHECK
	  macro. ........ Merged revisions 383061 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 383062 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-13 14:39 +0000 [r383008]  Matthew Jordan <mjordan@digium.com>

	* res/res_rtp_asterisk.c: Always set the RTP instance data in the
	  RTP engine Not informing the RTP engine of the instance data
	  creates shrapnel.

2013-03-12 22:43 +0000 [r382989]  Andrew Latham <lathama@gmail.com>

	* res/res_config_ldap.c: Update Doxygen Push some cleanups upstream
	  before testing another ticket. (issue ASTERISK-20259)

2013-03-12 21:19 +0000 [r382941-382954]  Michael L. Young <elgueromexicano@gmail.com>

	* addons/res_config_mysql.c, /: Fix Sorting Order For Parking Lots
	  Stored In Static Realtime When retrieving the parking lots from a
	  MySQL database table, the current order is "filename, cat_metric
	  desc, var_metric asc, category". If there are multiple parking
	  lots with the same cat_metric but different categories,
	  everything is being sorted on cat_metric first resulting in
	  errors when loading the parking lots. This patch fixes the
	  problem by sorting on the category field first, then the
	  cat_metric field. (closes issue ASTERISK-21035) Reported by: Alex
	  Epshteyn Patches: asterisk-21035-orderby.diff Michael L. Young
	  (license 5026) ........ Merged revisions 382942 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382943 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* contrib/realtime/mysql/sippeers.sql, /,
	  contrib/realtime/postgresql/realtime.sql: Update Contributed
	  Realtime Schema Files - IPv6 Addresses This commit updates some
	  fields in the contributed realtime schema files to handle IPv6
	  addresses. (closes issue ASTERISK-21173) Reported by: Torrey
	  Searle Patches: realtime_sql.patch Torrey Searle (license 5334)
	  asterisk-21173-update-ip-fields.diff Michael L. Young (license
	  5026) ........ Merged revisions 382939 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382940 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-12 20:07 +0000 [r382924]  Joshua Colp <jcolp@digium.com>

	* res/res_xmpp.c, /: Fix a crash when res_xmpp is configured using
	  a username without a domain. (closes issue ASTERISK-21156)
	  Reported by: amsoft2001 ........ Merged revisions 382923 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-12 19:08 +0000 [r382900]  Jason Parker <jparker@digium.com>

	* build_tools/menuselect-deps.in, configure,
	  include/asterisk/autoconfig.h.in, configure.ac, res/Makefile,
	  CHANGES, makeopts.in, res/pjproject (removed),
	  res/res_rtp_asterisk.c: Switch to using external pjproject
	  libraries. ICE/STUN/TURN support in res_rtp_asterisk is also now
	  optional.

2013-03-12 16:30 +0000 [r382852]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: Include the Username field in SIP
	  Registry events when Status is registered In ASTERISK-17888, the
	  AMI Registry event during SIP registrations was supposed to
	  include the Username field. Somehow, one of the events was
	  missed. This patch corrects that - the Username field should be
	  included in all AMI Registry events involving SIP registrations.
	  (issue ASTERISK-17888) (closes issue ASTERISK-21201) Reported by:
	  Dmitriy Serov patches: chan_sip.c.diff uploaded by Dmitriy Serov
	  (license 6479) ........ Merged revisions 382847 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382848 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-12 08:55 +0000 [r382828]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Fix core dump on CLI usage Fix issue
	  with 'unistim show info' CLI command when device connected not
	  configured ........ Merged revisions 382827 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-11 15:22 +0000 [r382787]  Kevin Harwell <kharwell@digium.com>

	* CHANGES, channels/sip/include/sip.h, channels/chan_sip.c: Added
	  an option to disallow music on hold Added an option
	  "discard_remote_hold_retrieval" (default "no") that if set does
	  not trigger the music on hold event. This essentially stops
	  telling the peer to start music on hold. (issue ABE-2899)
	  Reported by: Denis Alberto Martinez Review:
	  https://reviewboard.asterisk.org/r/2336/

2013-03-09 00:21 +0000 [r382764]  Richard Mudgett <rmudgett@digium.com>

	* apps/confbridge/include/conf_state.h,
	  apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
	  apps/confbridge/conf_state_multi_marked.c,
	  apps/confbridge/conf_state_empty.c, apps/confbridge/conf_state.c,
	  apps/confbridge/conf_config_parser.c,
	  apps/confbridge/conf_state_single.c,
	  apps/confbridge/conf_state_inactive.c,
	  apps/confbridge/conf_state_single_marked.c,
	  apps/confbridge/include/confbridge.h: confbridge: Rename items
	  for clarity and consistency. struct conference_bridge_user ->
	  struct confbridge_user struct conference_bridge -> struct
	  confbridge_conference struct conference_state -> struct
	  confbridge_state struct conference_bridge_user
	  *conference_bridge_user -> struct confbridge_user *user struct
	  conference_bridge_user *cbu -> struct confbridge_user *user
	  struct conference_bridge *conference_bridge -> struct
	  confbridge_conference *conference The names are now generally
	  shorter, consistently used, and don't conflict with the struct
	  names. This patch handles the renaming part of the issue. (issue
	  ASTERISK-20776) Reported by: rmudgett

2013-03-08 20:26 +0000 [r382746]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c: chan_sip: Update the via header when
	  relaying SMS MESSAGE Prior to this change, certain conditions for
	  sending the message would result in an address of '(null)' being
	  used in the via header of the SIP message because a NULl value of
	  pvt->ourip was used when initially generating the via header.
	  This is fixed by adding a call to build_via when the address is
	  set before sending the message. (closes issue ASTERISK-21148)
	  Reported by: Zhi Cheng Patches: 700-sip_msg_send_via_fix.patch
	  uploaded by Zhi Cheng (license 6475) ........ Merged revisions
	  382739 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-08 16:59 +0000 [r382721-382724]  David M. Lee <dlee@digium.com>

	* main/stasis_cache.c, include/asterisk/stasis.h: Stasis
	  documentation updates. (issue ASTERISK-20887) (issue
	  ASTERISK-20959)

	* main/stasis.c, main/channel.c, main/channel_internal_api.c:
	  Ensure dummy channels get a stasis topic. Fixes test failure
	  introduced in r382685. (issue ASTERISK-20887) (issue
	  ASTERISK-20959)

2013-03-08 16:00 +0000 [r382705]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/stasis.h, tests/test_stasis.c,
	  main/stasis_cache.c: Add message dump capability to stasis cache
	  layer The cache dump mechanism allows the developer to retreive
	  multiple items of a given type (or of all types) from the cache
	  residing in a stasis caching topic in addition to the existing
	  single-item cache retreival mechanism. This also adds to the
	  caching unit tests to ensure that the new cache dump mechanism is
	  functioning properly. Review:
	  https://reviewboard.asterisk.org/r/2367/ (issue ASTERISK-21097)

2013-03-08 15:15 +0000 [r382685]  David M. Lee <dlee@digium.com>

	* include/asterisk/channel.h, tests/test_stasis.c (added),
	  main/asterisk.c, main/stasis.c (added), main/channel.c,
	  main/stasis_cache.c (added), main/pbx.c, main/stasis_message.c
	  (added), main/manager.c, main/asterisk.exports.in,
	  include/asterisk/channel_internal.h, main/channel_internal_api.c,
	  include/asterisk/stasis.h (added): This patch adds a new message
	  bus API to Asterisk. For the initial use of this bus, I took some
	  work kmoore did creating channel snapshots. So rather than create
	  AMI events directly in the channel code, this patch generates
	  Stasis events, which manager.c uses to then publish the AMI
	  event. This message bus provides a generic publish/subscribe
	  mechanism within Asterisk. This message bus is: - Loosely
	  coupled; new message types can be added in seperate modules. -
	  Easy to use; publishing and subscribing are straightforward
	  operations. In addition to basic publish/subscribe, the patch
	  also provides mechanisms for message forwarding, and for message
	  caching. (issue ASTERISK-20887) (closes issue ASTERISK-20959)
	  Review: https://reviewboard.asterisk.org/r/2339/

2013-03-08 04:11 +0000 [r382670-382671]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_sip.c: Remove unused function After r382670,
	  get_ip_and_port_from_sdp was no longer used.

	* channels/chan_sip.c: Don't reset the RTP address on a glare
	  re-INVITE Originally, way back in r201583, we added the alternate
	  RTP address so that the RTP engine would expect to receive audio
	  from a new source when a glare re-INVITE occurred. In r382589, we
	  remove the alternate RTP source, as the 'secret' probation mode
	  allows for switching to a new RTP source when a previous source
	  stops sending RTP. At the time, it seemed appropriate to set the
	  RTP source based on the information in the glared re-INVITE.
	  Unfortunately, that doesn't work so well - in a glared re-INVITE
	  that occurs with no SDP - such as in a connected line update that
	  glances - we'll set the RTP source to an invalid address. In
	  subsequent re-INVITE requests from this Asterisk instance, we'll
	  then send an invalid media address, which will result in the
	  remote side sending a 488. Whoops. There isn't any need to reset
	  the RTP source - if we're using strictrtp, we'll simply
	  synchronize to a new source when we stop getting packets from the
	  old one. If we aren't using strictrtp, then again there shouldn't
	  be a problem. Note that the Asterisk Test Suite's connectedline
	  test caught this error.

2013-03-07 21:55 +0000 [r382648]  David M. Lee <dlee@digium.com>

	* main/threadpool.c: Changing log level of "Not changing threadpool
	  size" from notice to debug.

2013-03-07 21:14 +0000 [r382636]  Jason Parker <jparker@digium.com>

	* res/res_sorcery_config.c, res/res_sorcery_memory.c: Load sorcery
	  modules earlier, so they can actually be used.

2013-03-07 19:14 +0000 [r382621]  Matthew Jordan <mjordan@digium.com>

	* apps/app_voicemail.c, /: Let vm_mailbox_snapshot combine "Urgent"
	  when no folder is specified r381835 fixed a bug in
	  vm_mailbox_snapshot where combining INBOX and Old forgot that
	  Urgent also "counts" as new messages. This fixed the problem when
	  any of the three folders was specified and the combine option was
	  used. It missed the case where the folder isn't specified and we
	  build a snapshot of all folders. This patch corrects that.
	  ........ Merged revisions 382617 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-07 16:48 +0000 [r382600-382604]  Kinsey Moore <kmoore@digium.com>

	* main/xmldoc.c: Fix a memory leak in xmldoc Another instance of
	  attribute retrieval not being freed properly.

	* main/xmldoc.c: Resolve more memory leaks in xmldoc Many places
	  that allocated to pull out an attribute are now freed properly.

2013-03-07 15:48 +0000 [r382589]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c,
	  main/rtp_engine.c, /, channels/chan_sip.c: Add a 'secret'
	  probation strictrtp mode to handle delayed changes in RTP source
	  Often, Asterisk may realize that a change in the source of an RTP
	  stream is about to occur and ask that the RTP engine reset it's
	  lock on the current RTP source. In certain scenarios, it may take
	  awhile for the new remote system to send RTP packets, while the
	  old remote system may continue providing RTP during that time
	  period. This causes Asterisk to re-lock onto the old source,
	  thereby rejecting the new source when the old source stops
	  sending RTP and the new source begins. This patch prevents that
	  by having a constant secondary, 'secret' probation mode enabled
	  when an RTP source has been chosen. RTP packets from other
	  sources are always considered, but never chosen unless the
	  current RTP source stops sending RTP. Review:
	  https://reviewboard.asterisk.org/r/2364 (closes issue AST-1124)
	  Reported by: John Bigelow Tested by: John Bigelow (closes issue
	  AST-1125) Reported by: John Bigelow Tested by: John Bigelow
	  ........ Merged revisions 382573 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-07 15:36 +0000 [r382489-382587]  Kinsey Moore <kmoore@digium.com>

	* main/xmldoc.c: Fix minor memory leak in xmldoc Strings retrieved
	  via ast_xml_get_text() must be freed with ast_xml_free_text().

	* /, main/logger.c: Ensure that logmsgs are freed properly Messages
	  sent while the logger thread is shutting down will now have their
	  associated callid freed properly. ........ Merged revisions
	  382574 from http://svn.asterisk.org/svn/asterisk/branches/11

	* main/threadpool.c: Fix ref leak in threadpool.c If
	  ast_threadpool_set_size with a size equal to the current size, a
	  reference to a set_size_data structure would be leaked.

	* main/threadpool.c: Resolve a ref leak in threadpool.c Ownership
	  of the listener reference is not transferred because the listener
	  is reffed when placed into the taskprocessor. Ensure that the
	  listener is dereffed properly.

2013-03-05 13:14 +0000 [r382440]  Matthew Jordan <mjordan@digium.com>

	* configs/res_ldap.conf.sample,
	  contrib/realtime/postgresql/realtime.sql,
	  configs/sip.conf.sample, CHANGES,
	  contrib/scripts/asterisk.ldap-schema,
	  contrib/scripts/asterisk.ldif, channels/sip/include/sip.h,
	  CREDITS, contrib/realtime/mysql/sippeers.sql,
	  channels/chan_sip.c: Add RFC 3327 Path header support to chan_sip
	  This patch adds support for RFC 3327 "Path" headers. This can be
	  enabled in sip.conf using the 'supportpath' setting, either on a
	  global basis or on a peer basis. This setting enables Asterisk to
	  route outgoing out-of-dialog requests via a set of proxies by
	  using a pre-loaded route-set defined by the Path headers in the
	  REGISTER request. This patch also adds Realtime support for
	  dynamically updating the Path information for a peer. A huge
	  thank-you to Klaus Darillion and Olle E Johansson for their
	  efforts in writing this patch. Review:
	  https://reviewboard.asterisk.org/r/2235/ Review:
	  https://reviewboard.asterisk.org/r/991/ (closes issue
	  ASTERISK-16884) Reported by: klaus3000 Tested by: klaus3000, oej,
	  mjordan patches: path-1.8.0-patch.txt uploaded by klaus3000
	  (License 5054) oolong-path-support-trunk in team branch by oej
	  (License 5267)

2013-03-05 03:53 +0000 [r382411]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* /, channels/chan_unistim.c: Fix several unreleased mutex locks
	  that cause problem with processing calls Reported by: Daniel
	  Bohling Tested by: Daniel Bohling (Closes issue ASTERISK-21119)
	  ........ Merged revisions 382409 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382410 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-04 21:15 +0000 [r382392]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/format_cap.h, main/bridging.c: Fixup some bridge
	  and format capabilities comments and whitespace.

2013-03-04 21:14 +0000 [r382391]  Jason Parker <jparker@digium.com>

	* /, main/event.c: Fix comparison of presence state in event
	  subsystem. Several new IEs were not given types (or names),
	  causing the comparison function to improperly succeed. This adds
	  those. (closes issue AST-1128) ........ Merged revisions 382390
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-04 20:18 +0000 [r382386]  Kevin Harwell <kharwell@digium.com>

	* /, apps/app_confbridge.c: Confbridge CLI new record file name
	  check. This fix checks to make sure that if a confbridge record
	  start command is issued from the CLI it will always use the file
	  name given on the CLI even if it changes between start/stop
	  records for a conference. Previously it had been reusing the same
	  file between start/stops even if a new filename was given. (issue
	  AST-1088) Reported by: John Bigelow ........ Merged revisions
	  382385 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-03-01 18:01 +0000 [r382340]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c:
	  Add support for registering a sorcery handler which supports
	  multiple fields using a regex. Review:
	  https://reviewboard.asterisk.org/r/2332/

2013-03-01 04:32 +0000 [r382323]  Michael L. Young <elgueromexicano@gmail.com>

	* contrib/realtime/postgresql/realtime.sql, CHANGES,
	  contrib/realtime/mysql/sippeers.sql, /, channels/chan_sip.c: Fix
	  / Clean Up Some Items To Handle The New auto_* NAT Options The
	  original report had to do with a realtime peer behind NAT being
	  pruned and the peer's private address being used instead of its
	  external address. Upon debugging, it was discovered that this was
	  being caused by the addition of the auto_force_rport and
	  auto_comedia settings. This patch does the following: * Adds a
	  missing note to the CHANGES file indicating that the default
	  global nat setting is auto_force_rport * Constify the 'req'
	  parameter for check_via() * Add calls to check_via() in a couple
	  of places in order for the auto_* settings to do their job in
	  attempting to determine if NAT is involved * Set the flags
	  SIP_NAT_FORCE_RPORT and SIP_PAGE2_SYMMETRICRTP if the auto_*
	  settings are in use where it was needed * Moves the copying of
	  peer flags up in build_peer() to before they are used; this fixes
	  the realtime prune issue * Update the contrib/realtime schemas to
	  allow the nat column to handle the different nat setting
	  combinations we have This patch received a review and "Ship It!"
	  on the issue itself. (closes issue ASTERISK-20904) Reported by:
	  JoshE Tested by: JoshE, Michael L. Young Patches:
	  asterisk-20904-nat-auto-and-rt-peersv2.diff Michael L. Young
	  (license 5026) ........ Merged revisions 382322 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-28 21:59 +0000 [r382297-382299]  Joshua Colp <jcolp@digium.com>

	* /, res/res_rtp_asterisk.c: While the ICE negotiation is occurring
	  leave strictrtp in an open state, media can and will come from
	  different places. ........ Merged revisions 382298 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_rtp_asterisk.c, /: Fix a bug with ICE and strictrtp where
	  media could get dropped. If the end result of the ICE negotiation
	  resulted in the path for media changing it was possible for the
	  strictrtp code to discard the RTP packets. This change causes
	  strictrtp to enter learning mode once again when the ICE
	  negotiation has completed successfully. ........ Merged revisions
	  382296 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-28 21:31 +0000 [r382294-382295]  Richard Mudgett <rmudgett@digium.com>

	* main/threadpool.c: threadpool: Make ast_threadpool_push() return
	  -1 if shutting_down

	* include/asterisk/threadpool.h, main/threadpool.c: threadpool:
	  Whitespace and comment corrections.

2013-02-28 21:21 +0000 [r382292]  Jason Parker <jparker@digium.com>

	* res/res_rtp_asterisk.c, include/asterisk.h: Don't undefine
	  bzero()/bcopy(). This was causing build failures against external
	  libraries that happened to use them, unless silly hacks were
	  added to the modules that used those headers. Review:
	  https://reviewboard.asterisk.org/r/2359/

2013-02-28 17:17 +0000 [r382232-382236]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_iax2.c: Prevent deadlock in chan_iax2 when
	  attempting to set caller ID A deadlock can occur in chan_iax2
	  when it attempts to set the caller ID, as it already holds the
	  iax2 private lock and improperly fails to obtain the channel lock
	  before calling ast_set_callerid. By not safely obtaining the
	  channel lock, a locking inversion can take place, causing a
	  deadlock. This patch solves this by calling the required deadlock
	  avoidance functions that obtain the channel lock before setting
	  the caller ID. Thanks to Pavel for fixing my syntax errors and
	  testing this patch out. (closes issue ASTERISK-21128) Reported
	  by: Pavel Troller Tested by: Pavel Troller patches:
	  ASTERISK-21128-1.8.diff uploaded by mjordan (license 6283)
	  ASTERISK-21128-modified-1.8.diff uploaded by Pavel Troller
	  (license 6302) ........ Merged revisions 382233 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382234 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_meetme.c, CHANGES: Let channels joining a MeetMe
	  conference opt out of the denoiser For some channel drivers,
	  specifically those that have a varying rate in the number of
	  audio samples, the audio quality for a MeetMe conference can be
	  exceedingly poor. This is due to a unilateral application of the
	  DENOISE function in func_speex to channels joining the
	  conference. The denoiser function in the speex library is
	  initialized with the number of audio samples in each sample that
	  will be provided to it. If the number of audio samples changes,
	  the denoiser has to be thrown away and re-initialized. While this
	  could be worked around by removing func_speex, that doesn't help
	  if you actually use the denoiser with other channels on the
	  system. This patches does the following: * Checks for the
	  presence of func_speex as opposed to codec_speex when determining
	  if the DENOISE function is present (which is where the function
	  is actually implemented) * Adds an option to MeetMe 'n' that
	  causes the denoiser to not be applied to a channel when it joins.
	  This keeps the current behavior the default, but let's users
	  disable the denoiser if it causes problems on their system.
	  Review: https://reviewboard.asterisk.org/r/2358 (closes issue
	  AST-1062) Reported by: Thomas Arimont ........ Merged revisions
	  382227 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 382230 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-27 20:31 +0000 [r382203-382204]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_skinny.c: More places to eliminate the cast to argv
	  but were not giving warnings.

	* channels/chan_skinny.c: Fix compiler warning by eliminating the
	  need for a cast.

2013-02-27 16:19 +0000 [r382182]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_sip.c: Relax dialog checking in
	  get_sip_pvt_byid_locked so it works when the dialog is forked.
	  (closes issue ASTERISK-20638) Reported by: eelcob Patches:
	  pedantic-call-pickup-from-tag.patch uploaded by eelcob (license
	  6442) ........ Merged revisions 382171 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382174 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-26 20:05 +0000 [r382113]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* /, configure, configure.ac: Consider linux-gnuspe as linux-gnu *
	  The powerpcspe Linux port uses linux-gnuspe as the OS string. *
	  Our build system shouldn't really care for that, so just call it
	  linux-gnu. * Original report: Roland Stigge ,
	  http://bugs.debian.org/701505 Review:
	  https://reviewboard.asterisk.org/r/2357/ ........ Merged
	  revisions 382110 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382111 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-26 19:36 +0000 [r382109]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: Correct RPID parsing for unquoted
	  display-name. Parsing Remote-Party-ID will now succeed if
	  display-name is of the *(token LWS) kind and not just the
	  quoted-string kind. Review:
	  https://reviewboard.asterisk.org/r/2341/ ........ Merged
	  revisions 382107 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382108 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-26 19:29 +0000 [r382106]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* /, main/Makefile: Remove unneeded linux-gnueabi* As of r380522
	  the configure scripts converts the value of linux-gnueabi* of
	  OSARCH to "linux-gnu". So no point in testing for those values.
	  ........ Merged revisions 382087 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382096 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-26 15:52 +0000 [r382067-382070]  Matthew Jordan <mjordan@digium.com>

	* apps/app_confbridge.c, /: Clean up ConfBridge commands to account
	  for wait_marked users When ConfBridge was refactored to better
	  handle the concept of marked, wait_marked, and normal users
	  co-existing in a conference (thereby implementing a state machine
	  for the conference), the wait_marked users were put into their
	  own list of conference participants, separate from the active
	  users. This list is used for wait_marked users when they are
	  waiting in a conference but no marked user has joined; normal
	  users may have joined at this point however. There are several
	  AMI/CLI commands that affect conference users that were not
	  checking the wait_marked users list: * CLI/AMI commands that
	  mute/unmute a participant. In this case, wait_marked users have
	  to remain in their particular state and should not be affected -
	  however, the commands would return "Channel not found" as opposed
	  to the appropriate error condition. * CLI/AMI commands that kick
	  a participant. An admin should always be able to kick a
	  participant out of the conference. This patch fixes both sets of
	  commands, and cleans up the CLI commands slightly by allowing
	  them to complete a participant name (this was supposed to have
	  been added, but the function call was commented out and wasn't
	  implemented). Review: https://reviewboard.asterisk.org/r/2346/
	  (closes issue AST-1114) Reported by: John Bigelow Tested by: John
	  Bigelow ........ Merged revisions 382068 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* configs/confbridge.conf.sample, /,
	  apps/confbridge/conf_config_parser.c: Ensure that the default
	  bridge/user profiles are always available ConfBridge and Page
	  require that there always be a default bridge and user profile
	  available. While properties of the default profiles can be
	  overriden in the configuration file, removing them can create
	  situations where neither application can function properly. This
	  patch ensures that if an administrator removes the profiles from
	  the confbridge.conf configuration file, the profiles are added
	  upon load. Documentation clarifying this has been added to the
	  confbridge.conf.sample file. Review:
	  https://reviewboard.asterisk.org/r/2356/ (closes issue AST-1115)
	  Reported by: John Bigelow Tested by: John Bigelow ........ Merged
	  revisions 382066 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-25 12:51 +0000 [r382023]  Matthew Jordan <mjordan@digium.com>

	* addons/res_config_mysql.c, /: Clean up use of va_end/va_args in
	  res_config_mysql There were several problems using variadic
	  argument macros in res_config_mysql. * Improper use of va_end.
	  Multiple calls to va_end were possible resulting in an unbalanced
	  matching of va_start/va_end. * Calls to va_arg after a possible
	  encounter of a SENTINEL value. This patch corrects those errors.
	  (closes issue ASTERISK-19451) Reported by: wdoekes patches:
	  ASTERISK-19451-1.8--2.diff uploaded by wdoekes (License 5674)
	  ........ Merged revisions 382021 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 382022 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-25 07:09 +0000 [r382007-382008]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: More called details fixup for skinny.
	  Basically sets the callerid and callername to the first device
	  talked to for the purposes of putting the the calls made log on
	  the device. Does not affect the device displaying who the device
	  is currently talking to. Also some minor changes to use
	  sub->exten in lieu of l->lastnumberdialed. (closes issue
	  ASTERISK-21095) Reported by: wedhorn Tested by: snuffy, myself
	  Patches: skinny-calllogsoutbound03.diff uploaded by wedhorn
	  (license 5019)

	* channels/chan_skinny.c: Add prinotify messages to skinny. Adds
	  both fixed and variable prinotify messages and clearprinotify
	  messages to skinny. Also adds cli function for pushing messages
	  to devices. i Initial code by snuffy, expanded by myself to
	  include fixed messages. (closes issue ASTERISK-21091) Reported
	  by: snuffy Tested by: snuffy, myself Patches:
	  skinny-prinotify02.diff uploaded by wedhorn (license 5019)

2013-02-24 23:01 +0000 [r381918-381977]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_jingle.c, /: Set the sin_family on the bind address
	  socket during initialization Somehow, chan_jingle has managed to
	  operate for years without setting the sin_family on its bindaddr
	  socket. This patch properly sets the field during initial module
	  load to AF_INET. Note that the patch on the issue was modified
	  slightly to change the initialization of the socket from
	  allocation of a chan_jingle private to the module initialization,
	  as the bindaddr object (which is static) only needs to have the
	  address set once. (closes issue ASTERISK-19341) Reported by:
	  andre valentin patches: 0105-chan_jingle.patch uploaded by
	  avalentin (License 6064) ........ Merged revisions 381975 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381976 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/manager.c, /: Don't display the AMI ALL class authorization
	  for users if they don't have it When converting AMI class
	  authorizations to a string representation, the method always
	  appends the ALL class authorization. This is especially important
	  for events, as they should always communicate that class
	  authorization - even if the event itself does not specify ALL as
	  a class authorization for itself. (Events have always assumed
	  that the ALL class authorization is implied when they are raised)
	  Unfortunately, this did mean that specifying a user with
	  restricted class authorizations would show up in the 'manager
	  show user' CLI command as having the ALL class authorization.
	  Rather then modifying the existing string manipulation function,
	  this patch adds a function that will only return a string if the
	  field being compared explicitly matches class authorization field
	  it is being compared against. This prevents ALL from being
	  returned unless it is actually specified for the user. (closes
	  issue ASTERISK-20397) Reported by: Johan Wilfer ........ Merged
	  revisions 381939 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381943 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_parkandannounce.c: Make ParkAndAnnounce return to
	  priority + 1 when return context is not defined The
	  ParkAndAnnounce application documentation for the optional
	  return_context parameter states the following: return_context The
	  goto-style label to jump the call back into after timeout.
	  Default 'priority+1'. Unfortunately, the application was sending
	  the channel back into the dialplan at 'priority', which is the
	  ParkAndAnnounce application call. This causes an infinite loop of
	  the channel constantly being parked, announced, timed out,
	  parked, announced, timed out... while fun, especially for those
	  callers you wish to drive to the end of madness, this was not the
	  intent of the application. (closes issue ASTERISK-20113) Reported
	  by: serginuez patches: app_parkandannounce.diff uploaded by
	  serginuez (License 6405) ........ Merged revisions 381916 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381917 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-22 19:40 +0000 [r381894]  Michael L. Young <elgueromexicano@gmail.com>

	* /, res/res_agi.c: Fix FastAGI To Properly Check For A Connection
	  When IPv6 support was added to FastAGI, the intent was to have
	  the ability to check all addresses resolved for a host since we
	  might receive an IPv4 address and an IPv6 address. The problem
	  with the current code, is that, since we are doing O_NONBLOCK, we
	  get EINPROGRESS when calling ast_connect() but are ignoring this
	  instead of handling it. We break out of the loop and continue on.
	  When we later call ast_poll(), it succeeds but we never check if
	  we have a connection or not on the socket level. We then attempt
	  to send data to the host address that we think is setup and it
	  fails. We then check the errno and see that we have "connection
	  refused" and then return with agi failed. This patch does the
	  following: * Handles EINPROGRESS by creating the function
	  handle_connection() - ast_poll() was moved into this function -
	  This function checks the results of the connection on the socket
	  level after calling ast_poll() * Continues to the next address if
	  the above fails to create a connection * Once all addresses
	  resolved are tried and we still are unable to establish a
	  connection, then we return that the FastAGI call failed (closes
	  issue ASTERISK-21065) Reported by: Jeremy Kister Tested by:
	  Jeremy Kister, Michael L. Young Patches:
	  asterisk-21065_poll_correctly_v4.diff Michael L. Young (license
	  5026) Review: https://reviewboard.asterisk.org/r/2330/ ........
	  Merged revisions 381893 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-22 15:51 +0000 [r381881]  Jonathan Rose <jrose@digium.com>

	* /, apps/app_dial.c: app_dial: Honor the 'c' flag when the calling
	  party hangs up Apparently this feature became broken in 11,
	  probably as a result of the Hangup Cause project. (closes issue
	  ASTERISK-21113) Reprted by: Heiko Wundram Patches: app_dial.patch
	  uploaded by Heiko Wundram (license 5822) ........ Merged
	  revisions 381880 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-22 01:52 +0000 [r381869]  Matthew Jordan <mjordan@digium.com>

	* configure, configure.ac, /: Properly detect launchd Asterisk was
	  a little too pro-active in claiming that it found launchd. On
	  systems without launchd - such as FreeBSD - this resulted in
	  certain items in Asterisk that conflict with launchd to not be
	  selectable, such as res_timing_kqueue. (closes issue
	  ASTERISK-20749) Reported by: Oleg Baranov ........ Merged
	  revisions 381847 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381848 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-19 19:47 +0000 [r381792]  Kevin Harwell <kharwell@digium.com>

	* main/features.c: Write the correct callid to the data1 field in
	  queue_log for transfer events. The incorrect callid was being
	  written to the "data1" field in queue_log table for transfer
	  events. The callid of the queue was being written instead of the
	  transfer target's callid. This now gets the correct "transfer to"
	  number and places that in the "data1" field of the queue_log
	  table when a transfer event is triggered. (closes issue
	  ASTERISK-19960) Reported by: vladimir shmagin ........ Merged
	  revisions 381770 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381791 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-19 17:17 +0000 [r381749]  Michael L. Young <elgueromexicano@gmail.com>

	* channels/chan_motif.c, include/asterisk/module.h,
	  res/snmp/agent.c, main/loader.c, main/cli.c: Add The Status Of A
	  Module To The Output Of "CLI> module show" When a module's
	  configuration is not loadable, we still load the module but it is
	  not in a running state. When trying to troubleshoot, let's say,
	  why chan_motif is ignoring inbound XMPP traffic, there is no way
	  to indicate that a loaded module is not currently running.
	  (closes issue ASTERISK-21108) Reported by: Rusty Newton Tested
	  by: Michael L. Young Patches: asterisk-21108_add_status-v2.diff
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2331/

2013-02-19 16:23 +0000 [r381729-381741]  Kevin Harwell <kharwell@digium.com>

	* apps/app_confbridge.c: Confbridge channels staying active when
	  all participants leave. If you started/stopped recording of a
	  conference multiple times channels would remain active even when
	  all participants left the conference. This was due to the fact
	  that a reference to the confbridge was being added every time a
	  start record command was issued, but when the recording was
	  stopped there was no matching de-reference thus keeping the
	  conference alive. Made sure only a single reference is added for
	  the record thread no matter how many times recording is
	  started/stopped. A de-reference is issued upon thread ending.
	  Note, this issue is being fixed under AST-1088 since it relates
	  to it and should have been corrected along with those
	  modifications. (issue AST-1088) Reported by: John Bigelow
	  ........ Merged revisions 381737 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* CHANGES, apps/confbridge/conf_config_parser.c,
	  apps/confbridge/include/confbridge.h, apps/app_confbridge.c:
	  Added Confbridge record_file_append option. Currently, if one
	  starts, stops, and then starts a recording again for a conference
	  the recorded data is appended to the file originally created on
	  the first record start. An option record_file_append has been
	  added that defaults to "yes", but when set to "no" will force
	  creation of a new file between every record start/stop. (issue
	  AST-1088) Reported by: John Bigelow Review:
	  http://reviewboard.digium.internal/r/374/

2013-02-19 06:54 +0000 [r381717-381718]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c, configs/skinny.conf.sample: Add
	  serviceURL stuff to skinny. Patch adds all the packet and
	  structure stuff to skinny to enable setting service URLs in
	  skinny, such as corporate directories. This stuff is only
	  relevant during load/unload as when activated. Also some minor
	  changes removing duplicated counting of addons and speedials in
	  handle_skinny_show_devices. Review:
	  https://reviewboard.asterisk.org/r/2321/

	* channels/chan_skinny.c: Fixup skinny CLI completion. Auto
	  complete for skinny debug allows multiple options and negation,
	  also add debug all option. Usage example: 'skinny debug all
	  -packets' (each can be autocompleted including -packet). Change
	  show device to use device name. Remove the duplicate ast_strdup's
	  from place calling device complete return immediately from
	  complete devicename and complete linename so that multiple
	  options are displayed on the CLI if more than one option
	  available. Review: https://reviewboard.asterisk.org/r/2333/

2013-02-18 22:23 +0000 [r381703]  Kevin Harwell <kharwell@digium.com>

	* apps/app_confbridge.c, /: Fixed Confbridge file recording
	  deadlock and appending. A deadlock occurred after
	  starting/stopping and then restarting a confbridge recording.
	  Upon starting a recording a record thread is created that holds a
	  lock until just before exiting. Stopping the recording does not
	  stop/exit the thread or release the lock. The thread waits until
	  recording begins again. Starting a stopped recording signals the
	  thread to continue and start recording again. However restarting
	  the recording also created another record thread resulting in a
	  deadlock. The fix was to make sure the record thread was only
	  created once. Also it was noted that filenames for the recordings
	  were being concatenated for each start/stop. This was fixed by
	  creating a new file for each conference session and appending the
	  actual recorded data within the file (e.g. passing the 'a' option
	  to MixMonitor). (issue AST-1088) Reported by: John Bigelow
	  Review: http://reviewboard.digium.internal/r/374/ ........ Merged
	  revisions 381702 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-18 20:31 +0000 [r381670]  Walter Doekes <walter+asterisk@wjd.nu>

	* configs/sip.conf.sample, /: Remove "registertrying" and add
	  "rtp_engine" from/to sip.conf.sample The "registertrying" option
	  was removed in r343220. The "rtp_engine" option was added in
	  r186078 but erroneously named "engine" in the sample. Note that
	  there is no global sip setting for a different engine. ........
	  Merged revisions 381668 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381669 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-18 19:48 +0000 [r381656]  Jonathan Rose <jrose@digium.com>

	* funcs/func_presencestate.c, /: PRESENCE_STATE: Provide better
	  documentation for the 'e' option. Notes that the 'e' option
	  actually decodes data when used as a write function such as with
	  the SET application while it encodes data when used to read.
	  Review: https://reviewboard.asterisk.org/r/2335/ ........ Merged
	  revisions 381655 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-18 19:12 +0000 [r381644]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_confbridge.c: confbridge: Add flags column to CLI
	  "confbridge list <conference>" * Added the following flags to the
	  CLI "confbridge list <conference>" output: A - The user is an
	  admin M - The user is a marked user W - The user must wait for a
	  marked user to join E - The user will be kicked after the last
	  marked user leaves the conference w - The user is waiting for a
	  marked user to join * Added the following header to the AMI
	  ConfbridgeList events: WaitMarked, EndMarked, and Waiting.
	  (closes issue AST-1101) Reported by: John Bigelow Patches:
	  confbridge-show-admin3.txt (license #5091) patch uploaded by John
	  Bigelow Modified

2013-02-16 20:44 +0000 [r381628]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_confbridge.c: confbridge: Rename i iterator variables to
	  iter.

2013-02-16 16:28 +0000 [r381615]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: Don't send presencestate information if
	  the state is invalid Previously, presencestate information was
	  sent whenever the state was not NOT_SET. When r381594 actually
	  returned INVALID presence state in all the places it was supposed
	  to, it caused chan_sip to start adding presence state information
	  to NOTIFY requests that it previously would not have added.
	  chan_sip shouldn't be adding presence state information when the
	  provider is in an invalid state; users can't set the state to
	  invalid and an invalid state always implies that the provider is
	  in an error condition. (issue AST-1084) ........ Merged revisions
	  381613 from http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-16 16:24 +0000 [r381614]  Joshua Colp <jcolp@digium.com>

	* res/res_sorcery_memory.c, include/asterisk/sorcery.h,
	  tests/test_sorcery.c, main/sorcery.c, res/res_sorcery_config.c:
	  Add support for retrieving multiple objects from sorcery using a
	  regex on their id. Review:
	  https://reviewboard.asterisk.org/r/2329/

2013-02-15 23:29 +0000 [r381595]  Matthew Jordan <mjordan@digium.com>

	* /, main/presencestate.c, funcs/func_presencestate.c,
	  main/manager.c: Fix crash in PresenceState AMI action when
	  specifying an invalid provider This patch fixes a crash in
	  Asterisk that could be caused by using the PresenceState AMI
	  action while providing an invalid provider. This patch also adds
	  some additional warnings when a user attempts to provide the
	  PresenceState action with invalid data, and removes some NOTICE
	  statements that were still lurking in the code from testing.
	  (closes issue AST-1084) Reported by: John Bigelow Tested by: John
	  Bigelow ........ Merged revisions 381594 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-15 18:51 +0000 [r381568]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Fix a crash that occurred when a BYE was
	  received on a replaced dialog. Reference counting for the channel
	  and its tech_pvt got messed up at some point between 1.8 and 11.
	  The result was that if a BYE for a dialog that had been replaced
	  (via an INVITE with Replaces) was received, Asterisk would crash
	  due to trying to access data on a channel that was no longer
	  there. The fix I introduced is to remove code that both unrefs
	  the sip_pvt and sets the channel's tech_pvt to NULL when an
	  INVITE with Replaces is handled. This way when a BYE is received,
	  the tech_pvt will be non-NULL and so the BYE can be processed and
	  not cause a crash. (closes issue ASTERISK-20929) reported by
	  Kristopher Lalletti patches: ASTERISK-20929.patch uploaded by
	  Mark Michelson (License #5049) ........ Merged revisions 381566
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-15 18:44 +0000 [r381567]  Matthew Jordan <mjordan@digium.com>

	* include/asterisk/sorcery.h, main/config_options.c,
	  main/sorcery.c: Disable strict XML documentation config checking;
	  fix crash caused by sorcery This patch does two things: 1. It
	  disables (temporarily) strict XML documentation checking for
	  module configurations. We should re-enable it before making any
	  release from trunk. 2. Pass the module flag AST_MODULE through
	  sorcery. This means several of the API calls are now macros and
	  will do this automatically for you. The config framework needs
	  the module that objects are registering to so it can properly
	  construct the documentation. (This was already a required field,
	  but sorcery was getting by without it)

2013-02-15 17:38 +0000 [r381557]  Kevin Harwell <kharwell@digium.com>

	* main/logger.c, include/asterisk/logger.h, main/autoservice.c:
	  Stopped spamming of debug messages during attended transfer.
	  While autoservice is running and servicing a channel the callid
	  is being stored and removed in the thread's local storage for
	  each iteration of the thread loop. If debug was set to a
	  sufficient level the log file would be spammed with callid thread
	  local storage debug messages. Added a new function that checks to
	  see if the callid to be stored is different than what is already
	  contained (if anything). If it is different then store/replace
	  and log, otherwise just leave as is. Also made it so all logging
	  of debug messages pertaining to the callid thread storage outputs
	  only when TEST_FRAMEWORK is defined. (issue ASTERISK-21014)
	  (closes issue ASTERISK-21014) Report by: Rusty Newton Review:
	  https://reviewboard.asterisk.org/r/2324/

2013-02-15 17:33 +0000 [r381556]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c: chan_sip: Use video and text crypto
	  attributes to append RTP profiles to SDP Some bad copy/pasting
	  resulted in using the audio crypto attribute for both text and
	  video RTP. Also the audio crypto isn't set until after these, so
	  it was really just bad all around. (closes ASTERISK-20905)
	  Reported by: Kristopher Lalletti patches:
	  rtp_crypto_video_text.diff uploaded by Jonathan Rose (license
	  6182) ........ Merged revisions 381553 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-15 15:26 +0000 [r381527-381543]  Matthew Jordan <mjordan@digium.com>

	* /: Remove automerge propertrties added in r381527

	* main/asterisk.c, main/xmldoc.c, main/udptl.c,
	  include/asterisk/xml.h, /, main/xml.c,
	  include/asterisk/_private.h, res/res_xmpp.c, main/named_acl.c,
	  configs/motif.conf.sample, apps/confbridge/conf_config_parser.c,
	  Makefile, include/asterisk/config_options.h,
	  configs/xmpp.conf.sample, apps/app_skel.c, channels/chan_motif.c,
	  include/asterisk/xmldoc.h, main/config_options.c,
	  doc/appdocsxml.dtd: Add CLI configuration documentation This
	  patch allows a module to define its configuration in XML in
	  source, such that it can be parsed by the XML documentation
	  engine. Documentation is generated in a two-pass approach: 1. The
	  documentation is first generated from the XML pulled from the
	  source 2. The documentation is then enhanced by the registration
	  of configuration options that use the configuration framework
	  This patch include configuration documentation for the following
	  modules: * chan_motif * res_xmpp * app_confbridge * app_skel *
	  udptl Two new CLI commands have been added: * config show help -
	  show configuration help by module, category, and item * xmldoc
	  dump - dump the in-memory representation of the XML documentation
	  to a new XML file. Review:
	  https://reviewboard.asterisk.org/r/2278 Review:
	  https://reviewboard.asterisk.org/r/2058 patches: on review 2058
	  uploaded by twilson

2013-02-14 19:58 +0000 [r381470-381471]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Remove extraneous stuff from r381470.

	* channels/chan_skinny.c: Add back sending dialnumber to skinny.
	  Don't know why it seemed to work during testing, but it really is
	  needed for protocol v17 (and probably above).

2013-02-14 19:52 +0000 [r381469]  Richard Mudgett <rmudgett@digium.com>

	* /, main/features.c: End stuck DTMF if AST_SOFTHANGUP_ASYNCGOTO
	  because it isn't a real hangup. It doesn't hurt to check
	  AST_SOFTHANGUP_UNBRIDGE either, but it should not be set outside
	  of a bridge. (issue ASTERISK-20492) ........ Merged revisions
	  381466 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 381467 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-14 19:25 +0000 [r381465]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Respect callerid presentation in skinny.
	  Fix chan_skinny so that it respects callerID presentation of
	  inbound calls to device and a couple of other minor fixes: 145
	  packet (add OCTAL_FROM amd callerid), and dont send dialednumber
	  message if protocol >= 17. (closes issue ASTERISK-21066) Reported
	  by: snuffy Tested by: snuffy, myself Patches:
	  skinny-respect-clid-restrictions-v2.diff uploaded by snuffy
	  (license 5024)

2013-02-14 18:47 +0000 [r381448]  Kinsey Moore <kmoore@digium.com>

	* main/logger.c, include/asterisk/term.h, apps/app_queue.c,
	  main/asterisk.c, main/term.c, main/data.c, main/pbx.c,
	  main/manager.c: Revamp of terminal color codes The core module
	  related to coloring terminal output was old and needed some love.
	  The main thing here was an attempt to get rid of the obscene
	  number of stack-local buffers that were allocated for no other
	  reason than to colorize some output. Instead, this uses a simple
	  trick to allocate several buffers within threadlocal storage,
	  then automatically rotates between them, so that you can make
	  multiple calls to the colorization routine within one function
	  and not need to allocate multiple buffers. Review:
	  https://reviewboard.asterisk.org/r/2241/ Patches: bug.patch
	  uploaded by Tilghman Lesher

2013-02-14 17:06 +0000 [r381398-381427]  Sean Bright <sean@malleable.com>

	* channels/chan_iax2.c: Use a shuffling algorithm to find unused
	  IAX2 call numbers. While adding red-black tree containers to
	  astobj2 in r376575, Richard pointed out the way chan_iax2 finds
	  unused call numbers will prevent ao2_container integrity checks
	  at runtime. This patch removes the ao2_container and instead uses
	  fixed sized arrays and a modified Fisher-Yates-Durstenfeld
	  shuffle to maintain the call number list. While the locking
	  semantics are similar to the ao2_container implementation, this
	  implementation should be faster and more memory efficient.
	  Review: https://reviewboard.asterisk.org/r/2288/

	* include/asterisk/doxygen/asterisk-git-howto.h: Update the name of
	  the update_tags utility in the git mirror how-to.

2013-02-14 03:49 +0000 [r381366]  Matthew Jordan <mjordan@digium.com>

	* apps/app_db.c, /: Don't throw a spurious error when using
	  DBdeltree The function call ast_db_deltree returns the number of
	  row deleted, or a negative number if it failed. DBdeltree was
	  treating any non-zero return as an error, causing a spurious
	  verbose error message to be displayed. This patch handles the
	  return code of ast_db_deltree correctly. (closes issue
	  ASTERISK-21070) Reported by: ianc patches: dbdeltree.diff
	  uploaded by ianc (License #5955) ........ Merged revisions 381364
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 381365 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-12 21:45 +0000 [r381326]  David M. Lee <dlee@digium.com>

	* tests/test_threadpool.c, tests/test_taskprocessor.c,
	  main/threadpool.c, main/taskprocessor.c,
	  include/asterisk/threadpool.h: Add a serializer interface to the
	  threadpool This patch adds the ability to create a serializer
	  from a thread pool. A serializer is a ast_taskprocessor with the
	  same contract as a default taskprocessor (tasks execute serially)
	  except instead of executing out of a dedicated thread, execution
	  occurs in a thread from a ast_threadpool. Think of it as a
	  lightweight thread. While it guarantees that each task will
	  complete before executing the next, there is no guarantee as to
	  which thread from the pool individual tasks will execute. This
	  normally only matters if your code relys on thread specific
	  information, such as thread locals. This patch also fixes a bug
	  in how the 'was_empty' parameter is computed for the push
	  callback, and gets rid of the unused 'shutting_down' field.
	  Review: https://reviewboard.asterisk.org/r/2323/

2013-02-12 20:57 +0000 [r381307]  Mark Michelson <mmichelson@digium.com>

	* main/rtp_engine.c, /: Do not allow native RTP bridging if
	  packetization of media streams differs. The RTP engine will no
	  longer allow for local and remote native RTP bridges if
	  packetization of streams differs. Allowing native bridging in
	  this scenario has been known to cause FAX failures. (closes
	  ASTERISK-20650) Reported by: Maciej Krajewski Patches:
	  ASTERISK-20659.patch uploaded by Mark Michelson (License #5049)
	  Review: https://reviewboard.asterisk.org/r/2319 ........ Merged
	  revisions 381281 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381306 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-12 20:18 +0000 [r381285]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c, channels/sip/security_events.c,
	  channels/sip/include/sip.h: Fix some more REF_DEBUG-related build
	  errors When sip_ref_peer and sip_unref_peer were exported to be
	  usable in channels/sip/security_events.c, modifications to those
	  functions when building under REF_DEBUG were not taken into
	  account. This change moves the necessary defines into sip.h to
	  make them accessible to other parts of chan_sip that need them.
	  ........ Merged revisions 381282 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-12 03:31 +0000 [r381256]  Michael L. Young <elgueromexicano@gmail.com>

	* apps/app_confbridge.c: Adding Some More Manager Events To
	  ConfBridge Currently, ConfBridge does not send manager events for
	  ConfbridgeMute, ConfbridgeUnmute, ConfbridgeStartRecord and
	  ConfbridgeStopRecord. This patch adds these events to the
	  manager. The reporter's patch moves some other events up to the
	  beginning of the file. The patch being committed is based on the
	  patch contributed from the reporter of this issue. I have made a
	  lot of modifications to the patch in order for it to fit in
	  better with what we currently are doing in the code when it comes
	  to manager events. I also made a few changes to the <see-also>
	  elements on some of the events. (closes issue ASTERISK-20827)
	  Reported by: Clint Davis Tested by: Clint Davis, Michael L. Young
	  Patches: 20827.diff uploaded by Clint Davis (license 6453)
	  asterisk-20827-confbridge-events.diff uploaded by Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2309/

2013-02-11 21:17 +0000 [r381219]  Kevin Harwell <kharwell@digium.com>

	* /, apps/app_playback.c: Properly load say.conf upon reload of
	  module app_playback. If say.conf did not exists prior to
	  originally loading module app_playback it would not load on
	  subsequent reloads of the module once it had been created. This
	  occurred because upon reload of the app_playback module it would
	  only load a new configuration if an old one had previously
	  existed. This fix simply removed the association between checking
	  if an old configuration existed and the loading of the new one.
	  (closes issue ASTERISK-20800) Reported by: pgoergler ........
	  Merged revisions 381216 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 381217 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-11 21:10 +0000 [r381218]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/astobj2.h: Fix compilation error with REF_DEBUG
	  When the red/black tree work was committed, there was an extra ",
	  " in the REF_DEBUG definition of ao2_container_alloc_rbtree.

2013-02-11 20:39 +0000 [r381214]  David M. Lee <dlee@digium.com>

	* tests/test_json.c, res/res_json.c: Minor fixes to res_json and
	  test_json. * Made input checking more consistent with other
	  Asterisk code * Added validation to ast_json_dump_new_file *
	  Fixed tests for ownereship semantics (issue ASTERISK-20887)

2013-02-11 18:54 +0000 [r381195]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Fix some issues with skinny callid. Add
	  extra string to transmit_callinfo_var, Only set string2 to tonum
	  for outgoing calls and changes to send_callinfo and push_callinfo
	  to not set callid name to last number. (closes issue
	  ASTERISK-21063) Reported by: wedhorn Tested by: snuffy, myself
	  Patches: skinny-callinfoupdate03.diff uploaded by wedhorn
	  (license 5019)

2013-02-11 18:00 +0000 [r381177]  Richard Mudgett <rmudgett@digium.com>

	* main/features.c: features: Don't cache a struct ast_app pointer.
	  Caching a struct ast_app pointer is not a good idea because
	  someone could unload the application. After the applicaiton
	  unload the cached ast_app pointer is no longer valid. Only pbx.c
	  can cache the pointer because it knows when the application is
	  unloaded and removes the pointer. * Fixed one-touch Monitor and
	  MixMonitor to not cache the ast_app pointer and not use the silly
	  monitor_ok/mixmonitor_ok/stopmixmonitor_ok flags. * Extracted
	  bridge_check_monitor() from ast_bridge_call() and use propper
	  locking.

2013-02-11 15:11 +0000 [r381160]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_xmpp.c: Fix crash in res_xmpp when deleting pubsub
	  node from CLI An error existed in res_xmpp where it would attempt
	  to delete attributes from a node that itself was also deleted.
	  Per the iksemel documentation, attributes added using iks_insert
	  are copied to the parent node's stack, and will be reclaimed when
	  that node is itself destroyed. (closes issue ASTERISK-20982)
	  Reported by: marcelloceschia patches: delete-node-fix.diff
	  uploaded by marcelloceschia (License 6036) ........ Merged
	  revisions 381159 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-10 14:58 +0000 [r381134]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c:
	  Add additional functionality to the Sorcery API. This commit adds
	  native implementation support for copying and diffing objects, as
	  well as the ability to load or reload on a per-object type level.
	  Review: https://reviewboard.asterisk.org/r/2320/

2013-02-09 20:58 +0000 [r381069-381118]  Richard Mudgett <rmudgett@digium.com>

	* main/pbx.c: pbx: Fix regression caused by taking advantage of the
	  function name sort. Taking advantage of the sorted order of the
	  registered functions container requires that they are actually
	  inserted in the expected sort order. * Insert the registered
	  functions into the container in case sensitive position. As a
	  result, only the complete_functions() routine needs to search the
	  entire container because it does a case insensitive search for
	  convenience. Caught by the unit tests.

	* main/pbx.c: pbx: Make function and application containers take
	  advantage of being sorted. * Fixed "core show function" tab
	  completion and token count checking. * Refactored function and
	  application container handling code to reduce redundancy. * Made
	  __ast_pbx_run() return using the defines the caller should
	  expect. Doesn't change the returned values. Just made use the
	  defines.

	* include/asterisk/channel.h, main/channel.c, channels/chan_sip.c:
	  Make ast_do_masquerade() a void function.

	* /, apps/app_confbridge.c: app_confbridge: Fix crash from
	  receiving an AMI action after ConfBridge unloaded. Unloading
	  ConfBridge caused the next AMI action received to crash Asterisk.
	  * Add the missing unregister of AMI action
	  ConfbridgeSetSingleVideoSrc when ConfBridge is unloaded. (closes
	  issue ASTERISK-20994) Reported by: Jeremy Kister Patches:
	  jira_asterisk_20994_v11.patch (license #5621) patch uploaded by
	  rmudgett Tested by: Rusty Newton, Jeremy Kister ........ Merged
	  revisions 381067 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-08 17:36 +0000 [r381068]  Jonathan Rose <jrose@digium.com>

	* configs/features.conf.sample, main/features.c, CHANGES: Call
	  Parking: Set PARKINGLOT and PARKINGSLOT variables on all parked
	  calls These two variables were previously not being set when
	  comebacktoorigin=yes and the example configs seemed to imply that
	  they should be. Since there is no harm in this and since calls
	  that are sent back to origin are capable of continuing in the
	  dialplan, this seemed like a no-brainer. Also it supports some
	  bridging tests I've been working on.

2013-02-07 17:57 +0000 [r381037]  Joshua Colp <jcolp@digium.com>

	* res/res_sorcery_config.c: Fix a bug where a changed configuration
	  file might not be available to all sorcery object types. Since
	  res_sorcery_config used a static name of "res_sorcery_config" to
	  inform the configuration file API that it asked for the
	  configuration file it was possible during a reload for some
	  sorcery object types not to receive the new configuration file.
	  This change introduces a UUID on a per-sorcery config instance
	  basis so that the unchanged state is kept on an instance basis
	  and not for the res_sorcery_config module as a whole.

2013-02-07 15:16 +0000 [r381017]  Kinsey Moore <kmoore@digium.com>

	* include/asterisk/stringfields.h, tests/test_stringfields.c: Add
	  aggregate operations for stuctures with string fields Add
	  struct-level comparison and copying of string fields to reduce
	  the complexity of whole-struct comparison and copying when using
	  string fields. The new macros do not take into account
	  non-stringfield data. Review:
	  https://reviewboard.asterisk.org/r/2308/

2013-02-06 20:18 +0000 [r380977]  David M. Lee <dlee@digium.com>

	* /, channels/chan_sip.c: Fixed failing test from r380696. When I
	  added my extensive suite of session timer unit tests, apparently
	  one of them was failing and I never noticed. If neither Min-SE
	  nor Session-Expires is set in the header, it was responding with
	  a Session-Expires of the global maxmimum instead of the
	  configured max for the endpoint. (issue ASTERISK-20787) ........
	  Merged revisions 380973 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380974 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-06 08:44 +0000 [r380925-380943]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fix reload skinny with active devices.
	  Patch ensures that d->activeline and l->activesub are moved over
	  to the new device and line so that on callend the appropriate
	  subs can be found to complete hangup before device resets.
	  (closes issue ASTERISK-16610) Reported by: wedhorn Tested by:
	  snuffy, myself Patches: skinny-reloadactive01.diff uploaded by
	  wedhorn (license 5019) ........ Merged revisions 380942 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* configs/skinny.conf.sample, channels/chan_skinny.c: Reset skinny
	  vmexten and immeddial char on reload. Make skinny reset vmexten
	  and immeddial to '\0' on reload to ensure that it is set to '\0'
	  if the appropriate item is removed/commented in skinny.conf. Also
	  small fix re immeddial char in skinny.conf and add immedial
	  setting to skinny show settings. (closes issue ASTERISK-21037)
	  Reported by: snuffy Tested by: snuffy, myself Patches:
	  immed_dial_fix.diff uploaded by snuffy (license 5024)

2013-02-05 19:11 +0000 [r380855-380896]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_confbridge.c, /, apps/app_page.c: app_page and
	  app_confbridge: Fix custom announcement on entering conference.
	  The Page and ConfBridge custom announcement did not play when
	  users entered the conference. * Fix the
	  CONFBRIDGE(user,announcement) file not getting played. The code
	  to do this got removed accidentally when the ConfBridge code was
	  restructured to be more state machine like. * Fixed
	  play_prompt_to_user() doxygen comments. * Fixed the Page A(x) and
	  n options for the caller. The caller never played the
	  announcement file and totally ignored the n option. The code to
	  do this was lost when the application was converted to use
	  ConfBridge. * Factored out setup_profile_bridge(),
	  setup_profile_paged(), and setup_profile_caller() routines to
	  setup ConfBridge profiles. Made each profile setup routine use
	  the default template if one has not already been setup by
	  dialplan. (closes issue ASTERISK-20990) Reported by: Jeremy
	  Kister Tested by: rmudgett ........ Merged revisions 380894 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/confbridge/conf_state_multi_marked.c: app_confbridge: Fix
	  error messages on exiting conference. A marked user ending a
	  conference with only end_marked users generates error messages:
	  ERROR[0000][C-00000000]: confbridge/conf_state.c:47
	  conf_invalid_event_fn: Invalid event for confbridge user '' * The
	  MULTI_MARKED state was doing too much when it was kicking out the
	  end_marked users from the conference. The kicked out users will
	  clean up after themselves when they exit the conference. (closes
	  issue ASTERISK-20991) Reported by: Jeremy Kister Tested by:
	  rmudgett ........ Merged revisions 380892 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_page.c: app_page: Fixup application XML documentation
	  typos and inaccuracies. ........ Merged revisions 380869 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/confbridge/conf_config_parser.c, /: Because the compiler can
	  check types with a struct copy and memcpy() cannot. ........
	  Merged revisions 380856 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/dial.c, /: Separate option_types[] from the struct
	  definition. Updated the option_types[] doxygen comment. ........
	  Merged revisions 380853 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380854 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-04 19:52 +0000 [r380817]  Jason Parker <jparker@digium.com>

	* /, res/Makefile, res/pjproject/build/common.mak,
	  res/pjproject/aconfigure, res/pjproject/build/os-auto.mak.in,
	  Makefile, res/pjproject/aconfigure.ac: Fix how we build
	  pjproject. Allow parallel builds, better tolerate failures, build
	  faster. This also stops running dependencies before top-level
	  configure has been run. (closes issue ASTERISK-20815) Review:
	  https://reviewboard.asterisk.org/r/2292/ ........ Merged
	  revisions 380816 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-02-02 01:52 +0000 [r380792]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Add variable length displayprompt packet
	  to skinny and use octals. Add new variable length displayprompt
	  packet (0x0145) to skinny. Uses the new packet if the device is
	  reporting protocol versions >= 17. Add the use of octal codes for
	  sending prompts to both the new and old displayprompt messages
	  (also cleaned up soft_key_template_default to use the defined
	  octal codes). Review: https://reviewboard.asterisk.org/r/2294/

2013-02-01 19:35 +0000 [r380774]  Richard Mudgett <rmudgett@digium.com>

	* channels/iax2/firmware.c: chan_iax2: Fix compile error if
	  MALLOC_DEBUG enabled. NEVER INCLUDE astmm.h DIRECTLY!!

2013-02-01 06:37 +0000 [r380755]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Adds variable length callinfo packets to
	  skinny. Add packet 0x014A (variable length call info messages) to
	  skinny for newer firmware. Plenty of unknown information but
	  includes the equivalent functionality as the fixed size callinfo
	  packet already included. Only send this packet if protocol
	  reported is >= 17. Review:
	  https://reviewboard.asterisk.org/r/2290/

2013-01-31 22:03 +0000 [r380738]  Jason Parker <jparker@digium.com>

	* res/pjproject/pjlib/src/pj/ssl_sock_ossl.c,
	  res/pjproject/pjlib/src/pj/log.c,
	  res/pjproject/pjlib/src/pj/pool_buf.c, /,
	  res/pjproject/pjsip-apps/src/samples/icedemo.c,
	  res/pjproject/pjlib/include/pj/config_site.h,
	  res/pjproject/pjmedia/src/test/test.c: Multiple revisions
	  380735-380736 ........ r380735 | qwell | 2013-01-31 15:40:09
	  -0600 (Thu, 31 Jan 2013) | 1 line Fix a few compiler warnings.
	  ........ r380736 | qwell | 2013-01-31 15:42:34 -0600 (Thu, 31 Jan
	  2013) | 1 line Ignore warnings caused by PJ_TODO()s in pjproject.
	  ........ Merged revisions 380735-380736 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-31 20:17 +0000 [r380699]  David M. Lee <dlee@digium.com>

	* /, channels/chan_sip.c: Process session timers, even if
	  Session-Expires header is missing Previously, Asterisk only
	  processed session timer information if both the 'Supported:
	  timer' and 'Session-Expires' headers were present. However, the
	  Session-Expires header is optional. If we were to receive a
	  request with a Min-SE greater than our configured
	  session-expires, we would respond with a 'Session-Expires' header
	  that was too small. This patch cleans the situation up a bit,
	  always processing timer information if the 'Supported: timer'
	  header is present. (closes issue ASTERISK-20787) Reported by:
	  Mark Michelson Review: https://reviewboard.asterisk.org/r/2299/
	  ........ Merged revisions 380696 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380698 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-31 19:52 +0000 [r380695]  Sean Bright <sean@malleable.com>

	* channels/iax2/include/firmware.h (added),
	  channels/iax2/include/parser.h, channels/chan_iax2.c,
	  channels/iax2/firmware.c (added): Move IAX firmware related
	  functionality into separate files. This patch is mostly a
	  reorganization of existing code with a few exceptions: * Added
	  doxygen comments to all of the extracted functions. * Split
	  reload_firmware(int unload) into iax_firmware_reload() and
	  iax_firmware_unload() for readability. * Create
	  iax_firmware_traverse() to support the 'iax2 show firmware' CLI
	  command. * Renamed iax_check_version() to
	  iax_firmware_get_version() and change its arguments and return
	  value so that it returns a success/failure value and sets the
	  selected version into an out parameter to avoid confusion with
	  failure and version 0.

2013-01-31 19:04 +0000 [r380674]  Jason Parker <jparker@digium.com>

	* res/pjproject/build/rules.mak,
	  res/pjproject/pjnath/build/Makefile,
	  res/pjproject/pjsip/build/Makefile, res/pjproject/aconfigure,
	  res/pjproject/pjsip-apps/build/Makefile,
	  res/pjproject/aconfigure.ac,
	  res/pjproject/pjmedia/build/Makefile,
	  res/pjproject/build/cc-auto.mak.in, /,
	  res/pjproject/pjlib-util/build/Makefile,
	  res/pjproject/pjlib/build/Makefile: Multiple revisions
	  380671-380673 ........ r380671 | qwell | 2013-01-31 12:59:28
	  -0600 (Thu, 31 Jan 2013) | 4 lines Remove a cross-compile
	  workaround. ar and ranlib can be easily detected with autoconf.
	  ........ r380672 | qwell | 2013-01-31 13:00:38 -0600 (Thu, 31 Jan
	  2013) | 2 lines Always check for libm, regardless of configure
	  options. ........ r380673 | qwell | 2013-01-31 13:03:03 -0600
	  (Thu, 31 Jan 2013) | 7 lines Add support for parallel builds of
	  pjproject. Also adds proper dependency checking, and direct .a
	  file targets. We don't take advantage of this currently, but we
	  will soon. (issue ASTERISK-20815) ........ Merged revisions
	  380671-380673 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-31 18:22 +0000 [r380576-380666]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_multiplexed.c: bridge_multiplexed: Keep the
	  multiplexed thread until no more bridges use it. * Fixed the
	  potential of losing the multiplexed bridge thread when the last
	  channel leaves and another joins while the multiplexed thread is
	  being shut down. * Refactored and improved the management of the
	  serviced channels array. * Changed the channels count to a
	  bridges count so it only needs to be incremented rather than
	  changed by two.

	* main/frame.c, funcs/func_frame_trace.c: Improve func FRAME_TRACE
	  DTMF digit format.

	* include/asterisk/bridging.h: Eliminate an unused lock in
	  ast_bridge_channel.

	* main/channel.c: Eliminate a use of a C++ keyword as a variable.
	  new to new_frame

	* channels/iax2: Add ignore properties to channels/iax2

	* include/asterisk/channel.h, /: Make CHECK_BLOCKING() debug
	  message more useful. Change the displayed pthread value to hex
	  format so it can be easily matched with CLI core show threads or
	  gdb. ........ Merged revisions 380611 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380612 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_dahdi.c, /: chan_dahdi: Fix "dahdi show channels
	  group" for groups greater than 31. The variable type used was not
	  large enough to hold a group bit field. ........ Merged revisions
	  380572 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 380575 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-30 17:49 +0000 [r380460-380522]  Matthew Jordan <mjordan@digium.com>

	* /, configure, configure.ac: Support building Asterisk for
	  Raspberry Pi/Raspbian with hard-float support Building Asterisk
	  on Raspbian with hard-float support fails as it uses the string
	  'linux-gnueabihf' for host os, as opposed to 'linux-gnueabi'.
	  This patch modifies the configure script for Asterisk such that
	  it will match on any string beginning with 'linux-gnueabi', as
	  opposed to requiring an explicit match. (closes issue
	  ASTERISK-21006) Reported by: Christian Hesse Tested by: Christian
	  Hesse patches: linux-gnueabihf.patch uploaded by Christian Hesse
	  (license 6459) linux-gnueabihf-autoconf.patch uploaded by
	  Christian Hesse (license 6459) ........ Merged revisions 380520
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 380521 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: Unregister SIP provider API if module
	  load is declined A user in #asterisk ran into a problem where a
	  configuration error prevented the chan_sip module from being
	  loaded. Upon fixing their configuratione error, they could no
	  longer load the chan_sip module. This was because the
	  configuration checking happened after the SIP provider was
	  registered with the Asterisk core, and subsequent attempts to
	  load the SIP module failed as the provider was already
	  registered. Since we want to detect any failure in registering
	  chan_sip as early as possible (as that could be emblematic of a
	  deeper mismatch between module and Asterisk core), this patch
	  does not change the registration location, but does ensure that
	  if a module load is declined, we unregister the module as the SIP
	  api provider. ........ Merged revisions 380480 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: Perform case insensitive comparisons for
	  T.38 attributes RFC5347 section 2.5.2 states the following: ...
	  The attribute "T38MaxBitRate" was once incorrectly registered
	  with IANA as "T38maxBitRate" (lower-case "m"). In accordance with
	  T.38 examples and common implementation practice, the form
	  "T38MaxBitRate" SHOULD be generated by implementations conforming
	  to this package. In general, it is RECOMMENDED that
	  implementations of this package accept lowercase, uppercase, and
	  mixed upper/lowercase encodings of all the T.38 attributes. ...
	  Asterisk currently does not perform case insensitive matching on
	  the T.38 attributes. This causes the T38MaxBitRate attribute to
	  be negotiated at 2400 baud instead of 14400 (or whatever value
	  you actually wanted). This patch makes it so that when we compare
	  T.38 attributes, we do so in a case insensitive fashion. Note
	  that while the issue reporter did not directly write the patch,
	  they contributed to it (and would have provided one themselves if
	  the license had gone through a tad faster), and hence get
	  attribution for it. Review:
	  https://reviewboard.asterisk.org/r/2298/ (closes issue
	  ASTERISK-20897) Reported by: Eric Hill Tested by: Eric Hill
	  patches: -- uploaded by Eric Hill ........ Merged revisions
	  380458 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 380465 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_calendar_icalendar.c, /: Fix memory leak in
	  res_calendar_icalendar The ICalendar module had a systemic memory
	  leak on each fetch of data from the ICalendar source. The
	  previous fetched data was not being properly disposed. This patch
	  makes it so that before each fetch of data, we dispose of the
	  previously fetched data. (closes issue ASTERISK-21012) Reported
	  by: Joel Vandal Tested by: Joel Vandal ........ Merged revisions
	  380451 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 380452 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-29 22:58 +0000 [r380433]  Sean Bright <sean@malleable.com>

	* channels/iax2/parser.c (added), channels/iax2 (added),
	  channels/iax2-parser.h (removed),
	  channels/iax2/include/provision.h (added), channels/iax2/include
	  (added), channels/iax2/include/parser.h (added), channels/iax2.h
	  (removed), channels/iax2-provision.c (removed),
	  channels/iax2/provision.c (added), channels/Makefile,
	  channels/chan_iax2.c, channels/iax2-parser.c (removed),
	  channels/iax2/include/iax2.h (added), channels/iax2-provision.h
	  (removed): Move the ancillary iax2 source files into a separate
	  sub-directory. This patch just moves the IAX2 source and header
	  files into a separate iax2 sub-directory in the channels
	  directory, similar to how the sip source files are structured.
	  The only thing that was added was an #ifndef to protect
	  provision.h from multiple inclusion.

2013-01-29 20:19 +0000 [r380407]  Joshua Colp <jcolp@digium.com>

	* tests/test_sorcery.c, main/sorcery.c: Fix an issue where building
	  with DEBUG_FD_LEAKS enabled would not work due to sorcery using
	  calls called "open" and "close".

2013-01-29 18:02 +0000 [r380386]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_agent.c: chan_agent: Prevent multiple channels
	  from logging in as the same agent. Multiple channels logging in
	  as the same agent can result in dead channels waiting for a
	  condition signal that will never come because another channel
	  thread stole it. A symptom is chan_sip repeatedly generating
	  warning messages about rescheduling autodestruction of dialogs
	  with an agent channel owner. * Made only login_exec() (the app
	  AgentLogin) clear the agent_pvt->chan pointer to prevent multiple
	  channels from logging in as the same agent. agent_read(),
	  agent_call(), and agent_set_base_channel() no longer disconnect
	  the agent channel from the agent_pvt. This also eliminates the
	  need to keep checking for agent_pvt->chan being NULL. * Made
	  agent_hangup() not wake up the AgentLogin agent thread until it
	  is done. * Made agent_request() not able to get the agent until
	  he has logged in and any wrapup time has expired. * Made
	  agent_request() use ast_hangup() instead of agent_hangup() to
	  correctly dispose of a channel. * Removed
	  agent_set_base_channel(). Nobody calls it and it is a bad thing
	  in general. * Made only agent_devicestate() determine the current
	  device state of an agent. Note: Agent group device states have
	  never been supported. Review:
	  https://reviewboard.asterisk.org/r/2260/ ........ Merged
	  revisions 380364 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380384 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-29 17:46 +0000 [r380383]  David M. Lee <dlee@digium.com>

	* channels/sip/sdp_crypto.c, /: Corrected crypto tag in SDP ANSWER
	  for SRTP. (again) The original fix (r380043) for getting Asterisk
	  to respond with the correct tag overlooked some corner cases, and
	  the fact that the same code is in 1.8. This patch moves the
	  building of the crypto line out of sdp_crypto_process(). Instead,
	  it merely copies the accepted tag. The call to sdp_crypto_offer()
	  will build the crypto line in all cases now, using a tag of "1"
	  in the case of sending offers. (closes issue ASTERISK-20849)
	  Reported by: José Luis Millán Review:
	  https://reviewboard.asterisk.org/r/2295/ ........ Merged
	  revisions 380347 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380350 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-29 17:06 +0000 [r380349]  Jonathan Rose <jrose@digium.com>

	* main/features.c, /: call_parking: Make sure fallbacks are used
	  when lacking a flat channel exten A regression was introduced
	  which removed automatic fallback behavior from the PBX. This
	  behavior was used by call parking (or at least documented as how
	  the feature works) in order to select an extension when the flat
	  channel extension wasn't available from the comebackcontext.
	  Parking now handles the fallbacks internally in order to keep
	  behavior matching with how it is documented. (closes issue
	  ASTERISK-20716) Reported by: Chris Gentle Review:
	  https://reviewboard.asterisk.org/r/2296/ ........ Merged
	  revisions 380348 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-29 14:48 +0000 [r380299-380332]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: Ensure that a declined media stream is
	  terminated with a '\r\n' In r369028, chan_sip's processing of
	  media streams in an SDP was modified to better handle multiple
	  offered media streams. Part of that change modified how streams
	  were declined. Previously, declined media streams were not
	  handled in an RFC compliant manner; now, we set the port number
	  to 0 in the media stream definition and proceed on with the next
	  media stream. Unfortunately, the formatting of the declined media
	  stream forgot to append a '\r\n' to the end of the media stream.
	  This is normally added to the accepted media streams later on in
	  the processing of the SDP. Since the declined media stream uses a
	  different buffer than the accepted media streams (and is a
	  malloc'd buffer as opposed to a struct ast_str), it's easier to
	  just slap the '\r\n' on the declined media stream buffer rather
	  than attempt to append it later on. So, that's what we do. And
	  now some devices (and probably some providers) will be a bit
	  happier (but probably not terribly happy, since we just rejected
	  something they offered). Review:
	  https://reviewboard.asterisk.org/r/2297/ (closes issue
	  ASTERISK-20908) Reported by: Dennis DeDonatis Tested by: Dennis
	  DeDonatis ........ Merged revisions 380331 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* autoconf/ast_check_pwlib.m4, /, configure,
	  include/asterisk/autoconfig.h.in: Update configure script to be
	  compatible with ptlib 2.10.9 With ptlib 2.10.9, the configure
	  script fails due to grep returning multiple matches for the
	  pattern it searches for. This patch updates the pattern matching
	  to return only the actual version for the symbol searched for,
	  PTLIB_VERSION. (closes issue ASTERISK-20980) Reported by: Stefan
	  Reuter patches: ASTERISK-20980-1.patch uploaded by Stefan Reuter
	  (license 5339) ........ Merged revisions 380297 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380298 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-28 21:09 +0000 [r380256]  Sean Bright <sean@malleable.com>

	* /, channels/iax2.h, channels/chan_iax2.c: Correct the number of
	  available call numbers in IAX2. There is currently an edge case
	  where call number 32768 might be allocated for a call, even
	  though the IAX2 protocol requires call numbers be only 15 bits.
	  This resulted in some unpredictable behavior when call number
	  32678 is chosen. This patch was mostly written by Richard Mudgett
	  via ReviewBoard. I'm just committing it. Review:
	  https://reviewboard.asterisk.org/r/2293/ ........ Merged
	  revisions 380254 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380255 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-28 01:58 +0000 [r380209-380212]  Russell Bryant <russell@russellbryant.com>

	* main/file.c, /: Change cleanup ordering in filestream destructor.
	  This patch came about due to a problem observed where wav files
	  had an empty header. The header is supposed to be updated in
	  wav_close(). It turns out that this was broken when the
	  cache_record_files option from asterisk.conf was enabled. The
	  cleanup code was moving the file to its final destination
	  *before* running the close() method of the file destructor, so
	  the header didn't get updated. Another problem here is that the
	  move was being done before actually closing the FILE *. Finally,
	  the last bug fixed here is that I noticed that wav_close() checks
	  for stream->filename to be non-NULL. In the previous cleanup
	  order, it's checking a pointer to freed memory. This doesn't
	  actually cause anything to break, but it's treading on dangerous
	  waters. Now the free() of stream->filename is happening after the
	  format module's close() method gets called, so it's safer.
	  Review: https://reviewboard.asterisk.org/r/2286/ ........ Merged
	  revisions 380210 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 380211 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/logger.c, CHANGES, configs/logger.conf.sample: Add
	  queue_log_realtime_use_gmt option to logger.conf Add an option
	  that lets you specify that the timestamps going into the realtime
	  queue log should be in GMT instead of local time. Review:
	  https://reviewboard.asterisk.org/r/2287/

2013-01-27 20:33 +0000 [r380194]  Michael L. Young <elgueromexicano@gmail.com>

	* apps/confbridge/conf_config_parser.c, /: Fix Some Configured
	  Conference Bridge Sounds Not Being Set The "sound_only_one" sound
	  was not being set even though it was configured. In looking into
	  this, I found that the "join" and "leave" prompts were not being
	  set either. (closes issue ASTERISK-20898) Reported by: Stephan
	  Tested by: Stephan Patches:
	  asterisk-20898-custom-sounds-ignored.diff uploaded by Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2289/ ........ Merged
	  revisions 380193 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-27 18:40 +0000 [r380165-380178]  Joshua Colp <jcolp@digium.com>

	* tests/test_sorcery.c: Add a unit test which confirms the apply
	  handler callback is called when it should be.

	* main/sorcery.c: Fix a bug where the apply function was not
	  getting called.

2013-01-25 23:23 +0000 [r380142]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_multiplexed.c: bridge_multiplexed: Rename
	  variables so they are not the same as the struct name. * Rename
	  multiplexed_thread variables to muxed_thread. It is shorter and
	  my editer tagging works much better. Struct names and variable
	  names have different purposes and therefore should have different
	  names. * Renamed the multiplexed_threads container to
	  muxed_threads for consistency.

2013-01-25 20:46 +0000 [r380121]  Jason Parker <jparker@digium.com>

	* res/res_sorcery_memory.c, res/res_sorcery_config.c: Make sorcery
	  modules global, since they are required by other modules that are
	  global.

2013-01-25 20:00 +0000 [r380108-380109]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_multiplexed.c, main/bridging.c: Misc bridge code
	  improvements * Made multiplexed_bridge_destroy() check if
	  anything to destroy and cleared bridge_pvt pointer after
	  destruction. * Made multiplexed_add_or_remove() handling of the
	  chans array simpler. * Extracted bridge_channel_poke(). *
	  Simplified bridge_array_remove() handling of the bridge->array[].
	  The array does not have a NULL sentinel pointer. * Made
	  ast_bridge_new() not create a temporary bridge just to see if it
	  can be done. Only need to check if there is an appropriate bridge
	  tech available. * Made ast_bridge_new() clean up on allocation
	  failures. * Made destroy_bridge() free resources in the opposite
	  order of creation.

	* bridges/bridge_simple.c, bridges/bridge_softmix.c,
	  bridges/bridge_multiplexed.c, main/bridging.c: More trivial
	  bridge code cleanup. * Breaking long lines * Word wrapping
	  comment blocks. * Removing redundant initializers. * Debug
	  message wording.

2013-01-25 14:23 +0000 [r380069-380082]  Joshua Colp <jcolp@digium.com>

	* res/res_sorcery_config.c: Add a missing '\' to a log message.

	* configs/test_sorcery.conf.sample (added),
	  res/res_sorcery_memory.c (added), configs/sorcery.conf.sample
	  (added), include/asterisk/sorcery.h (added), tests/test_sorcery.c
	  (added), main/asterisk.c, main/sorcery.c (added),
	  res/res_sorcery_config.c (added): Merge the sorcery data access
	  layer API. Sorcery is a unifying data access layer which provides
	  a pluggable mechanism to allow object creation, retrieval,
	  updating, and deletion using different backends (or wizards).
	  This is a fancy way of saying "one interface to rule them all"
	  where them is configuration, realtime, and anything else that
	  comes along. Review: https://reviewboard.asterisk.org/r/2259/

2013-01-25 05:49 +0000 [r380057]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c, configs/skinny.conf.sample: Add force
	  dial keys to skinny. Adds a dial softkey when the device is in
	  DAFD. The softkey is greyed (unusable) until a possible dialplan
	  match is entered. Code includes updating transmit_selectsoftkeys
	  to allow the use of a button mask. Also add option to use # or *
	  as a dial now button. Original patch by snuffy cleaned up by
	  myself. Review: https://reviewboard.asterisk.org/r/2277/

2013-01-24 16:40 +0000 [r380044]  David M. Lee <dlee@digium.com>

	* /, channels/sip/sdp_crypto.c: Corrected crypto tag in SDP ANSWER
	  for SRTP. When Asterisk responds with an SDP ANSWER for SRTP, it
	  had the code to correctly fill in the crypto data, which was
	  overwritten by a call to sdp_crypto_offer. Corrected the
	  situation by changing sdp_crypto_offer to not replacing crypto
	  data if it already exists. (closes issue ASTERISK-20849) Reported
	  by: José Luis Millán Tested by: Iñaki Baz Castillo Patches:
	  fix_sdp_crypto_tags.diff uploaded by Pedro Kiefer (license 6407)
	  ........ Merged revisions 380043 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-24 04:02 +0000 [r380029]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_confbridge.c: Correct documentation for
	  ConfbridgeList AMI action The documentation for ConfbridgeList
	  states that the Conference field is optional. That's not really
	  the case: if you fail to provide a Conference number, the command
	  will kick back an error. (closes issue AST-1090) Reported by:
	  John Bigelow ........ Merged revisions 380028 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-23 16:50 +0000 [r380004]  Kinsey Moore <kmoore@digium.com>

	* contrib/scripts/autosupport: Add support for DPMA to autosupport
	  This adds the ability to get the DPMA version, a listing of the
	  local firmware directory, and indexes of configured remote
	  directories. (closes issue AST-1070) Reported By: Malcolm
	  Davenport Tested By: Kinsey Moore <kmoore@digium.com>

2013-01-23 00:30 +0000 [r379966]  Richard Mudgett <rmudgett@digium.com>

	* main/astobj2.c, /: Attempt to be more helpful when using a bad
	  ao2 object pointer. Put the external obj pointer in the message
	  instead of the internal version. ........ Merged revisions 379963
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 379964 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-22 22:19 +0000 [r379950]  Jonathan Rose <jrose@digium.com>

	* /, res/res_fax_spandsp.c: res_fax_spandsp: fix t38 transmission
	  bug caused by not returning success This patch fixes the problem,
	  but the issue includes a test which is still being considered for
	  the automated test suite. (issue ASTERISK-20919) Reported by:
	  NITESH BANSAL Patches: patch_ast_fax_spandsp.patch uploaded by
	  NITESH BANSAL (license 6418) ........ Merged revisions 379949
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-22 20:58 +0000 [r379936]  Sean Bright <sean@malleable.com>

	* channels/chan_iax2.c: Remove a large block of commented out code
	  from chan_iax2. During the conversion to the newer CLI command
	  structure the old definitions were commented out. I think it's
	  safe to remove them completely now.

2013-01-22 19:29 +0000 [r379912]  Jonathan Rose <jrose@digium.com>

	* sounds/Makefile, /, apps/app_meetme.c: app_meetme: Use new
	  prompts for administrator menu The old prompts for the
	  administrator menu were inadequate. They didn't mention that the
	  menu had additional options through the 8 key and pressing the 8
	  key wouldn't reveal what those options were. This patch fixes all
	  of that while also organizing code pertaining to each individual
	  menu type which was previously all stored in one gigantic
	  function along with many of the basic conference functions.
	  (closes issue AST-996) Reported by: John Bigelow Review:
	  http://reviewboard.digium.internal/r/360/ ........ Merged
	  revisions 379885 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379892 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-22 16:48 +0000 [r379864]  Richard Mudgett <rmudgett@digium.com>

	* /: Remove stray property.

2013-01-22 15:16 +0000 [r379828-379830]  Matthew Jordan <mjordan@digium.com>

	* res/res_agi.c, main/file.c, main/app.c, CHANGES,
	  include/asterisk/frame.h, apps/app_playback.c,
	  apps/app_controlplayback.c, include/asterisk/file.h,
	  main/channel.c, funcs/func_frame_trace.c: Add ControlPlayback
	  manager action This patch adds the capability for asynchronous
	  manipulation of audio being played back to a channel though a new
	  AMI action "ControlPlayback". The ControlPlayback action supports
	  a number of operations, the availability of which depend on the
	  application being used to send audio to the channel. When the
	  audio playback was initiated using the ControlPlayback
	  application or CONTROL STREAM FILE AGI command, the audio can be
	  paused, stopped, restarted, reversed, or skipped forward. When
	  initiated by other mechanisms (such as the Playback application),
	  the audio can be stopped, reversed, or skipped forward. Review:
	  https://reviewboard.asterisk.org/r/2265/ (closes issue
	  ASTERISK-20882) Reported by: mjordan

	* /, apps/app_meetme.c: Fix station ringback; trunk hangup issues
	  in SLA This patch fixes two bugs: * If an outbound call is made
	  from a SLA phone using SLAStation, then there is no ringtone
	  audible to the phone that originates the call. The indication of
	  the ringing was not being passed to the SLA station; this patch
	  fixes that by passing through the progress indications. * If an
	  SLA station hangs up before the called party answers, then the
	  channel to the called party continues to ring until a timeout
	  occurs. If the called party manages to answer, Asterisk attempts
	  to connect the called party to a non-existant MeetMe room. This
	  patch corrects the behavior by abandoning the call attempt if it
	  detects that the SLA station is no longer in use while attempting
	  to call the called party. Review:
	  https://reviewboard.asterisk.org/r/2275/ (closes issue
	  ASTERISK-20462) Reported by: dkerr patches:
	  asterisk-11-bugid20440+20462.patch uploaded by dkerr (license
	  5558) asterisk-11-bugid20462.patch uploaded by dkerr (license
	  5558) (closes issue ASTERISK-20440) Reported by: dkerr patches:
	  asterisk-11-bugid20440.patch uploaded by dkerr (license 5558)
	  asterisk-11-bugid20440+20462.patch uploaded by dkerr (license
	  5558) ........ Merged revisions 379825 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379826 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-22 00:36 +0000 [r379809]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_bridge.c, apps/app_confbridge.c: confbridge:
	  Minor fixes playing user counts to the conference. * Generate a
	  warning message if sound files do not exist when trying to play
	  the user count to the conference. Use the new helper routine
	  sound_file_exists() for consistency. * Put the new user into
	  autoservice when playing user counts to the conference. * Check
	  the return value of ast_bridge_impart(). ........ Merged
	  revisions 379808 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-21 20:41 +0000 [r379791]  Matthew Jordan <mjordan@digium.com>

	* /, contrib/init.d/rc.redhat.asterisk,
	  contrib/init.d/rc.gentoo.asterisk,
	  contrib/init.d/rc.slackware.asterisk,
	  contrib/init.d/rc.archlinux.asterisk,
	  contrib/scripts/safe_asterisk, main/asterisk.c,
	  contrib/init.d/rc.suse.asterisk,
	  contrib/init.d/rc.mandriva.asterisk,
	  contrib/init.d/rc.debian.asterisk: Update init.d scripts to
	  handle stderr; readd splash screen for remote consoles When
	  r376428 was commited to re-order start up sequences to be more
	  tolerant of forking with thread primitives, a few items were
	  changed that caused changes in behavior on some distros. This
	  includes: * Not displaying the splash screen on a remote console.
	  * Displaying an error message on stderr when a remote console
	  cannot connect to a running instance of Asterisk. In the first
	  case, the splash screen was re-added (thanks to Michael L.
	  Young). In the second case, the various init.d scripts were
	  modified to pipe stderr to /dev/null, as the error message is
	  useful - if you execute a remote console or a remote console
	  command execution and it fail, it should tell you. Note that the
	  error message was always present, it just failed to be printed
	  prior to r376428. Much thanks to the folks who quickly reported
	  this problem, provided solutions, and promptly tested the various
	  init.d scripts on a variety of distros. (closes issue
	  ASTERISK-20945) Reported by: Warren Selby Tested by: Michael L.
	  Young, Jamuel Starkey, kaldemar, Danny Nicholas, mjordan patches:
	  asterisk-20945-remote-intro-msg.diff uploaded by elguero (license
	  5026) ASTERISK-20945-1.8-mjordan.diff uploaded by mjordan
	  (license 6283) ........ Merged revisions 379760 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379777 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 379790 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-21 20:35 +0000 [r379753-379789]  Richard Mudgett <rmudgett@digium.com>

	* bridges/bridge_builtin_features.c, main/bridging.c: Better
	  protect bridge_channel state from other threads.

	* main/bridging.c: Extract common bridging code into bridge_stop()
	  and bridge_force_out_all().

	* bridges/bridge_builtin_features.c,
	  include/asterisk/bridging_features.h,
	  include/asterisk/bridging.h, main/bridging.c: Made some bridging
	  API calls void. Some bridging comments updated.

2013-01-21 18:47 +0000 [r379721]  Kinsey Moore <kmoore@digium.com>

	* codecs/codec_ilbc.c, /: Prevent segfault for interpolated iLBC
	  frames When iLBC is being used with a jitter buffer and the jb
	  has to interpolate frames, it generates frames with a null
	  pointer and a non-zero datalen. This is now handled properly.
	  (closes issue ASTERISK-20914) Reported By: John McEleney Patches:
	  ASTERISK-20914-1.8.diff uploaded by Matt Jordan (license 6283)
	  ........ Merged revisions 379718 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379719 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-21 18:45 +0000 [r379703-379720]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: Trivial bridge code cleanup.

	* include/asterisk/bridging_features.h,
	  include/asterisk/bridging.h,
	  include/asterisk/bridging_technology.h,
	  bridges/bridge_builtin_features.c: Bridge API comment tweaks.

2013-01-21 07:26 +0000 [r379678]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fix device call logging issues in
	  skinny Skinny device call logging (ie missed, place and received
	  calls) has issues because the incorrect sequence of callstates
	  is/can be sent to the device. This patch removes some extra
	  callstate updates driven by forces external to skinny and ensures
	  the needed intermediary callstate messages are sent. (closes
	  issue ASTERISK-20964) Reported by: wedhorn Tested by: snuffy,
	  myself Patches: ast11-skinny-calllog01.diff uploaded by wedhorn
	  (license 5019) ........ Merged revisions 379677 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-21 04:50 +0000 [r379644]  Andrew Latham <lathama@gmail.com>

	* contrib/scripts/install_prereq, /: Add LDAP libraries to install
	  script Add LDAP dev package to Debian/Ubuntu install list.
	  Existed in Redhat already. (issue ASTERISK-20886) ........ Merged
	  revisions 379643 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-21 04:17 +0000 [r379610-379612]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_minivm.c: Fix crash in app_minivm when mime encoding
	  string An incorrect string initializations was left in
	  ast_str_encode_mime from the patch that converted string
	  manipulations to use ast_str strings (r191140). The string
	  initialization causes a crash when ast_str_set is called on the
	  string later on in the function. (closes issue ASTERISK-18697)
	  Reported by: Chris Boot patches:
	  minivm-null-pointer-dereference-fix.patch uploaded by bootc
	  (license 6309) (issue ASTERISK-20854) Reported by: Chris Warr
	  Tested by: Chris Warr ........ Merged revisions 379608 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379609 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /: Re-add merge properties

2013-01-20 03:06 +0000 [r379583]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fix issues with skinny sessions Fixes
	  a couple of issues with the way skinny handles sessions by
	  ensuring sessions aren't used after being freed. Some other minor
	  changes. Review: https://reviewboard.asterisk.org/r/2272/
	  ........ Merged revisions 379582 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-19 20:54 +0000 [r379549]  Walter Doekes <walter+asterisk@wjd.nu>

	* configure.ac, /, configure, include/asterisk/autoconfig.h.in,
	  include/asterisk/compat.h, main/strcompat.c: Add builtin roundf()
	  for systems lacking it. (closes issue ASTERISK-16854) Review:
	  https://reviewboard.asterisk.org/r/2276 Reported-by: Ovidiu Sas
	  ........ Merged revisions 379547 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379548 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-19 00:19 +0000 [r379518]  Matthew Jordan <mjordan@digium.com>

	* main/asterisk.c, /: Fix astcanary startup problem due to wrong
	  pid value from before daemon call When Asterisk forks itself into
	  the background via a call to daemon, it must re-set the pid value
	  of the new process. Otherwise, astcanary gets the pid value of
	  the process before the fork, which prevents it from running.
	  Asterisk eventually starts lowering its priority, as it can no
	  longer communicate with the proverbial canary in the coal mine.
	  This patch ensures that the correct process identifier is used by
	  astcanary. Note that this is getting committed to 10 as a
	  regression fix. (closes issue ASTERISK-20947) Reported by: Jakob
	  Hirsch Tested by: mjordan patches:
	  asterisk-10.12.0.astcanary_ppid.diff uploaded by Jakob Hirsch
	  (license 6113) ........ Merged revisions 379509 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379510 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 379513 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-18 22:42 +0000 [r379495]  David M. Lee <dlee@digium.com>

	* configure, main/Makefile, configure.ac, Makefile: Up the minimum
	  OS X version to 10.6. * This allows us to remove some
	  special-case build logic. * 10.5 is down to less that 8% of the
	  OS X market share. 10.4 is down to under 2%. * Apple is no longer
	  releasing security updates for 10.5 and earlier.

2013-01-18 21:52 +0000 [r379479]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_confbridge.c: Fix regression in Confbridge user count
	  When the restructuring work got committed to Confbridge in
	  r375470 to fix many open issues, it caused a regression in the
	  reported count of users when conference information was requested
	  via CLI or manager. This corrects the user count and user
	  information displayed when listing conference information from
	  the CLI and manager. (closes issue ASTERISK-20938) Reported By:
	  Timo Teras Patches: confbridge-list.patch uploaded by Timo Teras
	  (license 5409) ........ Merged revisions 379478 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-18 21:35 +0000 [r379477]  David M. Lee <dlee@digium.com>

	* /, configure, main/Makefile, configure.ac, UPGRADE-11.txt,
	  UPGRADE.txt, makeopts.in, Makefile: Specify the -rpath linker
	  flag when prefix != /usr. This allows Asterisk to start without
	  having to specify the LD_LIBRARY_PATH. This can be disabled by
	  passing --disable-rpath to configure. (closes issue
	  ASTERISK-20407) Reported by: David M. Lee Review:
	  https://reviewboard.asterisk.org/r/2132/ ........ Merged
	  revisions 379475 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-18 18:25 +0000 [r379461]  Jonathan Rose <jrose@digium.com>

	* /, apps/app_voicemail.c: app_voicemail: Improve msg_id handling
	  app_voicemail will no longer issue error messages when it
	  retrieves an msg_id with a NULL value from realtime and will
	  instead simply populate the msg_id field with a newly generated
	  msg_id. In addition, this patch changes the way msg_ids are
	  generated to eliminate certain causes of duplicate IDs appearing
	  within a single system. In addition, when messages are copied,
	  they will now receive a new msg_id. (closes issue ASTERISK-20717)
	  Reported by: Alec Davis Review:
	  https://reviewboard.asterisk.org/r/2220/ ........ Merged
	  revisions 379460 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-18 15:42 +0000 [r379432]  Mark Michelson <mmichelson@digium.com>

	* main/threadpool.c (added), main/taskprocessor.c,
	  include/asterisk/threadpool.h (added), /,
	  include/asterisk/taskprocessor.h, tests/test_threadpool.c
	  (added), tests/test_taskprocessor.c (added): Add threadpool
	  support to Asterisk. This commit consists of two parts. Part one
	  changes the taskprocessor API to be less self-contained. Instead,
	  the taskprocessor is now more of a task queue that informs a
	  listener of changes to the queue. The listener then has the
	  responsibility of executing the tasks as it pleases. There is a
	  default listener implementation that functions the same way as
	  "classic" taskprocessors, in that it creates a single thread for
	  tasks to execute in. Old users of taskprocessors have not been
	  altered and still function the same way. Part two introduces the
	  threadpool API. A threadpool is a special type of taskprocessor
	  listener that has multiple threads associated with it. The
	  threadpool also has an optional listener that can adjust the
	  threadpool as conditions change. In addition the threadpool has a
	  set of options that can allow for the threadpool to grow and
	  shrink on its own as tasks are added and executed. Both set of
	  changes contain accompanying unit tests. (closes issue
	  ASTERISK-20691) Reported By: Matt Jordan Review:
	  https://reviewboard.asterisk.org/r/2242

2013-01-18 05:31 +0000 [r379394]  David M. Lee <dlee@digium.com>

	* channels/sip/include/reqresp_parser.h, /, channels/chan_sip.c,
	  channels/sip/reqresp_parser.c: Fix Record-Route parsing for large
	  headers. Record-Route parsing copied the header into a char[256]
	  array, which can be a problem if the header is longer than that.
	  This patch parses the header in place, without the copy, avoiding
	  the issue. In addition to the original patch, I added a unit test
	  for the new get_in_brackets_const function. (closes issue
	  ASTERISK-20837) Reported by: Corey Farrell Patches:
	  chan_sip-build_route-optimized-rev1.patch uploaded by Corey
	  Farrell (license 5909) (with minor changes by dlee) ........
	  Merged revisions 379392 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379393 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-17 02:32 +0000 [r379344]  Matthew Jordan <mjordan@digium.com>

	* addons/chan_mobile.c, /: Fix issue where chan_mobile fails to
	  bind to first available port Per the bluez API, in order to bind
	  to the first available port, the rc_channel field of the socket
	  addressing structure used to bind the socket should be set to 0.
	  Previously, Asterisk had set the rc_channel field set to 1,
	  causing it to connect to whatever happens to be on port 1. We
	  could probably not explicitly set rc_channel to 0 since we memset
	  the struct earlier, but explicitly setting it will hopefully
	  prevent someone from coming in and setting it to some explicit
	  port in the future. (closes issue ASTERISK-16357) Reported by:
	  challado Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin,
	  eliafino, David van Geyn patches: ASTERISK-16357.diff uploaded by
	  Nikolay Ilduganov (license 6253) ........ Merged revisions 379342
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 379343 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-16 22:51 +0000 [r379312]  Mark Michelson <mmichelson@digium.com>

	* /, main/manager.c: Further fix misinformation in the description
	  of manager MailboxStatus command. The description still claimed
	  that it returned the number of messages rather than whether there
	  were messages waiting. ........ Merged revisions 379310 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379311 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-16 21:13 +0000 [r379278]  Jason Parker <jparker@digium.com>

	* contrib/scripts/install_prereq, /: Reduce number of packages
	  install_prereq installs on Debian systems. 'search' will look for
	  any package containing the name provided, so we need to force a
	  more exact search. ........ Merged revisions 379276 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379277 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-16 18:09 +0000 [r379231-379233]  Richard Mudgett <rmudgett@digium.com>

	* /, main/logger.c: Reduce call-id logging resource usage. Since
	  there is no need for the call-id logging ao2 object to have a
	  lock, don't create it with one. ........ Merged revisions 379232
	  from http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_misdn.c, /: chan_misdn: Fix compile error. (issue
	  ASTERISK-15456) ........ Merged revisions 379226 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379230 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-16 17:46 +0000 [r379144-379229]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd: Let
	  documentation reference links specify which module they're
	  linking to Again, since res_jabber/res_xmpp have duplicate APIs,
	  their documentation ref links have to specify which reference
	  they're referring to. The various documentation parsers can
	  interpret the module attribute however they want in order to
	  construct the appropriate links. ........ Merged revisions 379228
	  from http://svn.asterisk.org/svn/asterisk/branches/11

	* /, res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd: Multiple
	  revisions 379209-379210 ........ r379209 | mjordan | 2013-01-16
	  09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines Add module tags to
	  documentation for res_jabber/res_xmpp Since res_jabber/res_xmpp
	  provide the same APIs (app/func/manager/etc.), the XML
	  documentation for each needs to call out which module is
	  providing the documentation. The module attribute has been added
	  to the various XML fragments for this purpose. ........ r379210 |
	  mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines
	  Update the dtd to actually *support* the module attribute in all
	  elements Mea culpa. ........ Merged revisions 379209-379210 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* addons/chan_mobile.c, /: Fix parsing SMSSRC for SMS messages The
	  parser for SMS messages would incorrectly parse out the from
	  number. The parsing would incorrectly start scanning for the from
	  number at the same index as the first double quote ("); this
	  would inadvertently cause it to treat the first double quote as
	  the terminating double quote for the from number as well. The
	  SMSSRC should now populate correctly. (closes issue
	  ASTERISK-16822) Reported by: menschentier Tested by: Jonas Falck
	  patches: fixSMSSRC.patch uploaded by jonax (license 6320) (closes
	  issue ASTERISK-19153) Reported by: Panos Gkikakis patches:
	  sms-sender-fix.diff uploaded by roeften (license 5884) ........
	  Merged revisions 379178 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379179 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_misdn.c, /: Set the INVALID_EXTEN channel variable
	  when chan_misdn forces the 'i' extension The chan_misdn channel
	  driver will send a channel with an invalid destination to the 'i'
	  extension itself if said extension can be reached. It forgot,
	  however, to set the INVALID_EXTEN channel variable when it
	  bounces the channel to this extension. Dialplan writers
	  everywhere moaned at yet another inconsistency. This is yet
	  another example of why duplicating logic in multiple places
	  results in bugs that stick around in Jira for just under three
	  years. Yes: ASTERISK-15456 was created on January 18th, 2010.
	  Patch committed on January 15th, 2013. Ouch. (closes issue
	  ASTERISK-15456) Reported by: Thomas Omerzu patches:
	  chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license
	  5927) ........ Merged revisions 379145 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379146 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* CHANGES, addons/chan_mobile.c: Add busy detection to chan_mobile
	  From the patch author: "First this patch adds general support for
	  busy detection. It also adds support for the ECAM command at Sony
	  Ericsson phones and also signals busy when only early media was
	  received but the call got not answered." Review:
	  https://reviewboard.asterisk.org/r/323 (closes issue
	  ASTERISK-14527) Reported by: Artem Makhutov Tested by: Artem
	  Makhutov patches: busy-full5.patch uploaded by artem (license
	  5757)

2013-01-15 22:23 +0000 [r379128]  Richard Mudgett <rmudgett@digium.com>

	* main/bridging.c: Fix ast_bridge_features_register() not
	  registering builtin features. I broke. Ooops.

2013-01-14 21:47 +0000 [r379021-379070]  David M. Lee <dlee@digium.com>

	* include/asterisk/test.h: Fixed doc comment for ast_test_validate

	* UPGRADE.txt, include/asterisk/manager.h, main/channel.c: Gently
	  reduce masquerade insanity Masquerades are an insane
	  implementation detail within Asterisk. It generates a number of
	  useless and confusing events, and manipulates channels in a way
	  that semantically doesn't make sense. I've given a fairly
	  thorough review of masquerade code and its usage on the wiki at
	  https://wiki.asterisk.org/wiki/x/IwBRAQ. While ultimately it
	  makes the most sense to abandon masquerades altogether, it will
	  take some time to completely irradicate. Even then, there may
	  always be code that's not worth rewriting to get rid of the
	  masquerade. This patch does two things to make masquerades
	  slightly less insane: * When swapping the names of the original
	  and clone channel, only emit a single rename event of original ->
	  original<ZOMBIE>. The original code issued three rename events to
	  accomplish the same end. * In addition to swapping the names of
	  the channels, also swap their uniqueid's. This allows the
	  'Uniqueid' field to be used as a stable identifier for a channel
	  from and external interface, such as AMI. Review:
	  https://reviewboard.asterisk.org/r/2266/

	* /, channels/chan_sip.c: Fix XML encoding of 'identity display' in
	  NOTIFY messages, continued. When r378933 was merged into 1.8, it
	  should have also escaped remote_display, since it will have the
	  same XML encoding problem when the caller/callee roles are
	  reversed. (closes issue ABE-2902) Reported by: Guenther Kelleter
	  ........ Merged revisions 379001 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 379020 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-13 22:07 +0000 [r378985]  Matthew Jordan <mjordan@digium.com>

	* res/res_rtp_asterisk.c, /: Reset RTP timestamp; sequence number
	  on SSRC change In r370252 for ASTERISK-18404, Asterisk's handling
	  of RTP was modified to better account for out of order RTP
	  packets. This was accomplished by using the RTP timestamp and
	  sequence number to check for out of order packets. However, when
	  a SSRC change occurs, the timestamp and sequence number will no
	  longer have any relation to the previously received packets. The
	  variables tracking the timestamp and sequence number therefore
	  have to be reset. (closes issue ASTERISK-20906) Reported by:
	  Eelco Brolman patches: dtmf_on_hold.patch uploaded by Eelco
	  Brolman (license #6442) ........ Merged revisions 378967 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378984 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-12 06:43 +0000 [r378935]  David M. Lee <dlee@digium.com>

	* include/asterisk/utils.h, /, channels/chan_sip.c,
	  tests/test_xml_escape.c (added), main/utils.c: Fix XML encoding
	  of 'identity display' in NOTIFY messages. XML encoding in
	  chan_sip is accomplished by naively building the XML directly
	  from strings. While this usually works, it fails to take into
	  account escaping the reserved characters in XML. This patch adds
	  an 'ast_xml_escape' function, which works similarly to
	  'ast_uri_encode'. This is used to properly escape the
	  local_display attribute in XML formatted NOTIFY messages. Several
	  things to note: * The Right Thing(TM) to do would probably be to
	  replace the ast_build_string stuff with building an ast_xml_doc.
	  That's a much bigger change, and out of scope for the original
	  ticket, so I refrained myself. * It is with great sadness that I
	  wrote my own ast_xml_escape function. There's one in libxml2, but
	  it's knee-deep in libxml2-ness, and not easily used to one-off
	  escape a string. * I only escaped the string we know is causing
	  problems (local_display). At least some of the other strings are
	  URI-encoded, which should be XML safe. Rather than figuring out
	  what's safe and escaping what's not, it would be much cleaner to
	  simply build an ast_xml_doc for the messages and let the XML
	  library do the XML escaping. Like I said, that's out of scope.
	  (closes issue ABE-2902) Reported by: Guenther Kelleter Tested by:
	  Guenther Kelleter Review:
	  http://reviewboard.digium.internal/r/365/ ........ Merged
	  revision 378919 from
	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
	  ........ Merged revisions 378933 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378934 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-11 23:05 +0000 [r378918]  Joshua Colp <jcolp@digium.com>

	* res/res_xmpp.c, /: Retain XMPP filters across reconnections so
	  external modules continue to function as expected. Previously if
	  an XMPP client reconnected any filters added by an external
	  module were lost. This issue exhibited itself with chan_motif not
	  receiving and reacting to Jingle signaling. (closes issue
	  ASTERISK-20916) Reported by: kuj ........ Merged revisions 378917
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-11 22:31 +0000 [r378915]  David M. Lee <dlee@digium.com>

	* include/asterisk/json.h (added), makeopts.in, tests/test_json.c
	  (added), contrib/scripts/install_prereq, res/res_json.c (added),
	  include/asterisk/test.h, build_tools/menuselect-deps.in,
	  configure, include/asterisk/autoconfig.h.in, main/Makefile,
	  res/res_json.exports.in (added), configure.ac: Add JSON API for
	  Asterisk. This provides a JSON API by pulling in and wrapping the
	  Jansson JSON library[1]. The Asterisk API basically mirrors the
	  Jansson functionality, with a few minor tweaks. * Some names have
	  been asteriskified to protect the innocent. * Jansson provides
	  both reference-stealing and reference-borrowing versions of
	  several API's. The Asterisk API is exclusively reference-stealing
	  for operations that put elements into arrays and objects. * No
	  support for doubles, since we usually don't need that. * Coming
	  along for the ride is the ast_test_validate macro, which made the
	  unit tests much easier to write. [1]:
	  http://www.digip.org/jansson/ (issue ASTERISK-20887) (closes
	  issue ASTERISK-20888) Review:
	  https://reviewboard.asterisk.org/r/2264/

2013-01-10 02:40 +0000 [r378789-378889]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c: * Simplify native bridge code in
	  ast_channel_bridge(). * Fix an unbalanced
	  manager_bridge_event(unlink) call if AST_SOFTHANGUP_UNBRIDGE is
	  set in ast_channel_bridge(). * Make ast_channel_bridge() use
	  common cleanup code when leaving the bridge.

	* main/channel.c: * Removed some noop code and restructured an
	  else-if ladder in ast_generic_bridge(). * Trivial changes in
	  ast_channel_bridge().

	* main/channel.c: * Simple optimization of bridge_playfile(). *
	  Squeezed some redundancy out of update_bridge_vars(). * Wrapped
	  long line in __ast_change_name_nolink().

	* bridges/bridge_softmix.c, bridges/bridge_multiplexed.c: Trivial
	  misc bridge code changes. * softmix_bridge_thread() was
	  redundantly initializing an 8K buffer. * Promoted a debug message
	  to a warning in multiplexed_add_or_remove().

	* main/logger.c: Fix logger.c function definition.

	* bridges/bridge_multiplexed.c, main/bridging.c,
	  include/asterisk/bridging_features.h, bridges/bridge_simple.c:
	  Trivial misc bridge code changes.

	* include/asterisk/test.h, main/test.c: Tweaked
	  __ast_test_suite_assert_notify() and
	  __ast_test_suite_event_notify() to be void functions.

	* include/asterisk/test.h, main/test.c: * Whitespace changes. *
	  Made ast_test_init() match its prototype.

	* main/udptl.c, main/rtp_engine.c: * Found some more places to use
	  ast_channel_lock_both(). * Minor optimization in
	  ast_rtp_instance_early_bridge().

2013-01-09 20:30 +0000 [r378735-378783]  David M. Lee <dlee@digium.com>

	* main/rtp_engine.c, /: Fix end condition in
	  ast_rtp_lookup_mime_multiple2. The erroneous end condition would
	  never include the AST_RTP_CISCO_DTMF flag in the debug output.
	  (closes issue ASTERISK-20772) Reported by: Xavier Hienne ........
	  Merged revisions 378776 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378780 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, include/asterisk/strings.h: Move declaration of
	  ast_regex_string_to_regex_pattern futher down strings.h. The
	  prior location is before the declaration of struct ast_str, which
	  causes compiler warnings. (closes issue ASTERISK-20852) Reported
	  by: Pavel Troller Patches: strings.diff uploaded by Pavel Troller
	  (license 6302) ........ Merged revisions 378747 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, include/asterisk/causes.h: Replace errant tabs with spaces in
	  causes.h. (closes issue ASTERISK-20826) Reported by: snuffy
	  Patches: notabs.dif uploaded by snuffy (license 5024) ........
	  Merged revisions 378733 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378734 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-09 00:05 +0000 [r378688-378691]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_queue.c, /: app_queue: Fix incorrect assertion. (issue
	  ASTERISK-16115) ........ Merged revisions 378689 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378690 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* CHANGES, apps/app_queue.c, /, configs/queues.conf.sample,
	  UPGRADE.txt: app_queue: Fix multiple calls to a queue member that
	  is in only one queue. When ringinuse=no queue members can receive
	  more than one call if these calls happen at nearly the same time.
	  * Fix so a queue member does not receive more than one call from
	  a queue. NOTE: This fix does not prevent multiple calls to a
	  member if the member is in more than one queue. * Did some
	  refactoring to eliminate some code redundancy. (issue
	  ASTERISK-16115) Reported by: nik600 Patches:
	  jira_asterisk_16115_single_q_v1.8.patch (license #5621) patch
	  uploaded by rmudgett Modified * Revert the -r341580 and -r341599
	  changes adding the queues.conf check_state_unknown option as it
	  was added in an attempt to fix this problem. The fix did not need
	  to be optional. The fix should not have tried to explicitly set
	  the device state. Setting the device state by something other
	  than the device introduces a race condition. I also could not see
	  how the change would be effective other than delaying the
	  app_queue code long enough for the device state to propagate to
	  app_queue. ........ Merged revisions 378663 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378683 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378687 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-06 21:37 +0000 [r378623-378634]  Damien Wedhorn <voip@facts.com.au>

	* channels/chan_skinny.c: Skinny blob cleanup Cleanup of red blobs
	  in chan_skinny and possible other small formatting issues.
	  Review: https://reviewboard.asterisk.org/r/2262/

	* channels/chan_skinny.c: Add group and namedgroup pickup to skinny
	  Above says it all. Code by snuff, cleaned up by me. Review:
	  https://reviewboard.asterisk.org/r/2246/

	* /, channels/chan_skinny.c: Rewrite skinny dialing to remove
	  threaded simpleswitch This rewrite changes skinny dialing from
	  the threaded simpleswitch to a scheduled timeout approach. There
	  were some underlying issues with the threaded simple switch with
	  occasional corruption and possible segfaults. Review:
	  https://reviewboard.asterisk.org/r/2240/ ........ Merged
	  revisions 378622 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-04 23:14 +0000 [r378593]  Jonathan Rose <jrose@digium.com>

	* res/res_srtp.c, /: res_srtp: Prevent a crash from occurring due
	  to srtp_create failures in srtp_create Under some circumstances,
	  libsrtp's srtp_create function deallocates memory that it wasn't
	  initially responsible for allocating. Because we weren't
	  initially aware of this behavior, this memory was still used in
	  spite of being unallocated during the course of the
	  srtp_unprotect function. A while back I made a patch which would
	  set this value to NULL, but that exposed a possible condition
	  where we would then try to check a member of the struct which
	  would cause a segfault. In order to address these problems,
	  ast_srtp_unprotect will now set an error value when it ends
	  without a valid SRTP session which will result in the caller of
	  srtp_unprotect observing this error and hanging up the relevant
	  channel instead of trying to keep using the invalid session
	  address. (closes issue ASTERISK-20499) Reported by: Tootai
	  Review:
	  https://reviewboard.asterisk.org/r/2228/diff/#index_header
	  ........ Merged revisions 378591 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378592 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-04 22:19 +0000 [r378585]  Kinsey Moore <kmoore@digium.com>

	* res/pjproject/aconfigure, res/pjproject/aconfigure.ac, /,
	  res/pjproject/build/common.mak: Fix pjproject compilation in
	  certain circumstances On a fresh checkout of Asterisk 11, running
	  make before ./configure could cause the pjproject subdirectory to
	  get in an odd state that would prevent compilation. This patch by
	  Tilghman prevents that from occurring. (closes issue
	  ASTERISK-20681) Reported by: Dinesh Ramjuttun Tested by: danilo
	  borges, Steve Lang patches: 20121208__ccar_solved.diff.txt
	  uploaded by Tilghman Lesher (license 5003) ........ Merged
	  revisions 378582 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-04 21:20 +0000 [r378565]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix SIP Notify Messages To Have The
	  Proper IP Address In The FROM Field On a multihomed server when
	  sending a NOTIFY message, we were not figuring out which network
	  should be used to contact the peer. This patch fixes the problem
	  by calling ast_sip_ouraddrfor() and then build_via() so that our
	  NOTIFY message contains the correct IP address. Also, a debug
	  message is being added to help follow the call-id changes that
	  occur. This was helpful for confirming that the IP address was
	  set properly since the call-id contains the IP address. It also
	  will be helpful for troubleshooting purposes when following a
	  call in the debug logs. (closes issue ASTERISK-20805) Reported
	  by: Bryan Hunt Tested by: Bryan Hunt, Michael L. Young Patches:
	  asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young
	  (license 5026) Review: https://reviewboard.asterisk.org/r/2255/
	  ........ Merged revisions 378554 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378559 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-04 21:18 +0000 [r378557]  Joshua Colp <jcolp@digium.com>

	* /, res/res_rtp_asterisk.c: Don't pass STUN packets through the
	  SRTP unprotect function. (closes issue AST-1036) Reported by:
	  jbigelow ........ Merged revisions 378553 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378555 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-04 16:44 +0000 [r378543]  Andrew Latham <lathama@gmail.com>

	* res/res_config_ldap.c: Doxygen Cleanups Baseline clean up of
	  formating to make room for extended documentation (issue
	  ASTERISK-20259)

2013-01-03 22:14 +0000 [r378516]  Michael L. Young <elgueromexicano@gmail.com>

	* apps/app_queue.c, /: Fix Queue Log Reporting Every Call
	  COMPLETECALLER With "h" Extension Present When the "h" extension
	  is present within the context of the queue, all calls are being
	  reported COMPLETECALLER even when the agent is hanging up the
	  call. This patch checks to see if the agent hung-up or not
	  instead of only relying on checking if the queue (caller) channel
	  hung-up or not. It would appear that having the h extension in
	  the mix, the pbx goes to the h extension, "hanging-up" the queue
	  channel and triggering the reporting of COMPLETECALLER. (closes
	  issue ASTERISK-20743) Reported by: call Tested by: call, Michael
	  L. Young Patches: asterisk-20743-q-cmplt-caller.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2256/ ........ Merged
	  revisions 378514 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378515 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-03 19:42 +0000 [r378488]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_agent.c: chan_agent: Fix wrapup time wait
	  response. * Made agent_cont_sleep() and agent_ack_sleep() stop
	  waiting if the wrapup time expires. agent_cont_sleep() had tried
	  but returned the wrong value to stop waiting. * Made
	  agent_ack_sleep() take a struct agent_pvt pointer instead of a
	  void pointer for better type safety. ........ Merged revisions
	  378486 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 378487 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-03 18:51 +0000 [r378460]  Kinsey Moore <kmoore@digium.com>

	* main/channel.c, /: Add missing test event This test event was
	  missing from channel.c causing the dial_LS_options test to fail
	  intermittently because of a race condition where most code paths
	  emitted the test event but this one did not. The dial_LS_options
	  test should stop bouncing now. ........ Merged revisions 378455
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 378459 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-03 18:47 +0000 [r378429-378458]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_agent.c: chan_agent: Misc code cleanup. * Fix
	  off-nominal path resource cleanup in agent_request(). * Create
	  agent_pvt_destroy() to eliminate inlined versions in many places.
	  * Pull invariant code out of loop in add_agent(). * Remove
	  redundant module user references in login_exec(). * Remove unused
	  struct agent_pvt logincallerid[] member. ........ Merged
	  revisions 378456 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378457 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_agent.c: chan_agent: Fix agent_indicate()
	  locking. Avoid deadlock potential with local channels and
	  simplify the locking. ........ Merged revisions 378427 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378428 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-03 16:04 +0000 [r378414]  Tilghman Lesher <tilghman@meg.abyt.es>

	* apps/app_directory.c, contrib/realtime/mysql/voicemail.sql,
	  configs/voicemail.conf.sample: Add aliases to the Directory. This
	  is an interesting feature that allows additional strings to be
	  used to search the Directory, primarily intended to be used with
	  nicknames, but could be used with affiliations and the like.
	  Because the name field is used in more than one place (such as
	  email notifications), it is important that these additional
	  strings not be placed in the name field, but be specified
	  separately. Review: https://reviewboard.asterisk.org/r/2244/

2013-01-03 15:40 +0000 [r378412]  Joshua Colp <jcolp@digium.com>

	* /, res/res_xmpp.c: Prevent exhaustion of system resources through
	  exploitation of event cache This patch changes res_xmpp to no
	  longer cache events under certain circumstances. (issue
	  ASTERISK-20175) Reported by: Russell Bryant, Leif Madsen, Joshua
	  Colp Tested by: kmoore ........ Merged revisions 378411 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-03 15:37 +0000 [r378377-378410]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_xmpp.c: Prevent crashes in res_xmpp when receiving
	  large messages Similar to r378287, res_xmpp was marshaling data
	  read from an external source onto the stack. For a sufficiently
	  large message, this could cause a stack overflow. This patch
	  modifies res_xmpp in a similar fashion to res_jabber by removing
	  the stack allocation, as it was unnecessary. (issue
	  ASTERISK-20658) Reported by: wdoekes ........ Merged revisions
	  378409 from http://svn.asterisk.org/svn/asterisk/branches/11

	* addons/app_mysql.c: Clean up app_mysql's application entry points
	  to properly parse arguments When parsing arguments, application
	  entry points should not attempt to directly modify the parameters
	  to the function. This patch properly duplicates the passed in
	  parameters before attempting to parse them. (issue
	  ASTERISK-20658) Reported by: wdoekes patches:
	  issueA20658_sanitize_app_mysql.patch uploaded by wdoekes (license
	  5674)

	* main/config.c, funcs/func_realtime.c, /: Prevent crashes from
	  occurring when reading from data sources with large values When
	  reading configuration data from an Asterisk .conf file or when
	  pulling data from an Asterisk RealTime backend, Asterisk was
	  copying the data on the stack for manipulation. Unfortunately, it
	  is possible to read configuration data or realtime data from some
	  data source that provides a large blob of characters. This could
	  potentially cause a crash via a stack overflow. This patch
	  prevents large sets of data from being read from an ARA backend
	  or from an Asterisk conf file. (issue ASTERISK-20658) Reported
	  by: wdoekes Tested by: wdoekes, mmichelson patches: *
	  issueA20658_dont_process_overlong_config_lines.patch uploaded by
	  wdoekes (license 5674) * issueA20658_func_realtime_limit.patch
	  uploaded by wdoekes (license 5674) ........ Merged revisions
	  378375 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 378376 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-02 21:23 +0000 [r378374]  Richard Mudgett <rmudgett@digium.com>

	* main/features.c, include/asterisk/channel.h, main/manager.c, /:
	  Fix AMI redirect action with two channels failing to redirect
	  both channels. The AMI redirect action can fail to redirect two
	  channels that are bridged together. There is a race between the
	  AMI thread redirecting the two channels and the bridge thread
	  noticing that a channel is hungup from the redirects. * Made the
	  bridge wait for both channels to be redirected before exiting. *
	  Made the AMI redirect check that all required headers are present
	  before proceeding with the redirection. * Made the AMI redirect
	  require that any supplied ExtraChannel exist before proceeding.
	  Previously the code fell back to a single channel redirect
	  operation. (closes issue ASTERISK-18975) Reported by: Ben Klang
	  (closes issue ASTERISK-19948) Reported by: Brent Dalgleish
	  Patches: jira_asterisk_19948_v11.patch (license #5621) patch
	  uploaded by rmudgett Tested by: rmudgett, Thomas Sevestre, Deepak
	  Lohani, Kayode Review: https://reviewboard.asterisk.org/r/2243/
	  ........ Merged revisions 378356 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378358 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-02 18:11 +0000 [r378288-378322]  Matthew Jordan <mjordan@digium.com>

	* main/event.c, apps/app_confbridge.c,
	  apps/confbridge/conf_state_empty.c, funcs/func_devstate.c,
	  res/res_calendar.c, include/asterisk/devicestate.h,
	  channels/chan_local.c, /, main/ccss.c, channels/chan_sip.c,
	  apps/app_meetme.c, main/channel_internal_api.c,
	  channels/chan_agent.c, main/devicestate.c,
	  include/asterisk/channel.h, res/res_jabber.c, apps/app_queue.c,
	  channels/chan_iax2.c, main/channel.c, channels/chan_dahdi.c,
	  channels/chan_skinny.c, include/asterisk/event_defs.h,
	  main/features.c: Prevent exhaustion of system resources through
	  exploitation of event cache Asterisk maintains an internal cache
	  for devices in the event subsystem. The device state cache holds
	  the state of each device known to Asterisk, such that consumers
	  of device state information can query for the last known state
	  for a particular device, even if it is not part of an active
	  call. The concept of a device in Asterisk can include entities
	  that do not have a physical representation. One way that this
	  occurred was when anonymous calls are allowed in Asterisk. A
	  device was automatically created and stored in the cache for each
	  anonymous call that occurred; this was possible in the SIP and
	  IAX2 channel drivers and through channel drivers that utilized
	  the res_jabber/res_xmpp resource modules (Gtalk, Jingle, and
	  Motif). These devices are never removed from the system, allowing
	  anonymous calls to potentially exhaust a system's resources. This
	  patch changes the event cache subsystem and device state
	  management to no longer cache devices that are not associated
	  with a physical entity. (issue ASTERISK-20175) Reported by:
	  Russell Bryant, Leif Madsen, Joshua Colp Tested by: kmoore
	  patches: event-cachability-3.diff uploaded by jcolp (license
	  5000) ........ Merged revisions 378303 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378320 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378321 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/http.c, res/res_jabber.c, channels/sip/include/sip.h, /,
	  channels/chan_sip.c: Resolve crashes due to large stack
	  allocations when using TCP Asterisk had several places where
	  messages received over various network transports may be copied
	  in a single stack allocation. In the case of TCP, since multiple
	  packets in a stream may be concatenated together, this can lead
	  to large allocations that overflow the stack. This patch modifies
	  those portions of Asterisk using TCP to either favor heap
	  allocations or use an upper bound to ensure that the stack will
	  not overflow: * For SIP, the allocation now has an upper limit *
	  For HTTP, the allocation is now a heap allocation instead of a
	  stack allocation * For XMPP (in res_jabber), the allocation has
	  been eliminated since it was unnecesary. Note that the HTTP
	  portion of this issue was independently found by Brandon Edwards
	  of Exodus Intelligence. (issue ASTERISK-20658) Reported by:
	  wdoekes, Brandon Edwards Tested by: mmichelson, wdoekes patches:
	  ASTERISK-20658_res_jabber.c.patch uploaded by mmichelson (license
	  5049) issueA20658_http_postvars_use_malloc2.patch uploaded by
	  wdoekes (license 5674) issueA20658_limit_sip_packet_size3.patch
	  uploaded by wdoekes (license 5674) ........ Merged revisions
	  378269 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 378286 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378287 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2013-01-01 19:02 +0000 [r378259]  Andrew Latham <lathama@gmail.com>

	* contrib/scripts/install_prereq: Add UUID packages now required to
	  configure In ASTERISK-20726 UUID was added to Asterisk. This
	  commit is to add the dependancies to the install script

2013-01-01 17:10 +0000 [r378248-378249]  Sean Bright <sean@malleable.com>

	* main/translate.c: Revert 378248. I changed the logic of this
	  function unitentionally, pointed out by file.

	* main/translate.c: Bail out early when building an ast_trans_pvt
	  and the translator doesn't supply a 'newpvt'

2012-12-31 14:46 +0000 [r378220]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c: Ensure chan_sip rejects encrypted streams
	  without crypto info This ensures that Asterisk rejects encrypted
	  media streams (RTP/SAVP audio and video) that are missing
	  cryptographic keys and ensures that the incoming SDP is
	  consistent with RFC4568 as far as having a crypto attribute
	  present for any SAVP streams. Review:
	  https://reviewboard.asterisk.org/r/2204/ ........ Merged
	  revisions 378217 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378218 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378219 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-20 21:51 +0000 [r378166]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, /: Give the causes[] a struct name. ........
	  Merged revisions 378164 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378165 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-18 17:48 +0000 [r378122]  Kinsey Moore <kmoore@digium.com>

	* main/channel.c, /: Add test events for time limit-related hangups
	  This patch adds hangup-related test events in order to support
	  testing of time-limited bridges. This aids in testing the S() and
	  L() bridge options. (issue SWP-4713) ........ Merged revisions
	  378119 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 378120 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378121 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-17 23:10 +0000 [r378081-378095]  Richard Mudgett <rmudgett@digium.com>

	* main/loader.c, /: Fix potential double free when unloading a
	  module. ........ Merged revisions 378092 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378093 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378094 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_local.c, /: Make chan_local module references tied
	  to local_pvt lifetime. The chan_local module references were
	  manually tied to the existence of the ;1 and ;2 channel links. *
	  Made chan_local module references tied to the existence of the
	  local_pvt structure as well as automatically take care of the
	  module references. * Tweaked the wording of the local_fixup()
	  failure warning message to make sense. Review:
	  https://reviewboard.asterisk.org/r/2181/ ........ Merged
	  revisions 378088 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378089 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378090 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_local.c: chan_local: Parse dial string
	  consistently. * Fix local_alloc() unexpected limitation of exten
	  and context length from a combined length of 80 characters to a
	  normal 80 characters each. * Made local_alloc() and
	  local_devicestate() parse the same way.

2012-12-17 20:59 +0000 [r378074]  Jason Parker <jparker@digium.com>

	* /, main/Makefile: Make libasteriskssl.so symlink use a relative
	  path. This was causing issues when using DESTDIR, since the path
	  to which the link pointed is not likely to exist (and not useful
	  to exist) on the target system. (issue ASTNOW-284) ........
	  Merged revisions 378073 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-17 20:34 +0000 [r378072]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_local.c: chan_local: Misc lock and ref tweaks. *
	  awesome_locking() does not need to thrash the pvt lock as much. *
	  local_setoption() does not need to check for NULL pvt on cleanup
	  since it will never be NULL. * Made ref the pvt before locking
	  for consistency.

2012-12-14 22:45 +0000 [r378064]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_agent.c: chan_agent: Remove some duplicated code.
	  No need to check for an agent twice. Santa does that.

2012-12-14 22:34 +0000 [r378063]  Jonathan Rose <jrose@digium.com>

	* CHANGES, main/features.c, UPGRADE.txt: Features: BRIDGE_FEATURES
	  variable automixmonitor support and use proper party
	  BRIDGE_FEATURES did not previously support the automixmonitor
	  feature. Now it does. In addition, the BRIDGE_FEATURES variable
	  would not apply features to the proper party based on whether the
	  feature option letter was in caps or in lowercase (both ways
	  would apply it to the caller). Now uppercase applies to the
	  caller while lowercase applies to the callee (like with the dial
	  option)

2012-12-14 21:35 +0000 [r378029-378039]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_queue.c, /: app_queue: Revert bad ringinuse=no patch.
	  With the option ringinuse=no set, the patch committed for
	  ASTERISK-16115 causes non-SIP queue members to never be called
	  because the device state is checked after a channel is created to
	  determine if the member is busy. These queue members always get
	  the "Member %s is busy, cannot dial" message. Most channel
	  drivers other than chan_sip use the default device state
	  handling. The default device-state state is considered in use or
	  unknown if the channel exists or not respectively. (closes issue
	  ASTERISK-20801) Reported by: rmudgett Patches:
	  jira_asterisk_16115_revert_r370418_v1.8.patch (license #5621)
	  patch uploaded by rmudgett ........ Merged revisions 378036 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 378037 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 378038 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/app_queue.c: app_queue: Make update_status() not return
	  anything.

2012-12-14 01:55 +0000 [r378006-378011]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fix skinny to recognise vmexten in
	  general section of conf Fixup the vmexten so if globally set in
	  general section will be honored by chan_skinny. Also get rid of
	  the 'global_' part of variable name to match regexten. (closes
	  issue ASTERISK-20790) Reported by: snuffy Tested by: snuffy,
	  myself Patches: skinny-vm.diff uploaded by snuffy (license 5024)
	  ........ Merged revisions 378010 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_skinny.c: Add g722 codec support to skinny (closes
	  issue ASTERISK-20788) Reported by: snuffy Tested by: snuffy,
	  myself Patches: skinny-g722.diff uploaded by snuffy (license
	  5024)

2012-12-13 21:28 +0000 [r378002]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c,
	  apps/confbridge/conf_state.c, /,
	  apps/confbridge/include/confbridge.h,
	  include/asterisk/bridging.h: confbridge: Fix MOH on simultaneous
	  user entry to a new conference. When two users entered a new
	  conference simultaneously, one of the callers hears MOH. This
	  happened if two unmarked users entered simultaneously and also if
	  a waitmarked and a marked user entered simultaneously. * Created
	  a confbridge internal MOH API to eliminate the inlined MOH
	  handling code. Note that the conference mixing bridge needs to be
	  locked when actually starting/stopping MOH because there is a
	  small window between the conference join unsuspend MOH and
	  actually joining the mixing bridge. * Created the concept of
	  suspended MOH so it can be interrupted while conference join
	  announcements to the user and DTMF features can operate. *
	  Suspend any MOH until the user is about to actually join the
	  mixing bridge of the conference. This way any pre-join file
	  playback does not need to worry about MOH. * Made post-join
	  actions only play deferred entry announcement files. Changing the
	  user/conference state during that time is not protected or
	  controlled by the state machine. (closes issue ASTERISK-20606)
	  Reported by: Eugenia Belova Tested by: rmudgett Review:
	  https://reviewboard.asterisk.org/r/2232/ ........ Merged
	  revisions 377992 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377993 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-13 21:25 +0000 [r378001]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Minor fixes for chan_skinny
	  Whitespace, change SUBSTATE_ONHOOK to correct SKINNY_ONHOOK and
	  correct len of 2 strcmp in skinny_setdebug(). (see opticron's
	  review on https://reviewboard.asterisk.org/r/2240/) ........
	  Merged revisions 377991 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-13 21:20 +0000 [r378000]  Sean Bright <sean@malleable.com>

	* res/res_calendar_exchange.c: Make generate_exchange_uuid() always
	  return the passed ast_str pointer. I changed this code earlier to
	  return NULL if it wasn't able to generate a UUID, whereas the
	  earlier code would always return the ast_str that was passed in.
	  Switch back to returning the ast_str, only set it to the empty
	  string instead if UUID generation fails. We still do a validity
	  check later which will catch this and blow up if necessary.

2012-12-13 21:15 +0000 [r377994]  David M. Lee <dlee@digium.com>

	* /: Fixed svn merge property breakage from r377986

2012-12-13 18:28 +0000 [r377986]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fix skinny debug tab completion Review
	  the syntax of the 'skinny debug' command to show more than just
	  'show' for options to 'skinny debug' command. (closes issue
	  ASTERISK-20789) Reported by: snuffy Tested by: snuffy, myself
	  Patches: skinny-debug.diff uploaded by snuffy (license 5024)
	  ........ Merged revisions 377985 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-13 16:43 +0000 [r377981]  David M. Lee <dlee@digium.com>

	* configure.ac, configure, include/asterisk/autoconfig.h.in: Bail
	  configure if it can't find libuuid.

2012-12-13 16:18 +0000 [r377977]  Russell Bryant <russell@russellbryant.com>

	* configure.ac, main/utils.c, configure,
	  include/asterisk/autoconfig.h.in: Remove compile time check
	  HAVE_DEV_URANDOM. The code was doing a runtime check, anyway. The
	  compile time check isn't always valid (cross-compiling,
	  packages). Review: https://reviewboard.asterisk.org/r/2245/

2012-12-13 15:40 +0000 [r377975]  Mark Michelson <mmichelson@digium.com>

	* main/taskprocessor.c: Re-add taskprocessor cleanup code that was
	  removed by the UUID merge.

2012-12-13 15:37 +0000 [r377974]  Sean Bright <sean@malleable.com>

	* res/res_calendar_exchange.c: Use the UUID API to generate and
	  validate UUIDs for res_calendar_exchange. Currently the
	  res_calendar_exchange module uses its own method of generating
	  UUIDs using ast_random(). Now that we have a UUID API we should
	  use that instead.

2012-12-13 15:37 +0000 [r377973]  Mark Michelson <mmichelson@digium.com>

	* res/res_clialiases.c: The UUID commit removed changes made in
	  res_clialiases.c This puts back in the changes that are designed
	  to work around a memory leak fix in the CLI code.

2012-12-13 15:24 +0000 [r377972]  David M. Lee <dlee@digium.com>

	* configure, include/asterisk/autoconfig.h.in, configure.ac: Fixed
	  configure.ac to look for proper uuid.h file Introduced in
	  r377846, the configure script was looking for uuid.h instead of
	  uuid/uuid.h.

2012-12-13 15:22 +0000 [r377971]  Brent Eagles <beagles@digium.com>

	* configs/sip.conf.sample, channels/sip/include/sip.h,
	  channels/chan_sip.c: This change adds a SIP peer configuration
	  feature to allow the peer's configured codecs to take precedence
	  on an outgoing call. This change introduces a new peer
	  configuration property named 'ignore_requested_pref' that causes
	  the requested codec to be ignored when determining the preferred
	  codec for an outgoing call leg. The consequence is that
	  Asterisk's usual efforts to prefer avoiding transcoding can be
	  overridden on a peer-by-peer basis where appropriate.

2012-12-13 14:28 +0000 [r377966]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c: Ensure Min-SE is included in outbound
	  INVITEs Asterisk now includes Min-SE in outbound INVITEs when the
	  value is not 90 (the default) and session timers are not
	  disabled. This has the effect of Asterisk following RFC4028 more
	  closely with regard to 422 responses and preventing situations in
	  which Asterisk would be forced to temporarily accept a call to
	  tear it down based on a Session-Expires below the locally
	  configured Min-SE. (issue SWP-5051) Review:
	  https://reviewboard.asterisk.org/r/2222/ Reported-by: Kinsey
	  Moore Patch-by: Kinsey Moore ........ Merged revisions 377946
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 377947 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377948 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-12 22:43 +0000 [r377925]  Rusty Newton <rnewton@digium.com>

	* sounds/Makefile, /: Incremented EXTRA_SOUNDS_VERSION in
	  sounds/Makefile to 1.4.12 for new Extra Sounds releases See
	  CHANGES-* files in English extra 1.4.12 tarballs for new sound
	  prompts added. (closes ASTERISK-20328) Reported by: Matt Jordan
	  (closes AST-755) Reported by: John Bigelow ........ Merged
	  revisions 377922 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377923 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377924 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-12 04:43 +0000 [r377915]  Michael L. Young <elgueromexicano@gmail.com>

	* main/features.c: Convert Dynamic Features Buffer To Use ast_str
	  Currently, the buffer for the dynamic features list is set to a
	  fixed size of 128. If the list is bigger than that, it results in
	  the dynamic feature(s) not being recognized. This patch changes
	  the buffer from a fixed size to a dynamic one. (closes issue
	  ASTERISK-20680) Reported by: Clod Patry Tested by: Michael L.
	  Young Patches: asterisk-20680-dynamic-features-v2.diff uploaded
	  by Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2221/

2012-12-12 00:02 +0000 [r377906-377911]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Fix a potential deadlock in chan_sip
	  during transfers. The issue comes from the fact that transfers
	  may perform a redirecting update on a channel. The issue is that
	  lock inversion between the channel and its tech_pvt occurs since
	  the channel lock is released during the transfer process. The fix
	  is to move when the redirecting update occurs to a place where
	  neither the tech_pvt or the channel is locked so that the two can
	  be locked in the proper order. (closes issue ASTERISK-20708)
	  reported by Mark Michelson patches: ASTERISK-20708-3.patch
	  uploaded by Mark Michelson (License #5049) Tested by: Tim
	  Ringenbach at Asteria Solutions Group ........ Merged revisions
	  377910 from http://svn.asterisk.org/svn/asterisk/branches/11

	* main/features.c: Add test events necessary for bridging tests to
	  be able to properly run.

2012-12-11 22:03 +0000 [r377884]  Richard Mudgett <rmudgett@digium.com>

	* main/file.c, main/http.c, main/aoc.c, main/image.c, main/cel.c,
	  main/timing.c, main/channel.c, main/data.c, main/stun.c, /:
	  Cleanup CLI commands on exit for several files. (issue
	  ASTERISK-20649) Reported by: Corey Farrell Patches:
	  unregister-cli-multiple-all.patch (license #5909) patch uploaded
	  by Corey Farrell ........ Merged revisions 377881 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377882 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377883 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-11 21:53 +0000 [r377878-377880]  Mark Michelson <mmichelson@digium.com>

	* /: And remove svnmerge-integrated property.

	* /: Remove automerge properties.

2012-12-11 21:22 +0000 [r377867]  Richard Mudgett <rmudgett@digium.com>

	* main/udptl.c, /: Cleanup udptl on exit. * Cleanup CLI commands on
	  exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches:
	  udptl-shutdown-1_8-10.patch (license #5909) patch uploaded by
	  Corey Farrell udptl-shutdown-11-trunk.patch (license #5909) patch
	  uploaded by Corey Farrell Modified ........ Merged revisions
	  377847 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377848 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377849 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-11 21:04 +0000 [r377844-377846]  Mark Michelson <mmichelson@digium.com>

	* configure.ac, include/asterisk/uuid.h (added),
	  main/taskprocessor.c, tests/test_uuid.c (added), main/asterisk.c,
	  main/uuid.c (added), res/res_clialiases.c, /, configure,
	  include/asterisk/autoconfig.h.in, main/Makefile: Add UUID support
	  to Asterisk. This provides a common API for dealing with unique
	  identifiers. The API provides methods to create, parse, copy, and
	  stringify UUIDs. An accompanying unit test is provided that tests
	  all operations. (closes issue ASTERISK-20726) reported by Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2217

	* res/res_clialiases.c, /: Fix crash that can occur if CLI
	  registration fails for an aliased command. A recent memory leak
	  fix in main/cli.c causes an ast_cli_entry's command field to be
	  freed and NULLed if ast_cli_register() fails. res_clialiases was
	  ignoring the return value of ast_cli_register() and was then
	  passing the NULL command off to a a hash function. This resulted
	  in a crash. The fix is not to ignore the erroneous return value.
	  If ast_cli_register() fails, then we do not continue trying to
	  process the current alias. ........ Merged revisions 377840 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377842 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377843 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-11 20:46 +0000 [r377707-377841]  Richard Mudgett <rmudgett@digium.com>

	* main/taskprocessor.c, /: Cleanup taskprocessor on exit. * Cleanup
	  CLI commands on exit. (issue ASTERISK-20649) Reported by: Corey
	  Farrell Patches: taskprocessor-cleanup-1_8-11-trunk.patch
	  (license #5909) patch uploaded by Corey Farrell
	  taskprocessor-cleanup-10-only.patch (license #5909) patch
	  uploaded by Corey Farrell Modified ........ Merged revisions
	  377837 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377838 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377839 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/pbx.c, /: Cleanup pbx on exit. * Cleanup CLI commands on
	  exit. * Unreference hints and statecbs containers on exit. (issue
	  ASTERISK-20649) Reported by: Corey Farrell Patches:
	  pbx-cleanup-1_8.patch (license #5909) patch uploaded by Corey
	  Farrell pbx-cleanup-10.patch (license #5909) patch uploaded by
	  Corey Farrell pbx-cleanup-11-trunk.patch (license #5909) patch
	  uploaded by Corey Farrell Modified ........ Merged revisions
	  377806 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377807 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377808 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/logger.c: Cleanup logger on exit. * Cleanup CLI commands,
	  destroy verbosers and logchannels lists on exit. (issue
	  ASTERISK-20649) Reported by: Corey Farrell Patches:
	  logger-cleanup-all.patch (license #5909) patch uploaded by Corey
	  Farrell Modified ........ Merged revisions 377771 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377772 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377773 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/indications.c: Cleanup indications on exit. * Made
	  ast_unregister_indication_country() unlink the found tone zone
	  before selecting a new default_tone_zone to make it impossible to
	  select the tone zone being unregistered again. * Ringcadence is
	  no longer parsed twice in store_config_tone_zone(). * Cleanup CLI
	  commands and destroy default_tone_zone on exit. (issue
	  ASTERISK-20649) Reported by: Corey Farrell Patches:
	  indications-cleanup-all.patch (license #5909) patch uploaded by
	  Corey Farrell Modified ........ Merged revisions 377740 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377741 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377742 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/event.c: Cleanup event on exit. * Cleanup CLI commands on
	  exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches:
	  event_shutdown-10-only.patch (license #5909) patch uploaded by
	  Corey Farrell event_shutdown-1_8-11-trunk.patch (license #5909)
	  patch uploaded by Corey Farrell ........ Merged revisions 377708
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 377709 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377710 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/dnsmgr.c, /: Cleanup dnsmgr on exit. * Cleanup dnsmgr thread
	  and CLI commands on exit. (issue ASTERISK-20649) Reported by:
	  Corey Farrell Patches: dnsmgr-cleanup-1_8.patch (license #5909)
	  patch uploaded by Corey Farrell dnsmgr-cleanup-10-11-trunk.patch
	  (license #5909) patch uploaded by Corey Farrell Modified ........
	  Merged revisions 377704 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377705 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377706 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-10 16:56 +0000 [r377626-377658]  Kinsey Moore <kmoore@digium.com>

	* /, res/res_fax.c: Ensure ReceiveFax provides a CED tone via T.38
	  When using res_fax_digium, the T.38 CED tone was not being
	  provided properly which would cause some incoming faxes to fail.
	  This was not an issue with res_fax_spandsp since it does not
	  strictly honor the send_ced flag and sends the CED tone whenever
	  receiving a T.38 fax. (closes issue FAX-343) Reported-by:
	  Benjamin Tietz Patch-by: Kinsey Moore ........ Merged revisions
	  377655 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377656 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377657 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: Handle Session-Expires less than local
	  Min-SE in 200 OK Ensure that a call is immediately torn down if a
	  Session-Expires value received in a 200 OK is less than the local
	  Min-SE. This also prevents Asterisk from allowing calls with
	  Session-Expires below the RFC4028-mandated minimum (90s). (closes
	  issue ASTERISK-20653) Review:
	  https://reviewboard.asterisk.org/r/2237/ Patch-by: Kinsey Moore
	  ........ Merged revisions 377623 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377624 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377625 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-10 07:03 +0000 [r377579-377595]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c: Add firmware information to CLI devices
	  listing

	* channels/chan_unistim.c, /: Fix codec mismatch Fix code to send
	  in both rx and tx open stream messages correct codecs. Found that
	  on phase 0/1 phones wrong codecs cause to no audio in some
	  situations. (issue ASTERISK-20183) ........ Merged revisions
	  377591 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377592 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377593 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_unistim.c, /: Remove trailing whitespaces in number
	  from incoming redial list. Reported by: Igor Olhovskiy ........
	  Merged revisions 377577 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-10 01:41 +0000 [r377506-377512]  Tilghman Lesher <tilghman@meg.abyt.es>

	* main/xmldoc.c, /: Improve documentation by making all of the
	  colors used readable, no matter what the background color is.
	  Dark blue on a black background is unreadable, as is yellow on a
	  light background. This patch turns on the bright attribute for
	  colors when on a dark background and turns *off* the bright
	  attribute when the -W command line option is used (indicating a
	  _light_ background). This ensures that text is readable in both
	  cases. Patch by: tilghman Review:
	  https://reviewboard.asterisk.org/r/2224 ........ Merged revisions
	  377509 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377510 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377511 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* addons/cdr_mysql.c, /: Remove some dead code and additionally
	  handle a case that wasn't handled. ........ Merged revisions
	  377487 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377504 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377505 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-09 01:23 +0000 [r377463]  Joshua Colp <jcolp@digium.com>

	* channels/chan_motif.c, /: Add missing support for "who hung up"
	  to chan_motif. (closes issue ASTERISK-20671) Reported by: Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2208/ ........
	  Merged revisions 377462 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-08 00:30 +0000 [r377402-377434]  Richard Mudgett <rmudgett@digium.com>

	* contrib/realtime/mysql/sippeers.sql, /: Fix order of SIP
	  allow/disallow in MySQL contrib script. Using the contrib
	  sippeers.sql script to create the sippeers MySQL table would
	  result in being unable to place calls if you set the disallow
	  value to all. (closes issue ASTERISK-20756) Reported by: Andre
	  Luis Patches: sippeers.patch patch uploaded by Andre Luis
	  ........ Merged revisions 377431 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377432 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377433 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/astmm.c, /: MALLOC_DEBUG: Only wait if we want atexit
	  allocation dumps. ........ Merged revisions 377398 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377399 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377401 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-07 22:08 +0000 [r377384]  Kinsey Moore <kmoore@digium.com>

	* codecs/codec_dahdi.c: codec_dahdi: Fix output of "transcoder
	  show" CLI command. In r306010 "Asterisk media architecture
	  conversion - no more format bitfields", the logic for
	  incrementing encoders and decoders when opening transcoder
	  channels was changed without making the corresponding change when
	  decrementing encoder / decoder channels. The result being that
	  when a channel was destroyed, codec_dahdi couldn't properly tell
	  if it was an encoder or decoder, and the default case is to
	  assume it was a decoder. This could result in negative numbers
	  for decoders in use like in: VOIP6*CLI> transcoder show 2/-2
	  encoders/decoders of 92 channels are in use. (closes issue
	  ASTERISK-19921) Patch-by: Shaun Ruffell ........ Merged revisions
	  377382 from http://svn.asterisk.org/svn/asterisk/branches/10
	  ........ Merged revisions 377383 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-07 00:00 +0000 [r377356]  Richard Mudgett <rmudgett@digium.com>

	* apps/confbridge/conf_config_parser.c, /, apps/app_confbridge.c:
	  confbridge: Fix some resource leaks on conference teardown. *
	  Made destroy_conference_bridge() destroy a missed ast_mutex_t and
	  ast_cond_t. * Made join_conference_bridge() init the
	  ast_mutex_t's and ast_cond_t so destroy_conference_bridge() can
	  destroy them unconditionally. * Made join_conference_bridge()
	  abort if the new conference could not be added to the conferences
	  container. * Made leave_conference() discard any post-join
	  actions if join_conference_bridge() had to abort early. * Made
	  the join_conference_bridge() diagnostic messages better describe
	  what happened. * Renamed leave_conference_bridge() to
	  leave_conference() and made it only take a conference user
	  pointer. The conference pointer was redundant. * Made
	  conf_bridge_profile_copy() use struct copy instead of memcpy(). *
	  No need to lock the conference in start_conf_record_thread()
	  since all of the callers already have it locked. ........ Merged
	  revisions 377354 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377355 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-06 17:29 +0000 [r377329-377341]  Russell Bryant <russell@russellbryant.com>

	* /: Recorded merge of revisions 377340 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Add CLI
	  tab completion to 'acl show'. The 'acl show' CLI command allows
	  you to show the details about a specific named ACL in acl.conf.
	  This patch adds tab completion to the command. Review:
	  https://reviewboard.asterisk.org/r/2230/

	* main/named_acl.c: Minor code cleanup in named_acl.c. This patch
	  makes a few little cleanups to named_acl.c. A couple non-public
	  functions were made static and an opening brace for a function
	  was moved to its own line, per the coding guidelines.

	* main/named_acl.c: Add CLI tab completion to 'acl show'. The 'acl
	  show' CLI command allows you to show the details about a specific
	  named ACL in acl.conf. This patch adds tab completion to the
	  command. Review: https://reviewboard.asterisk.org/r/2230/

2012-12-06 14:26 +0000 [r377324]  Matthew Jordan <mjordan@digium.com>

	* main/manager.c, /: Fix memory leak in 'manager show event' when
	  command entered incorrectly When the CLI command 'manager show
	  event' was run incorrectly and its usage instructions returned, a
	  reference to the event container was leaked. This would prevent
	  the container from being reclaimed when Asterisk exits. We now
	  properly decrement the count on the ao2 object using the nifty
	  RAII_VAR macro. Thanks to Russell for helping me stumble on this,
	  and Terry for writing that ridiculously helpful macro. ........
	  Merged revisions 377319 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-05 17:17 +0000 [r377263]  Jonathan Rose <jrose@digium.com>

	* /, res/res_srtp.c: res_srtp: Fix a crash caused by srtp_dealloc
	  on an already dealloced session When srtp_create fails, the
	  session may be dealloced or just not alloced. At the same time
	  though, the session pointer might not be set to NULL in this
	  process and attempting to srtp_dealloc it again will cause a
	  segfault. This patch checks for failure of srtp_create and sets
	  the session pointer to NULL if it fails. (closes issue
	  ASTERISK-20499) Reported by: tootai Review:
	  https://reviewboard.asterisk.org/r/2228/ ........ Merged
	  revisions 377256 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377261 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377262 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-05 16:51 +0000 [r377260]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_sip.c: Fix a SIP request memory leak with TLS
	  connections. During the TLS re-work in chan_sip some TLS specific
	  code was moved into a separate function. This function operates
	  on a copy of the incoming SIP request. This copy was never
	  deinitialized causing a memory leak for each request processed.
	  This function is now given a SIP request structure which it can
	  use to copy the incoming request into. This reduces the amount of
	  memory allocations done since the internal allocated components
	  are reused between packets and also ensures the SIP request
	  structure is deinitialized when the TLS connection is torn down.
	  (closes issue ASTERISK-20763) Reported by: deti ........ Merged
	  revisions 377257 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377258 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377259 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-05 02:23 +0000 [r377214-377246]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/_private.h, main/asterisk.c, main/format.c:
	  Remove init_framer(). It no longer does anything.

	* main/format.c, /: Fix registering core show codecs/codec CLI
	  commands twice. ........ Merged revisions 377241 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377244 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/confbridge/conf_config_parser.c, /: confbridge: Fix several
	  small issues. * Made func_confbridge_helper() allow an empty
	  value when setting options. You previously could not
	  Set(CONFBRIDGE(user,pin)=) and clear the configured pin from the
	  dialplan. * Made func_confbridge_helper() handle its datastore
	  better if multiple threads attempt to set the first CONFBRIDGE
	  option value on the channel. * Made the func_confbridge_helper()
	  only output one diagnostic message concerning the option. * Made
	  the bridge video_mode able to repeatedly change in the config
	  file and CONFBRIDGE dialplan function. The video_mode option
	  values are an enum and not independent of each other. * Made
	  handle_cli_confbridge_show_bridge_profile() better handle the
	  video_mode option. * Simplified datastore handling code in
	  conf_find_user_profile() and conf_find_bridge_profile(). (closes
	  issue ASTERISK-20655) Reported by: Birger "WIMPy" Harzenetter
	  ........ Merged revisions 377227 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377228 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_confbridge.c: confbridge: Update online XML
	  documentation. ........ Merged revisions 377212 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377213 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-04 13:01 +0000 [r377196]  Russell Bryant <russell@russellbryant.com>

	* contrib/scripts/install_prereq, /: Add libuuid to install_prereq
	  for Fedora. I ran this script and my build failed. pjproject
	  requires this. ........ Merged revisions 377195 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-03 23:00 +0000 [r377040-377168]  Richard Mudgett <rmudgett@digium.com>

	* /, main/asterisk.c: Cleanup ast_run_atexits() atexits list. *
	  Convert atexits list to a mutex instead of a rd/wr lock. The lock
	  is only write locked. * Move CLI verbose Asterisk ending message
	  to where AMI message is output in really_quit() to avoid further
	  surprises about using stuff already shutdown. (issue
	  ASTERISK-20649) Reported by: Corey Farrell ........ Merged
	  revisions 377165 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377166 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377167 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* include/asterisk/_private.h, main/stdtime/localtime.c,
	  main/asterisk.c, /: Cleanup core main on exit. * Cleanup time
	  zones on exit. * Make exit clean/unclean report consistent for
	  AMI and CLI in really_quit(). (issue ASTERISK-20649) Reported by:
	  Corey Farrell Patches: core-cleanup-1_8-10.patch (license #5909)
	  patch uploaded by Corey Farrell core-cleanup-11-trunk.patch
	  (license #5909) patch uploaded by Corey Farrell Modified ........
	  Merged revisions 377135 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377136 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377137 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/config.c, /: Cleanup config cache on exit. (issue
	  ASTERISK-20649) Reported by: Corey Farrell Patches:
	  config-cleanup-all.patch (license #5909) patch uploaded by Corey
	  Farrell ........ Merged revisions 377104 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377105 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377106 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/cli.c, /: Cleanup CLI resources on exit and CLI command
	  registration errors. (issue ASTERISK-20649) Reported by: Corey
	  Farrell Patches: cli-leaks-1_8-10.patch (license #5909) patch
	  uploaded by Corey Farrell cli-leaks-11-trunk.patch (license
	  #5909) patch uploaded by Corey Farrell Modified ........ Merged
	  revisions 377073 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377074 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377075 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/cdr.c, /: Cleanup CDR resources on exit. * Simplify
	  do_reload() return handling since it never returned anything
	  other than 0. (issue ASTERISK-20649) Reported by: Corey Farrell
	  Patches: cdr-cleanup-1_8.patch (license #5909) patch uploaded by
	  Corey Farrell cdr-cleanup-10-11-trunk.patch (license #5909) patch
	  uploaded by Corey Farrell Modified ........ Merged revisions
	  377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 377070 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377071 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/ccss.c: Fix CCSS CLI commands and logger level not
	  unregistered. (issue ASTERISK-20649) Reported by: Corey Farrell
	  Patches: ccss-cleanup-all.patch (license #5909) patch uploaded by
	  Corey Farrell ........ Merged revisions 377037 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 377038 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 377039 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-03 16:45 +0000 [r377035]  Olle Johansson <oej@edvina.net>

	* res/res_rtp_asterisk.c: Formatting fixes

2012-12-03 14:56 +0000 [r377022]  Joshua Colp <jcolp@digium.com>

	* channels/chan_motif.c, /: Fix an RTP instance reference count
	  leak in chan_motif. When setting up an RTP instance the RTCP
	  portion of the instance keeps a reference to the instance itself.
	  In order to release this reference and stop RTCP the stop API
	  call must be called before destroying the instance. (closes issue
	  ASTERISK-20751) Reported by: joshoa ........ Merged revisions
	  377021 from http://svn.asterisk.org/svn/asterisk/branches/11

2012-12-03 14:46 +0000 [r376998-377018]  Olle Johansson <oej@edvina.net>

	* channels/chan_sip.c: Move functions to AFTER the block of forward
	  declarations of functions. It was a mess. The first part of
	  chan_sip.c is constants, declarations, structures and stuff, then
	  forward declarations and then actual code. It's still a mess, but
	  a bit less messy ;-)

	* channels/chan_sip.c, res/res_rtp_asterisk.c: Formatting changes
	  Found a large amount of missing {} in the code before patching in
	  another branch

2012-12-01 00:47 +0000 [r376984]  Joshua Colp <jcolp@digium.com>

	* configs/motif.conf.sample, /, channels/chan_motif.c: Tweak
	  extension used for incoming calls received on Motif. Based on
	  feedback from numerous individuals this patch tweaks incoming
	  calls to first look for an extension with the name of the
	  endpoint. If no such extension exists the call will silently fall
	  back to the "s" extension as it previously did. ........ Merged
	  revisions 376983 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-30 21:38 +0000 [r376953]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/misdn/isdn_lib.c: chan_misdn: Fix sending
	  RELEASE_COMPLETE in response to SETUP. Fix sending a
	  RELEASE_COMPLETE in response to a SETUP if chan_misdn does not
	  have a B channel available to assign to the call. (closes issue
	  ABE-2869) Reported by: Guenther Kelleter Patches:
	  setup-reject_2.diff (license #6372) patch uploaded by Guenther
	  Kelleter Modified ........ Merged revision 376949 from
	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
	  ........ Merged revisions 376950 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376951 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376952 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-30 17:08 +0000 [r376922]  Sean Bright <sean@malleable.com>

	* /, funcs/func_volume.c: Minor spelling fix to the VOLUME
	  documentation. ........ Merged revisions 376919 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376920 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376921 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-30 16:56 +0000 [r376918]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Fix potential crashes during SIP attended
	  transfers. The principal behind this patch is simple. During a
	  transfer, we manipulate channels that are owned by a separate
	  thread than the one we currently are running in, so it makes
	  sense that we need to grab a reference to the channels so that
	  they cannot disappear out from under us. In the wild, crashes
	  were sometimes seen when the transferring party would hang up the
	  call before the transfer target answered the call. The most
	  common place to see the crash occur was when attempting to send a
	  connected line update to the transferer channel. (closes issue
	  ASTERISK-20226) Reported by Jared Smith Patches:
	  ASTERISK-20226.patch uploaded by Mark Michelson (License #5049)
	  Tested by: Jared Smith ........ Merged revisions 376901 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376916 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376917 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-29 23:01 +0000 [r376867-376871]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_local.c, /: chan_local: Fix local_pvt ref leak in
	  local_devicestate(). Regression introduced by ASTERISK-20390 fix.
	  (closes issue ASTERISK-20769) Reported by: rmudgett Tested by:
	  rmudgett ........ Merged revisions 376868 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376869 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376870 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: Fix compile error. (issue ASTERISK-20724)
	  ........ Merged revisions 376864 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376865 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376866 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-29 21:58 +0000 [r376837]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Improve Code Readability And Fix Setting
	  natdetected Flag For 1.8, 10, 11 and trunk we are are improving
	  the code readability. For 11 and trunk, auto nat detection was
	  added. The natdetected flag was being set to 1 when the host
	  address in the VIA header did not specifiy a port. This patch
	  fixes this by setting the port on the temporary sock address used
	  to SIP_STANDARD_PORT in order for the sock address comparison to
	  work properly. (closes issue ASTERISK-20724) Reported by: Michael
	  L. Young Patches: asterisk-20724-set-port-v2.diff uploaded by
	  Michael L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2206/ ........ Merged
	  revisions 376834 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376835 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376836 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-29 17:16 +0000 [r376821]  David M. Lee <dlee@digium.com>

	* main/utils.c: Fixed ast_random's comment about locking. The
	  original comment was separated from the code at some point, and
	  didn't reflect the use of libc's other than glibc for Linux.

2012-11-29 16:44 +0000 [r376820]  Pedro Kiefer <pedro@kiefer.com.br>

	* channels/chan_sip.c: Fix chan_sip websocket payload handling
	  Websocket by default doesn't return an ast_str for the payload
	  received. When converting it to an ast_str on chan_sip the last
	  character was being omitted, because ast_str functions expects
	  that the given length includes the trailing 0x00. payload_len
	  only has the actual string length without counting the trailing
	  zero. For most cases this passed unnoticed as most of SIP
	  messages ends with \r\n. (closes issue ASTERISK-20745) Reported
	  by: Iñaki Baz Castillo Review:
	  https://reviewboard.asterisk.org/r/2219/

2012-11-29 00:48 +0000 [r376761-376791]  Richard Mudgett <rmudgett@digium.com>

	* main/astmm.c, main/asterisk.c, /: Add MALLOC_DEBUG atexit
	  unreleased malloc memory summary. * Adds the following CLI
	  commands to control MALLOC_DEBUG reporting of unreleased malloc
	  memory when Asterisk is shut down. memory atexit list on memory
	  atexit list off memory atexit summary byline memory atexit
	  summary byfunc memory atexit summary byfile memory atexit summary
	  off * Made check all remaining allocated region blocks atexit for
	  fence violations. * Increased the allocated region hash table
	  size by about three times. It still isn't large enough
	  considering the number of malloced blocks Asterisk uses. * Made
	  CLI "memory show allocations anomalies" use
	  regions_check_all_fences(). Review:
	  https://reviewboard.asterisk.org/r/2196/ ........ Merged
	  revisions 376788 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376789 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376790 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/astmm.c: Enhance MALLOC_DEBUG CLI commands. * Fixed CLI
	  "memory show allocations" misspelling of anomalies option. The
	  command will still accept the original misspelling. *
	  Miscellaneous tweaks to CLI "memory show allocations" command
	  output format. * Made CLI "memory show summary" summarize by line
	  number instead of by function if a filename is given. * Made CLI
	  "memory show summary" sort its output by filename or
	  function-name/line-number depending upon request. * Miscellaneous
	  tweaks to CLI "memory show summary" command output format.
	  ........ Merged revisions 376758 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376759 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376760 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-28 16:47 +0000 [r376728]  Jonathan Rose <jrose@digium.com>

	* main/manager.c, /: manager: Make challenge work with
	  allowmultiplelogin=no Prior to this patch, challenge would yield
	  a multiple logins error if used without providing the username
	  (which isn't really supposed to be an argument to challenge) if
	  allowmultiplelogin was set to no because allowmultiplelogin finds
	  a user with a zero length login name. This check is simply
	  disabled for the challenge action when the username is empty by
	  this patch. (closes issue ASTERISK-20677) Reported by: Vladimir
	  Patches: challenge_action_nomultiplelogin.diff uploaded by
	  Jonathan Rose (license 6182) ........ Merged revisions 376725
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 376726 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376727 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-28 00:13 +0000 [r376630-376691]  Richard Mudgett <rmudgett@digium.com>

	* UPGRADE.txt, main/pbx.c, /: Fix extension matching with the '-'
	  char. The '-' char is supposed to be ignored by the dialplan
	  extension matching. Unfortunately, it's treatment is not handled
	  consistently throughout the extension matching code. * Made the
	  old exten matching code consistently ignore '-' chars. * Made the
	  old exten matching code consistently handle case in the matching.
	  * Made ignore empty character sets. * Fixed ast_extension_cmp()
	  to return -1, 0, or 1 as documented. The only user of it in
	  pbx_lua.c was testing for -1. It was originally returning the
	  strcmp() value for less than which is not usually going to be -1.
	  * Fix character set sorting if the sets have the same number of
	  characters and start with the same character. Character set [0-9]
	  now sorts before [02-9a] as originally intended. * Updated some
	  extension label and priority already in use warnings to also
	  indicate if the extension is aliased. (closes issue
	  ASTERISK-19205) Reported by: Philippe Lindheimer, Birger "WIMPy"
	  Harzenetter Tested by: rmudgett Review:
	  https://reviewboard.asterisk.org/r/2201/ ........ Merged
	  revisions 376688 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376689 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376690 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_celgenuserevent.c, pbx/pbx_dundi.c,
	  addons/res_config_mysql.c: Remove unnecessary channel module
	  references. * Removed call to ast_module_user_hangup_all() in
	  res_config_mysql.c since it is effectively a noop. No channels
	  can attach a reference to that module. * Removed call to
	  ast_module_user_hangup_all() in app_celgenuserevent.c. The caller
	  of unload_module() has already called it. * Removed redundant
	  channel module references in pbx_dundi.c. The registered dialplan
	  function callback dispatchers for the read/read2/write callbacks
	  already reference the module before calling. * pbx_dundi: Moved
	  unregistering CLI commands, DUNDi switch, and dialplan functions
	  to the first thing the unload_module() does. This will reduce the
	  chance of new channels using DUNDi services while the module is
	  being torn down. ........ Merged revisions 376657 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376658 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376659 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* include/asterisk/linkedlists.h, /: Made AST_LIST_REMOVE() simpler
	  and use better names. * Update doxygen of AST_LIST_REMOVE().
	  ........ Merged revisions 376627 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376628 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376629 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-23 00:02 +0000 [r376589]  Matthew Jordan <mjordan@digium.com>

	* main/lock.c, /, main/logger.c, include/asterisk/lock.h:
	  Re-initialize logmsgs mutex upon logger initialization to prevent
	  lock errors Similar to the patch that moved the fork earlier in
	  the startup sequence to prevent mutex errors in the recursive
	  mutex surrounding the read/write thread registration lock, this
	  patch re-initializes the logmsgs mutex. Part of the start up
	  sequence before forking the process into the background includes
	  reading asterisk.conf; this has to occur prior to the call to
	  daemon in order to read startup parameters. When reading in a
	  conf file, log statements can be generated. Since this can't be
	  avoided, the mutex instead is re-initialized to ensure a reset of
	  any thread tracking information. This patch also includes some
	  additional debugging to catch errors when locking or unlocking
	  the recursive mutex that surrounds locks when the DEBUG_THREADS
	  build option is enabled. DO_CRASH or THREAD_CRASH will cause an
	  abort() if a mutex error is detected. (issue ASTERISK-19463)
	  Reported by: mjordan Tesetd by: mjordan ........ Merged revisions
	  376586 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 376587 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376588 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-21 18:33 +0000 [r376575]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_iax2.c, main/astobj2.c, include/asterisk/test.h,
	  main/channel.c, include/asterisk/astobj2.h, main/test.c,
	  tests/test_astobj2.c: Add red-black tree container type to
	  astobj2. * Add red-black tree container type. * Add CLI command
	  "astobj2 container dump <name>" * Added ao2_container_dump() so
	  the container could be dumped by other modules for debugging
	  purposes. * Changed ao2_container_stats() so it can be used by
	  other modules like ao2_container_check() for debugging purposes.
	  * Updated the unit tests to check red-black tree containers.
	  (closes issue ASTERISK-19970) Reported by: rmudgett Tested by:
	  rmudgett Review: https://reviewboard.asterisk.org/r/2110/

2012-11-20 22:06 +0000 [r376562]  David M. Lee <dlee@digium.com>

	* res/res_http_websocket.c, /: Added missing newlines to websocket
	  ast_logs. Without these newlines, log messages just continue
	  tacking onto the same line, and do not flush immediately.
	  ........ Merged revisions 376561 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-20 19:09 +0000 [r376551]  Mark Michelson <mmichelson@digium.com>

	* channels/sip/include/sip.h, /, channels/chan_sip.c: Add "Require:
	  timer" to 200 OK responses when appropriate. The method by which
	  the Require header is added to 200 responses is inspired by the
	  method that Olle Johansson uses in his darjeeling-prack branch.
	  (closes issue ASTERISK-20570) Reported by Matt Jordan, at the
	  behest of Olle Johansson Review:
	  https://reviewboard.asterisk.org/r/2172 ........ Merged revisions
	  376521 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 376522 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376550 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-20 17:39 +0000 [r376541]  Alec L Davis <sivad.a@paradise.net.nz>

	* /, channels/chan_sip.c: Reduce CLI spam of "Extension Changed"
	  device state messages. Asterisk 11 follows RFC3265 that states
	  that after every subscribe or resubscribe a notify should be
	  sent. Thus the console if filled continuously with the following
	  after every subscribe; == Extension Changed 8512[phones] new
	  state IDLE for Notify User cisco1 In Asterisk 1.8 only changes
	  would be sent. Thus only when a device state changed was anything
	  emitted to the console. fix: Only print to console when device
	  state isn't forced. (closes issue ASTERISK-20706) Reported by:
	  alecdavis Tested by: alecdavis alecdavis (license 585) ........
	  Merged revisions 376540 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-19 20:03 +0000 [r376472]  Walter Doekes <walter+asterisk@wjd.nu>

	* main/indications.c, /, channels/chan_sip.c,
	  main/security_events.c: Fix most leftover non-opaque ast_str
	  uses. Instead of calling str->str, one should use
	  ast_str_buffer(str). Same goes for str->used as
	  ast_str_strlen(str) and str->len as ast_str_size(str). Review:
	  https://reviewboard.asterisk.org/r/2198 ........ Merged revisions
	  376469 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 376470 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376471 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-19 02:14 +0000 [r376416-376457]  Matthew Jordan <mjordan@digium.com>

	* tests/test_astobj2.c: Fix uninitialized in this function error
	  With some versions of gcc, n_buckets will be flagged as being
	  uninitialized before use. While its technically impossible (since
	  the switch statement, even without a default, accounts for all
	  possibilities), we'll initialize the variable to 0 anyway.

	* main/asterisk.c, /, main/utils.c: Reorder startup sequence to
	  prevent lockups when process is sent to background Although it is
	  very rare and timing dependent, the potential exists for the call
	  to 'daemon' to cause what appears to be a deadlock in Asterisk
	  during startup. This can occur when a recursive mutex is obtained
	  prior to the daemon call executing. Since daemon uses fork to
	  send the process into the background, any threading primitives
	  are unsafe to re-use after the call. Implementations of pthread
	  recursive mutexes are highly likely to store the thread
	  identifier of the thread that previously obtained the mutex. If
	  the mutex was locked prior to the fork, a subsequent unlock
	  operation will potentially fail as the thread identifier is no
	  longer valid. Since the mutex is still locked, all subsequent
	  attempts to grab the mutex by other threads will block. This
	  behavior exhibited itself most often when DEBUG_THREADS was
	  enabled, as this compile time option surrounds the mutexes in
	  Asterisk with another recursive mutex that protects the storage
	  of thread related information. This made it much more likely that
	  a recursive mutex would be obtained prior to daemon and unlocked
	  after the call. This patch does the following: a) It backports a
	  patch from Asterisk 11 that prevents the spawning of the
	  localtime monitoring thread. This thread is now spawned after
	  Asterisk has fully booted. b) It re-orders the startup sequence
	  to call daemon earlier during Asterisk startup. This limits the
	  potential of threading primitives being accessed by
	  initialization calls before daemon is called. c) It removes calls
	  to ast_verbose/ast_log/etc. prior to daemon being called.
	  Developers should send error messages directly to stderr prior to
	  daemon, as calls to ast_log may access recursive mutexes that
	  store thread related information. d) It reorganizes when thread
	  local storage is created for storing lock information during the
	  creation of threads. Prior to this patch, the read/write lock
	  protecting the list of threads in ast_register_thread would
	  utilize the lock in the thread local storage prior to it being
	  initialized; this patch prevents that. On a very related note,
	  this patch will *greatly* improve the stability of the Asterisk
	  Test Suite. Review: https://reviewboard.asterisk.org/r/2197
	  (closes issue ASTERISK-19463) Reported by: mjordan Tested by:
	  mjordan ........ Merged revisions 376428 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376431 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376441 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/confbridge/conf_state.c, /: Add a test event that reports
	  changes in ConfBridge state This patch adds a test event to
	  ConfBridge that reports transitions between states in ConfBridge.
	  This is used by tests in the Asterisk Test Suite that verify
	  state changes based on the entering/leaving of conference
	  participants. ........ Merged revisions 376414 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376415 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-16 00:15 +0000 [r376341-376345]  David M. Lee <dlee@digium.com>

	* /, utils/extconf.c: Fixed extconf.c breakage introduced in
	  r376306. To quote wdoekes: > Note that I'm not confirming
	  legitimacy of having that file in tree at > all. Is anyone using
	  aelparse/conf2ael? ........ Merged revisions 376340 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376342 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376343 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /: Somehow I put in svn-1.6 merge information. Oops.

	* utils/Makefile, tests/test_astobj2_thrash.c (added),
	  utils/utils.xml, /, utils/hashtest.c (removed),
	  tests/test_hashtab_thrash.c (added), utils/hashtest2.c (removed),
	  include/asterisk/hashtab.h: Migrate hashtest/hashtest2 to be unit
	  tests. Both hashtest and hashtest2 are manual testing apps that
	  thrash hash tables (hashtab and ao2 containers, respectively), by
	  spinning up several threads that randomly insert, delete, lookup
	  and iterate over the hash table. If the app doesn't crash, the
	  hash table probably passes the test. Those utils are not a part
	  of the typical Asterisk build, so they do not usually get
	  compiled. This all makes them less that useful. This patch
	  removes those manual test programs and replaces them with
	  Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It
	  also attempts to make the tests more deterministic. * Rather than
	  spinning up some number of threads that operate on the hash table
	  randomly, spin up four threads that concurrenly add, remove,
	  lookup and iterate over the hash table. * Each thread checks the
	  state of the hash table both during and after execution, and
	  indicates a test failure if things are not as expected. * Each
	  thread times out after 60 seconds to prevent deadlocking the unit
	  test run. (closes issue ASTERISK-20505) Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/2189/ ........ Merged
	  revisions 376306 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376315 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376339 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-15 23:10 +0000 [r376312]  Jonathan Rose <jrose@digium.com>

	* /, apps/app_meetme.c: app_meetme: Fix channels lingering when
	  hung up under certain conditions Channels would get stuck and
	  MeetMe would repeatedly display an Unable to write frame to
	  channel error in the conf_run function if hung up during certain
	  sound prompts such as during user count announcements. This patch
	  fixes that by reintroducing a hangup check in the meetme's main
	  loop (also in conf_run). (closes issue ASTERISK-20486) Reported
	  by: Michael Cargile Review:
	  https://reviewboard.asterisk.org/r/2187/ Patches:
	  meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by Jonathan
	  Rose (license 6182) ........ Merged revisions 376307 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376308 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376310 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-15 14:35 +0000 [r376291]  Brent Eagles <beagles@digium.com>

	* main/channel.c, /: Patch to prevent stopping the active generator
	  when it is not the silence generator. This patch introduces an
	  internal helper function to safely check whether the current
	  generator is the one that is expected before deactivating it. The
	  current externally accessible ast_channel_stop_generator()
	  function has been modified to be implemented in terms of the new
	  function. (closes issue ASTERISK-19918) Reported by: Eduardo Abad
	  ........ Merged revisions 376217 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-15 02:29 +0000 [r376282]  Rusty Newton <rnewton@digium.com>

	* apps/app_voicemail.c, /: Patch to play correct sound file when a
	  voicemail's urgent status is removed We were attempting to play
	  "vm-urgent-removed", which didn't exist. Now we play
	  "vm-marked-nonurgent" which exists and is the correct sound file.
	  Previous behavior was silence and a warning on the CLI. (issue
	  ASTERISK-20280) (closes issue ASTERISK-20280) Reported by: Tomo
	  Takebe Tested by: Rusty Newton Patches: asterisk20280.patch
	  uploaded by Rusty Newton (license 5829) ........ Merged revisions
	  376262 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 376263 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376264 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-14 19:55 +0000 [r376235]  Richard Mudgett <rmudgett@digium.com>

	* pbx/pbx_spool.c, /: Fix call files when astspooldir is relative.
	  Future dated call files are ignored when astspooldir is relative
	  to the current directory. The queue_file() assumed that the qdir
	  needed to be prepended if the given filename did not start with a
	  '/'. If astspooldir is relative it is not going to start from the
	  root directory obviously so it will not start with a '/'. The
	  filename used in queue_file() ultimately results in qdir
	  prepended multiple times. * Made queue_file() not prepend qdir if
	  the filename contains a '/'. (closes issue ASTERISK-20593)
	  Reported by: James Le Cuirot Patches:
	  0004-Fix-future-call-files-from-relative-directories.patch
	  (license #6439) patch uploaded by James Le Cuirot ........ Merged
	  revisions 376232 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376233 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376234 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-13 19:42 +0000 [r376219]  Jonathan Rose <jrose@digium.com>

	* CHANGES, channels/chan_sip.c: chan_sip: Add SubscribeContext
	  field to SIPshowpeer AMI response The new field is will show up
	  within the response if the requested peer has a subscribe context
	  set. (closes issue ASTERISK-20626) Reported by: Jaco Kroon
	  Patches: asterisk-sip-ami-SubscrContext.patch uploaded by jkroon
	  (license 5671) -with modifications by jrose to conform to style
	  guidelines Review: https://reviewboard.asterisk.org/r/2195/

2012-11-12 20:46 +0000 [r376169]  Joshua Colp <jcolp@digium.com>

	* /, main/pbx.c: Properly check if the "Context" and "Extension"
	  headers are empty in a ShowDialPlan action. The code which
	  handles the ShowDialPlan action wrongly assumed that a non-NULL
	  return value from the function which retrieves headers from an
	  action indicates that the header has a value. This is incorrect
	  and the contents must be checked to see if they are blank.
	  (closes issue ASTERISK-20628) Reported by: jkroon Patches:
	  asterisk-showdialplan-incorrect-error.patch uploaded by jkroon
	  ........ Merged revisions 376166 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376167 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376168 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-12 20:18 +0000 [r376148]  Michael L. Young <elgueromexicano@gmail.com>

	* main/pbx.c, /: Fix Dynamic Hints Variable Substition - Underscore
	  Problem When adding a dynamic hint, if an extension contains an
	  underscore no variable subsitution is being performed. This patch
	  changes from checking if the extension contains an underscore to
	  checking if the extension begins with an underscore. (closes
	  issue ASTERISK-20639) Reported by: Steven T. Wheeler Tested by:
	  Steven T. Wheeler, Michael L. Young Patches:
	  asterisk-20639-dynamic-hint-underscore.diff uploaded by Michael
	  L. Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2188/ ........ Merged
	  revisions 376142 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376143 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376144 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-11 17:15 +0000 [r376131]  Joshua Colp <jcolp@digium.com>

	* configs/sip.conf.sample, res/res_rtp_asterisk.c, /,
	  channels/chan_sip.c: Remove a fixed size limitation for producing
	  SDP and change how ICE support is disabled by default. With ICE
	  support enabled in chan_sip and a large number of interfaces on
	  the system it was possible for the produced SDP to be truncated
	  due to some fixed size buffers. These buffers have now been
	  changed so they will dynamically grow as needed. ICE support is
	  now also enabled by default in res_rtp_asterisk to provide a
	  smoother experience for chan_motif users where it is required. To
	  maintain the previous behavior in chan_sip it is no longer
	  enabled by default there. (closes issue ASTERISK-20643) Reported
	  by: coopvr ........ Merged revisions 376130 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-08 22:10 +0000 [r376092]  Mark Michelson <mmichelson@digium.com>

	* /, res/res_fax.c: Fix a "set but not used" warning on newer gccs.
	  Turns out the "helpful" setting of ms and res in this macro is
	  completely useless after the timeout antipattern fix. If you're a
	  new guy looking to write code, don't write a macro like this one.
	  ........ Merged revisions 376087 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376088 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376089 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-08 21:12 +0000 [r376049-376061]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/sig_ss7.c: chan_dahdi/SS7: Made reject incoming call
	  for an in-alarm or blocked channel. If a SS7 call comes in
	  requesting a CIC that is in-alarm, the call is accepted and
	  connects if the extension exists in the dialplan. The call does
	  not have any audio. * Made release the call immediately with
	  circuit congestion cause. (closes issue ASTERISK-20204) Reported
	  by: Tuan Le Patches: jira_asterisk_20204_v1.8.patch (license
	  #5621) patch uploaded by rmudgett ........ Merged revisions
	  376058 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 376059 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376060 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* include/asterisk/utils.h, include/asterisk/astmm.h, /,
	  main/utils.c, main/astmm.c, main/asterisk.c: Add MALLOC_DEBUG
	  enhancements. * Makes malloc() behave like calloc(). It will
	  return a memory block filled with 0x55. A nonzero value. * Makes
	  free() fill the released memory block and boundary fence's with
	  0xdeaddead. Any pointer use after free is going to have a pointer
	  pointing to 0xdeaddead. The 0xdeaddead pointer is usually an
	  invalid memory address so a crash is expected. * Puts the freed
	  memory block into a circular array so it is not reused
	  immediately. * When the circular array rotates out a memory block
	  to the heap it checks that the memory has not been altered from
	  0xdeaddead. * Made the astmm_log message wording better. * Made
	  crash if the DO_CRASH menuselect option is enabled and something
	  is found. * Fixed a potential alignment issue on 64 bit systems.
	  struct ast_region.data[] should now be aligned correctly for all
	  platforms. * Extracted region_check_fences() from
	  __ast_free_region() and handle_memory_show(). * Updated
	  handle_memory_show() CLI usage help. Review:
	  https://reviewboard.asterisk.org/r/2182/ ........ Merged
	  revisions 376029 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 376030 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376048 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-07 19:15 +0000 [r376015]  Mark Michelson <mmichelson@digium.com>

	* apps/app_dial.c, main/pbx.c, main/rtp_engine.c, /,
	  apps/app_meetme.c, res/res_fax.c, apps/app_record.c,
	  channels/chan_agent.c, main/utils.c, include/asterisk/channel.h,
	  apps/app_queue.c, channels/sig_pri.c, channels/chan_iax2.c,
	  main/channel.c, channels/chan_dahdi.c, apps/app_waitforring.c,
	  channels/sig_analog.c, apps/app_jack.c, include/asterisk/time.h:
	  Multiple revisions 375993-375994 ........ r375993 | mmichelson |
	  2012-11-07 11:01:13 -0600 (Wed, 07 Nov 2012) | 30 lines Fix
	  misuses of timeouts throughout the code. Prior to this change, a
	  common method for determining if a timeout was reached was to
	  call a function such as ast_waitfor_n() and inspect the out
	  parameter that told how many milliseconds were left, then use
	  that as the input to ast_waitfor_n() on the next go-around. The
	  problem with this is that in some cases, submillisecond timeouts
	  can occur, resulting in the out parameter not decreasing any.
	  When this happens thousands of times, the result is that the
	  timeout takes much longer than intended to be reached. As an
	  example, I had a situation where a 3 second timeout took multiple
	  days to finally end since most wakeups from ast_waitfor_n() were
	  under a millisecond. This patch seeks to fix this pattern
	  throughout the code. Now we log the time when an operation began
	  and find the difference in wall clock time between now and when
	  the event started. This means that sub-millisecond timeouts now
	  cannot play havoc when trying to determine if something has timed
	  out. Part of this fix also includes changing the function
	  ast_waitfor() so that it is possible for it to return less than
	  zero when a negative timeout is given to it. This makes it
	  actually possible to detect errors in ast_waitfor() when there is
	  no timeout. (closes issue ASTERISK-20414) reported by David M.
	  Lee Review: https://reviewboard.asterisk.org/r/2135/ ........
	  r375994 | mmichelson | 2012-11-07 11:08:44 -0600 (Wed, 07 Nov
	  2012) | 3 lines Remove some debugging that accidentally made it
	  in the last commit. ........ Merged revisions 375993-375994 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375995 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 376014 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-06 19:05 +0000 [r375967]  Richard Mudgett <rmudgett@digium.com>

	* /, main/channel_internal_api.c, main/features.c,
	  include/asterisk/channel.h, include/asterisk/features.h,
	  main/channel.c: Fix stuck DTMF when bridge is broken. When a
	  bridge is broken by an AMI Redirect action or the ChannelRedirect
	  application, an in progress DTMF digit could be stuck sending
	  forever. * Made simulate a DTMF end event when a bridge is broken
	  and a DTMF digit was in progress. (closes issue ASTERISK-20492)
	  Reported by: Jeremiah Gowdy Patches: bridge_end_dtmf-v3.patch.txt
	  (license #6358) patch uploaded by Jeremiah Gowdy Modified to
	  jira_asterisk_20492_v1.8.patch jira_asterisk_20492_v1.8.patch
	  (license #5621) patch uploaded by rmudgett Tested by: rmudgett
	  Review: https://reviewboard.asterisk.org/r/2169/ ........ Merged
	  revisions 375964 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375965 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375966 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-06 12:15 +0000 [r375926]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_motif.c: Fix a bug where our Motif ICE
	  candidates were not quite proper, and make us more forgiving. An
	  issue was reported on the mailing list where calling would result
	  in an "Incomplete ICE-UDP candidate received on session" error
	  message. This is the result of the ICE-UDP candidate code not
	  placing a "network" attribute within the candidates. This is now
	  done. To increase compatibility though I have removed the
	  requirement for the "network" attribute to exist within ICE-UDP
	  candidates that are received since we don't actually require the
	  value. Reported on the mailing list by Jean-Denis Girard.
	  ........ Merged revisions 375925 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-05 23:10 +0000 [r375896]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_iax2.c, res/res_fax_spandsp.c,
	  res/res_timing_kqueue.c, main/timing.c, main/channel.c, /,
	  res/res_timing_pthread.c, res/res_timing_dahdi.c,
	  res/res_timing_timerfd.c, bridges/bridge_softmix.c,
	  funcs/func_jitterbuffer.c, include/asterisk/timing.h,
	  res/res_musiconhold.c: Refactor ast_timer_ack to return an error
	  and handle the error in timer users Currently, if an
	  acknowledgement of a timer fails Asterisk will not realize that a
	  serious error occurred and will continue attempting to use the
	  timer's file descriptor. This can lead to situations where errors
	  stream to the CLI/log file. This consumes significant resources,
	  masks the actual problem that occurred (whatever caused the timer
	  to fail in the first place), and can leave channels in odd
	  states. This patch propagates the errors in the timing resource
	  modules up through the timer core, and makes users of these
	  timers handle acknowledgement failures. It also adds some
	  defensive coding around the use of timers to prevent using bad
	  file descriptors in off nominal code paths. Note that the patch
	  created by the issue reporter was modified slightly for this
	  commit and backported to 1.8, as it was originally written for
	  Asterisk 10. Review: https://reviewboard.asterisk.org/r/2178/
	  (issue ASTERISK-20032) Reported by: Jeremiah Gowdy patches:
	  jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy (license
	  6358) ........ Merged revisions 375893 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375894 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375895 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-05 21:42 +0000 [r375865]  Richard Mudgett <rmudgett@digium.com>

	* main/loader.c, /: Add safety NULL pointer check in module user
	  references. Made __ast_module_user_remove() check for NULL
	  pointers. ........ Merged revision 375860 from C.3 ........
	  Merged revisions 375862 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375863 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375864 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-05 18:00 +0000 [r375848]  Jonathan Rose <jrose@digium.com>

	* /, UPGRADE.txt: chan_sip: Document a change to user-field
	  encoding introduced with r303509 The change in question was added
	  to improve compliance with RFC3261, but at the time of commit, it
	  wasn't adequately documented in the UPGRADE notes. (closes issue
	  ASTERISK-20561) Reported by: Deniz Review:
	  https://reviewboard.asterisk.org/r/2177/ ........ Merged
	  revisions 375846 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375847 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-04 03:10 +0000 [r375730-375803]  Matthew Jordan <mjordan@digium.com>

	* main/manager.c, /: Don't attempt to purge sessions when no
	  sessions exist Manager's tcp/tls objects have a periodic function
	  that purge old manager sessions periodically. During shutdown,
	  the underlying container holding those sessions can be disposed
	  of and set to NULL before the tcp/tls periodic function is
	  stopped. If the periodic function fires, it will attempt to
	  iterate over a NULL container. This patch checks for whether or
	  not the sessions container exists before attempting to purge
	  sessions out of it. If the sessions container is NULL, we simply
	  return. Note that this error was also caught by the Asterisk Test
	  Suite. ........ Merged revisions 375800 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375801 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375802 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, res/res_fax.c: Only deref a reserved gateway session if we
	  actually reserved one Its perfectly acceptable to have a gateway
	  session unreserved when we go to first allocate one. Unreffing
	  the reserved gateway session - when its NULL - will result in an
	  assertion error. This problem was caught by the Asterisk Test
	  Suite (once we had enough of the debugging flags enabled)
	  ........ Merged revisions 375797 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375798 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/manager.c: Properly clean up manager resources on exit
	  This patch does two things: 1) It properly unregisters the
	  manager CLI commands 2) It cleans up AMI users on exit. Prior to
	  this patch, the AMI users were not being disposed of properly,
	  resulting in a memory leak. (closes issue ASTERISK-20646)
	  Reported by: Corey Farrell patches: manager_shutdown.patch
	  uploaded by Corey Farrell (license 5909) ........ Merged
	  revisions 375793 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375794 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375795 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/db.c: Properly finalize prepared SQLite3 statements to
	  prevent memory leak The AstDB uses prepared SQLite3 statements to
	  retrieve data from the SQLite3 database. These statements should
	  be finalized during Asterisk shutdown so that the SQLite3
	  database can be properly closed. Failure to finalize the
	  statements results in a memory leak and a failure when closing
	  the database. This patch fixes those issues by ensuring that all
	  prepared statements are properly finalized at shutdown. (closes
	  issue ASTERISK-20647) Reported by: Corey Farrell patches:
	  astdb-sqlite3_close.patch uploaded by Corey Farrell (license
	  5909) ........ Merged revisions 375761 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375763 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/xmldoc.c, /: Fix memory leaks in XML documentation This
	  patch fixes two memory leaks: 1) When building XML documentation
	  items, the 'name' attribute was extracted from XML elements but
	  not properly freed after being copied into the item being built.
	  2) When unloading XML documentation, the doctree container
	  objects were not properly freed. This patch corrects these memory
	  leaks. Note that this patch was modified slightly for this
	  commmit, as the case where the 'name' attribute doesn't exist
	  also wasn't handled in the item construction. This patch also
	  checks for that attribute not existing. (closes issue
	  ASTERISK-20648) Reported by: Corey Farrell Tested by: mjordan
	  patches: xmldoc-memory_leak.patch uploaded by Corey Farrell
	  (license 5909) ........ Merged revisions 375756 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/cdr.c, /: Prevent multiple CDR batches from conflicting when
	  scheduling the CDR write The Asterisk Test Suite caught an error
	  condition where a scheduled CDR batch write can be deleted twice
	  if two channels attempt to post their CDRs at the same time. The
	  batch CDR mutex is locked while the CDRs are appended to the
	  current batch list; however, it is unlocked prior to actually
	  scheduling the CDR write. As such, two threads can attempt to
	  remove the currently scheduled batch write at the same time,
	  resulting in an assertion error. This patch extends the time that
	  the mutex is locked to encompass actually scheduling the write.
	  This prevents two threads from unscheduling the currently
	  scheduled write at the same time. ........ Merged revisions
	  375727 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 375728 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375729 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-02 21:03 +0000 [r375663]  Damien Wedhorn <voip@facts.com.au>

	* /, channels/chan_skinny.c: Fix for chan_skinny leaving RTP ports
	  open Skinny wasn't closing RTP sockets. This patch includes
	  ast_rtp_instance_stop before ast_rtp_instance_destroy which fixes
	  the problem. Also add destroy for VRTP (which I believe is
	  unused, but exists). Review:
	  https://reviewboard.asterisk.org/r/2176/ ........ Merged
	  revisions 375660 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-02 21:01 +0000 [r375628-375662]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, channels/chan_misdn.c, /, main/ccss.c,
	  main/format_pref.c: Things don't need to be that const. ........
	  Merged revisions 375658 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375659 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375661 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, /: Multiple
	  revisions 375519-375524 ........ r375519 | rmudgett | 2012-10-30
	  16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines chan_misdn: Timer
	  primitives must be handled first. The frm->addr is a different
	  "address space" than the stack/instance address of other Lx
	  primitives. The test for B channel instance address could fail.
	  Patches: patch01_timers.diff (license #6372) patch uploaded by
	  Guenther Kelleter JIRA ABE-2888 ........ r375520 | rmudgett |
	  2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines
	  chan_misdn: Free memory in error paths and other memory leaks.
	  The one line commented with BUG is not easily fixable because
	  there is no de-init function one can call. Patches:
	  patch02_memory.diff (license #6372) patch uploaded by Guenther
	  Kelleter JIRA ABE-2888 ........ r375521 | rmudgett | 2012-10-30
	  16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines chan_misdn: ISDN NT
	  L2 de-establish/establish * An NT-PTMP cannot de/establish L2
	  since it doesn't know the TEIs. * On NT-PTP L2 is started when L1
	  is finally active in handle_l1. * L2 deactivation logging
	  cleanup. * L2 aggregate link status is unknown for NT-PTMP, show
	  as "UNKN". * Removed unused functions and code for L2 handling.
	  Patches: patch03_L2estab.diff (license #6372) patch uploaded by
	  Guenther Kelleter Modified JIRA ABE-2888 ........ r375522 |
	  rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22
	  lines chan_misdn: Fix broken upper_id/lower_id usage. Sending PH
	  prim via lower_id layer (3 or 1) simply does not work. For TE (3)
	  it returns an error (len=-6) which is not evaluated by
	  handle_l1(), so the L1 layer status ends up wrong. Instead PH
	  must be sent via L4, only then does it reach L1 without an error
	  message. And NT PH prims only reach L1 when they are sent to
	  layer 2 id. --> use upper_id to send PH primitives. * Check for
	  errors in PH_(DE)ACTIVATE | CONFIRM. * Debug messages are
	  improved. * The lower_id is now not used for anything, except:
	  Why is lower_id layer deleted when it wasn't created? I removed
	  this code since it looks very wrong. Patches:
	  patch04_l1activation.diff (license #6372) patch uploaded by
	  Guenther Kelleter JIRA ABE-2888 ........ r375523 | rmudgett |
	  2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines
	  chan_misdn: Fix loss of B channels if L1 is down. If you make 2
	  calls out an NT PTMP port which is not connected to any phone,
	  the B channel associated with that call becomes unusable until
	  Asterisk is restarted. The problem is the EVENT_SETUP is queued
	  when L1 is not up in misdn_lib_send_event(). If L1 cannot be
	  activated the event won't be dequeued. It gets even worse when
	  the call is hung up. The queued EVENT_SETUP will be overwritten
	  by an EVENT_DISCONNECT. The reserved B channel then will never be
	  freed. If later someone connects a phone to the port, L1 will
	  eventually activate and the queued EVENT_DISCONNECT is sent down
	  the stack. However, it is ignored because it is the wrong call
	  state. The real fix would be that activation and queueing for a
	  new SETUP is done by the NT stack. But since it doesn't, the
	  workaround must be removed because it doesn't always work. Fix:
	  The event is no longer queued but immediately sent to the stack.
	  If L1 cannot be activated, the L3 state machine that was started
	  by the EVENT_SETUP will do its work, i.e. a timeout will release
	  the B channel properly. The SETUP possibly cannot be sent the
	  first time but is resent by T303 in case L1 could be activated.
	  Patches: patch05_bchan-loss.diff (license #6372) patch uploaded
	  by Guenther Kelleter Modified JIRA ABE-2888 ........ r375524 |
	  rmudgett | 2012-10-30 18:26:05 -0500 (Tue, 30 Oct 2012) | 13
	  lines chan_misdn: Remove some calls to exit(). Try proper cleanup
	  when something goes wrong in misdn_lib_init(). Especially do not
	  call exit()! * Fix memory leak because stack_destroy() does not
	  free the stack struct. Patches: patch06_cleanup-init.diff
	  (license #6372) patch uploaded by Guenther Kelleter Modified JIRA
	  ABE-2888 ........ Merged revisions 375519-375524 from
	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
	  ........ Merged revisions 375625 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375626 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375627 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-02 17:27 +0000 [r375614]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix Wrong Result In Debug Message For SDP
	  Origin Processing While looking at some debug logs, I noticed
	  that it was being reported that the SDP origin line was
	  unsupported or failed. Upon looking into this on my local
	  machine, I found that I too was getting this debug message yet
	  everything seemed to be getting processed properly. What was
	  discovered is, that, the variable to determine what is displayed
	  in the debug message for the SDP line that was processed, was not
	  being set for the origin line when the result was successful.
	  This patch fixes this and was tested on local machine. ........
	  Merged revisions 375594 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375601 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375613 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-11-01 15:03 +0000 [r375576]  Jonathan Rose <jrose@digium.com>

	* configs/sip.conf.sample, /, channels/chan_sip.c: chan_sip: Fix a
	  bug causing SIP reloads to remove all entries from the registry A
	  regression was introduced in chan_sip by changes to sip reload
	  introduced by r349097. That patch moved peer purging from the
	  beginning of the reload to after the general configuration was
	  finished. This patch fixes that by undoing the repositioning of
	  the original peer purging code and using a similar function after
	  performing general configuration that purges only autocreated
	  peers that were created when persist mode isn't enabled. (closes
	  issue ASTERISK-20611) Reported by: Alisher Review:
	  https://reviewboard.asterisk.org/r/2171/ ........ Merged
	  revisions 375575 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-31 18:01 +0000 [r375560]  Joshua Colp <jcolp@digium.com>

	* res/res_http_websocket.exports.in, /: Fix an issue with
	  res_http_websocket where the chan_sip WebSocket handler could not
	  be registered. On some systems the optional API support uses the
	  GCC compiler attribute "weakref" to provide its functionality.
	  This code changes the function names and prefixes "__" to the
	  front. The res_http_websocket exports file did not take this into
	  account, thereby not allowing those functions to be global and
	  ultimately found. (closes issue ASTERISK-20631) Reported by:
	  danjenkins ........ Merged revisions 375559 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-31 14:58 +0000 [r375533]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_calendar_ews.c: Properly extract the Body information
	  of an EWS calendar item Unlike all other calendar modules,
	  res_calendar_ews fails to extract the Body information for a
	  calendar item. This is due, in part, to a quirk in the schema in
	  the XML - not only does a CalendarItem contain a Body element,
	  but the CalendarItem exists as a descendant of a different Body
	  element. The neon parser was erroneously skipping all Body
	  elements. This patch fixes that by bypassing Body elements that
	  are not a child of CalendarItem, and parsing the Body element out
	  if it is a child. Note that the original patch by Terry Wilson
	  only needed slight modifications to make it properly pull the
	  Body information out; as such, while I've linked to the patch
	  that I uploaded for Dmitry, I've attributed the patch to Terry.
	  (closes issue ASTERISK-19738) Reported by: Dmitry Burilov Tested
	  by: Dmitry Burilov patches: calendar_ews_body_2012_10_29.diff
	  uploaded by Terry Wilson (license 6283) ........ Merged revisions
	  375528 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 375531 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375532 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-30 19:31 +0000 [r375511]  Richard Mudgett <rmudgett@digium.com>

	* /, bridges/bridge_softmix.c: Fix ConfBridge crash if no timing
	  module loaded. (closes issue ASTERISK-19448) Reported by: feyfre
	  Patches: smfix.patch (license #6099) patch uploaded by feyfre
	  Modified for coding guidelines. ........ Merged revisions 375496
	  from http://svn.asterisk.org/svn/asterisk/branches/10 ........
	  Merged revisions 375506 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-30 19:20 +0000 [r375472-375498]  Jonathan Rose <jrose@digium.com>

	* /, apps/app_mixmonitor.c: mixmonitor: Add a test event This test
	  event is being used to fix the mixmonitor_audiohook_inherit test.
	  ........ Merged revisions 375484 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375485 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375486 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_confbridge.c: confbridge: Fix a bug which made
	  conferences not record with AMI/CLI commands When confbridge was
	  changed to handle conference status with a state machine in
	  r374658. The function responsible for starting recording for a
	  conference was refactored with the function actually responsible
	  for launching the recording thread being split into a function
	  with another name. The old function name was still used for
	  manually started recordings through AMI or CLI. This patch fixes
	  that by switching which function is used to start recording the
	  conference. (closes issue ASTERISK-20601) Reported by: Vilius
	  Patches: confbridge_mixmonitor.diff uploaded by Jonathan Rose
	  (license 6182) ........ Merged revisions 375470 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375471 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-29 21:38 +0000 [r375442-375443]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Prevent resetting of NATted realtime peer
	  address on reload. If a "sip reload" is issued for a SIP peer,
	  then his IP address will be cleared, thus resulting in forgetting
	  the public IP address. Asterisk will then attempt to route SIP
	  traffic to the private IP address. The fix here is to make "sip
	  reload" ignore realtime peers when "host = dynamic" is spotted.
	  Realtime peers can now only have their IP address reset if they
	  have gone from being not dynamic to being dynamic. (closes issue
	  ASTERISK-18203) reported by daren ferreira (closes issue
	  ASTERISK-20572) reported by JoshE Patches: fix_nat_realtime.diff
	  uploaded by JoshE (license #6075) ........ Merged revisions
	  375415 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 375417 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375437 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_mgcp.c, main/pbx.c, apps/app_osplookup.c,
	  channels/chan_sip.c, channels/chan_skinny.c,
	  funcs/func_strings.c, UPGRADE.txt: Make evaluation of channel
	  variables consistently case-sensitive. Due to inconsistencies in
	  how variable names were evaluated, the decision was made to make
	  all evaluations case-sensitive. See the UPGRADE.txt file or
	  https://wiki.asterisk.org/wiki/display/AST/Case+Sensitivity for
	  more details. (closes issue ASTERISK-20163) reported by Matt
	  Jordan Review: https://reviewboard.asterisk.org/r/2160

2012-10-29 21:02 +0000 [r375416]  Matthew Jordan <mjordan@digium.com>

	* UPGRADE.txt, apps/app_queue.c: Ensure that CDRs for a caller in a
	  Queue that is not answered is NO ANSWER. When a caller enters a
	  queue and no queue member answers the call, the current behaviour
	  can be a little odd depending on the paused status of the queue
	  members. If any queue member is paused, but not all, the CDR
	  disposition will be BUSY. If all queue members are paused, then
	  the CDR disposition is based instead on the disposition of the
	  call prior to entering the Queue. This patch modifies the
	  behaviour in the following ways: * If no queue members are
	  paused, the CDR disposition is whatever the disposition was prior
	  to going into Queue. If the call was answered this will be
	  ANSWERED; otherwise, it is NO ANSWER. * If some queue members are
	  pused, the CDR result is NO ANSWER. (This is a change in
	  behaviour, as the result would previously have been BUSY) * If
	  all queue members are paused, the CDR result is whatever the
	  result was prior to going into Queue. This is the same as the
	  behaviour prior to this patch. * If the caller hangs up, times
	  out, or presses '*' with the 'h' option, the CDR disposition is
	  again not set and is dependent on whether or not the caller was
	  Answered prior to entering Queue. This patch was based on one
	  provided by Thomas Arimont, but has been modified to accomodate
	  findings by the reviewers. Review:
	  https://reviewboard.asterisk.org/r/2064/ (closes issue AST-906)
	  Reported by: Thomas Arimont (closes issue ASTERISK-17776)
	  Reported by: Attila Megyeri

2012-10-29 19:31 +0000 [r375364-375391]  Richard Mudgett <rmudgett@digium.com>

	* /, main/features.c: Fix the Park 'r' option when a channel parks
	  itself. When a channel uses the Park appliation to park itself
	  with the 'r' option, the channel hears music-on-hold instead of
	  the requested ringing. * Added a missing check for the 'r' option
	  when a channel parks itself. (closes issue ASTERISK-19382)
	  Reported by: James Stocks Patches by: dsessions Review:
	  https://reviewboard.asterisk.org/r/2148/ ........ Merged
	  revisions 375388 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375389 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375390 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_dahdi.c, /: chan_dahdi: Fix segfault dereferencing
	  a NULL tech_pvt. The tech support customer was using the AMI
	  Redirect action shortly after a call was placed. While the
	  channel tried to do an ast_read(), the masquerade resulting from
	  the channel redirect took place. The masquerade in the middle of
	  the ast_read() resulted in the segfault. (closes issue AST-1025)
	  Reported by: Trey Blancher Patches: jira_ast_1025_v1.8_v2.patch
	  (license #5621) patch uploaded by rmudgett ........ Merged
	  revisions 375361 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375362 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375363 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-23 16:22 +0000 [r375291-375328]  Jonathan Rose <jrose@digium.com>

	* contrib/scripts/ast_tls_cert, /: ast_tls_cert script: Better
	  response for various exit conditions to openssl (closes issue
	  ASTERISK-20260) Reported by: Daniel O'Connor Patches:
	  ast_tls_cert-update.diff uploaded by Daniel O'Connor (license
	  6419) ........ Merged revisions 375325 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375326 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375327 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/app.c: core: Fix a memory leak in app.c from an early
	  return ast_app_group_match_get_count allocates memory with the
	  regcomp function and we previously forgot to free it when bailing
	  out due to a regex compilation failure against category. (closes
	  issue AST-1018) Reported by: Guenther Kelleter Patches:
	  regcomp_memleak.diff uploaded by Guenther Kelleter (license 6372)
	  ........ Merged revisions 375299 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375300 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375301 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* codecs/gsm/src/code.c, /: GSM: Fix encoding problems with GSM
	  (closes issue ASTERISK-20457) Reported by: Richard Miller
	  Patches: code.patch uploaded by Richard Miller (license 5685)
	  ........ Merged revisions 375272 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375273 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375288 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-18 21:49 +0000 [r375240-375249]  Jonathan Rose <jrose@digium.com>

	* UPGRADE.txt: app_queue: add upgrade notes for 375216 Adds UPGRADE
	  notes describing behavioral changes to rrmemory strategy caused
	  by 375216 (issue AST-989) Reported by: Thomas Arimont

	* /, apps/app_queue.c: app_queue: Make ordering of
	  rrmemory/rrordered persist over add/remove members Prior to this
	  patch, adding, removing or reloading members to rrmemory would
	  cause the order to become completely jumbled. Now it behaves more
	  or less like rrordered other than the fact that it stores the
	  members on a hash table rather than a linked list. This patch
	  also prevents removal of members and member reloads from jumbling
	  rrordered queues. (issue AST-989) Reported by: Thomas Arimont
	  Review: https://reviewboard.asterisk.org/r/2164/ ........ Merged
	  revisions 375216 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375217 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375219 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-18 20:31 +0000 [r375215]  Michael L. Young <elgueromexicano@gmail.com>

	* apps/app_alarmreceiver.c: Fix XML Document Validation Failure Fix
	  documentation error when validating the xml in trunk caused by
	  r375150. Moved the description end tag down to below the
	  variablelist element end tag. Found when compiling with
	  --dev-mode-enabled. (issue ASTERISK-20289)

2012-10-18 20:13 +0000 [r375192]  Richard Mudgett <rmudgett@digium.com>

	* makeopts.in, Makefile, /, build_tools/make_version, configure,
	  include/asterisk/autoconfig.h.in, configure.ac: build_tools:
	  Allow Asterisk to report git SHAs in version string. Make git
	  more attractive for managing work-in-progress. Especially
	  convenient when a potential patch set needs to be tested on
	  multiple platforms since one can use git to keep all the test
	  environments in sync independent of a subversion server. Now the
	  Asterisk version will show the exact git SHA5 that was used when
	  building (still appended by "M" if there are local modifications)
	  from a git clone of the Asterisk repository so the developer can
	  more easily know what is actually under test. You will now get
	  this: $ asterisk -V Asterisk GIT-1698298 Instead of this: $
	  asterisk -V Asterisk UNKNOWN__and_probably_unsupported This has
	  zero impact for those not using git with the exception of an
	  extra test in the configure script to gather git's path. This is
	  necessary to prevent "sudo make install" from failing since git
	  may not be in the path in make's shell environment. (closes issue
	  ASTERISK-20483) Reported by: Shaun Ruffell Patches:
	  0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch
	  (license #5417) patch uploaded by Shaun Ruffell Modified ........
	  Merged revisions 375189 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375190 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375191 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-18 14:17 +0000 [r375182]  Andrew Latham <lathama@gmail.com>

	* main/features.c, include/asterisk/module.h,
	  include/asterisk/doxygen/reviewboard.h, main/logger.c,
	  main/http.c, include/asterisk/doxygen/licensing.h, main/dsp.c,
	  main/udptl.c, main/dnsmgr.c, contrib/asterisk-ng-doxygen,
	  Makefile.rules, codecs/log2comp.h, main/cli.c, main/cdr.c,
	  include/asterisk/doxyref.h,
	  include/asterisk/doxygen/asterisk-git-howto.h, main/manager.c,
	  main/app.c, pbx/pbx_dundi.c, include/asterisk/doxygen/commits.h,
	  include/asterisk/udptl.h, include/asterisk/smdi.h,
	  main/asterisk.c, include/asterisk/doxygen/architecture.h,
	  include/asterisk.h, main/ccss.c, Makefile.moddir_rules,
	  main/cel.c, main/named_acl.c, main/enum.c, Makefile,
	  include/asterisk/paths.h, include/asterisk/doxygen/releases.h,
	  include/asterisk/compat.h: Doxygen Updates - Title update Update
	  and extend the configuration_file group and enable linking.
	  Commit other cleanups from multi-version Doxygen testing. Update
	  title that was left behind many years ago. (issue ASTERISK-20259)

2012-10-17 20:34 +0000 [r375175]  Jonathan Rose <jrose@digium.com>

	* main/manager.c: manager: remove curses dependent stuff from
	  r375103 Upon further examination, this code was causing
	  compliation problems on CentOS at the least (possibly on any
	  machine without curses) and also the local value of COLS is used
	  even with a remote console, so it is less than ideal. (issue
	  ASTERISK-20396) Reported by: Johan Wilfer

2012-10-17 19:02 +0000 [r375150]  Pedro Kiefer <pedro@kiefer.com.br>

	* apps/app_alarmreceiver.c, configs/alarmreceiver.conf.sample: Adds
	  new formats to app_alarmreceiver, ALAW calls support and enhanced
	  protection. Commiting this on behalf of Kaloyan Kovachev (license
	  5506). AlarmReceiver now supports the following DTMF signaling
	  types: - ContactId - 4x1 - 4x2 - High Speed - Super Fast We are
	  also auto-detecting which signaling is being received. So support
	  for those protocols should work out-the-box. Correctly identify
	  ALAW / ULAW calls. Some enhanced protection for broken panels and
	  malicious callers where added. (closes issue ASTERISK-20289)
	  Reported by: Kaloyan Kovachev Review:
	  https://reviewboard.asterisk.org/r/2088/

2012-10-17 19:01 +0000 [r375149]  Kinsey Moore <kmoore@digium.com>

	* main/tcptls.c, /: Ensure Asterisk fails TCP/TLS SIP calls when
	  certificate checking fails When placing a call to a TCP/TLS SIP
	  endpoint whose certificate is not signed by a configured CA
	  certificate, Asterisk would issue a warning and continue to
	  process the call as if there was not an issue with the
	  certificate. Asterisk now properly fails the call if the
	  certificate fails verification or if the certificate does not
	  exist when certificate checking is enabled (the default
	  behavior). (closes issue ASTERISK-20559) Reported by: kmoore
	  Review: https://reviewboard.asterisk.org/r/2163/ ........ Merged
	  revisions 375146 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375147 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375148 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-17 14:24 +0000 [r375110-375137]  Walter Doekes <walter+asterisk@wjd.nu>

	* res/res_rtp_asterisk.c, main/pbx.c, channels/chan_sip.c,
	  cdr/cdr_odbc.c: Change a few warnings to debug and the inverse.
	  Remove the "RTP Read too short" warning for RTP keepalives.
	  Remove the the warning about the application delimiter switch
	  from pipe to comma. (You should've done this by now.) Make
	  cdr_odbc report more when an insert fails. Make chan_sip warn
	  less when the peer wants SRTP (and we don't) or sends a zero port
	  to disable a media type. Review:
	  https://reviewboard.asterisk.org/r/2167 (closes issue
	  ASTERISK-20538)

	* /, channels/chan_sip.c: Fixes to the fd-oriented SIP TCP reads.
	  Don't crash on large user input. Allow SIP headers without space.
	  Optimize code a bit. Review:
	  https://reviewboard.asterisk.org/r/2162 ........ Merged revisions
	  375111 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 375112 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375113 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_sip.c: Don't do SIP contact/route DNS if we're not
	  using the result. In many cases (for peers behind NAT or for TCP
	  sockets) we do not need to look up any hostname in the Contact
	  (or Route) when sending an in-dialog request. This should reduce
	  netsock2.c: getaddrinfo errors in certain scenarios. Review:
	  https://reviewboard.asterisk.org/r/2156

2012-10-16 20:45 +0000 [r375103]  Jonathan Rose <jrose@digium.com>

	* main/manager.c, CHANGES: manager: Change display of 'manager show
	  commands' and 'manager show command' manager show commands now
	  shows the full name of the command being displayed regardless of
	  size. The privilege column has also been removed from this
	  display. It will also now use the full length of the terminal if
	  curses is available. Manager show command will now always display
	  the privilege of the manager command within the CLI. (closes
	  ASTERISK-20396) Reported by: Johan Wilfer Review:
	  https://reviewboard.asterisk.org/r/2143/

2012-10-16 19:26 +0000 [r375081]  Pedro Kiefer <pedro@kiefer.com.br>

	* apps/app_alarmreceiver.c: Fixes two small regressions from
	  ASTERISK-20157 - receive_dtmf_digits had the wrong buffer length
	  - app_alarmreceiver should wait 100ms before sending the second
	  part of handshake (closes issue ASTERISK-20484) Reported by:
	  Jean-Philippe Lord Tested by: Jean-Philippe Lord, Pedro Kiefer
	  Patches: ASTERISK-20484_v2.diff uploaded by Kaloyan Kovachev
	  (license 5506)

2012-10-16 19:25 +0000 [r375080]  Walter Doekes <walter+asterisk@wjd.nu>

	* /, channels/chan_sip.c: Update sip_request_call SIP dial string
	  documentation. This was missed when merging review r1859.
	  ........ Merged revisions 375074 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375078 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375079 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-16 14:09 +0000 [r375052]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_iax2.c: Remove a log message that was left in
	  accidentally from call-id logging development. ........ Merged
	  revisions 375051 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-15 21:25 +0000 [r375044]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/strings.h, channels/chan_iax2.c,
	  apps/app_dial.c, /, main/ccss.c: Fix some potential misuses of
	  ast_str in the code. Passing an ast_str pointer by value that
	  then calls ast_str_set(), ast_str_set_va(), ast_str_append(), or
	  ast_str_append_va() can result in the pointer originally passed
	  by value being invalidated if the ast_str had to be reallocated.
	  This fixes places in the code that do this. Only the example in
	  ccss.c could result in pointer invalidation though since the
	  other cases use a stack-allocated ast_str and cannot be
	  reallocated. I've also updated the doxygen in strings.h to
	  include notes about potential misuse of the functions mentioned
	  previously. Review: https://reviewboard.asterisk.org/r/2161
	  ........ Merged revisions 375025 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 375026 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 375027 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-15 08:26 +0000 [r375017]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>

	* channels/chan_unistim.c, /: Fix underscreen buttons warnings
	  apeared while transfer process ........ Merged revisions 375016
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-14 21:59 +0000 [r375003-375009]  Andrew Latham <lathama@gmail.com>

	* addons/chan_mobile.c, addons/app_mysql.c: Doxygen Updates Update
	  and extend the configuration_file group and enable linking.
	  (issue ASTERISK-20259)

	* utils/extconf.c, utils/muted.c: Doxygen Updates Update and extend
	  the configuration_file group and enable linking. (issue
	  ASTERISK-20259)

	* addons/Makefile, pbx/Makefile, formats/Makefile, sounds/Makefile,
	  funcs/Makefile, bridges/Makefile, agi/Makefile, codecs/Makefile,
	  utils/Makefile, tests/Makefile, cel/Makefile, main/Makefile:
	  Title update Update title that was left behind many years ago.
	  Used revision 6596 as my guide for what it should be. (issue
	  ASTERISK-20259)

	* channels/chan_gtalk.c, channels/chan_console.c,
	  channels/Makefile, channels/chan_iax2.c, channels/chan_oss.c,
	  channels/chan_jingle.c, channels/chan_phone.c,
	  channels/chan_dahdi.c, channels/iax2-parser.h,
	  channels/chan_misdn.c, channels/chan_skinny.c,
	  channels/chan_motif.c, channels/chan_h323.c, channels/iax2.h,
	  channels/chan_alsa.c, channels/chan_mgcp.c, channels/chan_vpb.cc,
	  channels/chan_sip.c: Doxygen Updates - Title update Update and
	  extend the configuration_file group and enable linking. Update
	  title that was left behind many years ago. (issue ASTERISK-20259)

	* cdr/Makefile, cdr/cdr_adaptive_odbc.c, cdr/cdr_pgsql.c,
	  cdr/cdr_odbc.c, cdr/cdr_radius.c, cdr/cdr_custom.c,
	  cdr/cdr_manager.c, cdr/cdr_csv.c, cdr/cdr_syslog.c: Doxygen
	  Updates - Title update Update and extend the configuration_file
	  group and enable linking. Update title that was left behind many
	  years ago. (issue ASTERISK-20259)

	* apps/Makefile, apps/app_meetme.c, apps/app_festival.c,
	  apps/app_fax.c, apps/app_skel.c, apps/app_alarmreceiver.c,
	  apps/app_amd.c, apps/app_confbridge.c, apps/app_followme.c,
	  apps/app_queue.c, apps/app_adsiprog.c, apps/app_voicemail.c:
	  Doxygen Updates - Title update Update and extend the
	  configuration_file group and enable linking to the application.
	  Update title that was left behind many years ago. (issue
	  ASTERISK-20259)

	* res/res_jabber.c, res/res_config_sqlite.c, res/res_smdi.c,
	  res/res_curl.c, res/res_config_ldap.c, res/res_odbc.c,
	  res/res_clialiases.c, res/res_calendar.c,
	  res/res_config_sqlite3.c, res/res_config_pgsql.c, res/res_snmp.c,
	  res/res_limit.c, res/res_fax.c, res/res_phoneprov.c,
	  res/Makefile, res/res_xmpp.c, res/res_musiconhold.c: Doxygen
	  Updates - Title update Update and extend the configuration_file
	  group and enable linking to the resource. Update title that was
	  left behind many years ago. (issue ASTERISK-20259)

2012-10-14 12:23 +0000 [r374996]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* /, config.guess, config.sub: Update config.guess and config.sub:
	  2012-10-10 Update config.guess and config.sub to revision
	  fb456b34ef4aa02b95dc6be69aaa66fa94a844fb from the
	  savannah.gnu.org git repo. Adds support for e.g. aarch64 (ARM
	  64bit). config.guess:timestamp='2012-09-25'
	  config.sub:timestamp='2012-10-10' ........ Merged revisions
	  374977 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 374991 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374995 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-13 19:58 +0000 [r374940-374970]  Andrew Latham <lathama@gmail.com>

	* CREDITS: Update CREDITS Update Jean-Denis and add myself (issue
	  ASTERISK-20259)

	* Makefile: Multiplatform Makefile Update Paul Belanger pointed out
	  that using sed in the Makefile is an issue with multiple
	  platforms. We are cleaning up the Doxygen config as a following
	  step so I just switched the sed inplace changes to be an echo
	  append instead. (issue ASTERISK-20259)

	* main/app.c, apps/app_dial.c: Doxygen Clean ups Add app_skel.c as
	  an example in app.c and fix some formating for the "Dial Privacy
	  scripts" so it actually shows up in the Doxygen output. (issue
	  ASTERISK-20259)

	* Makefile: Test for Asterisk Version info Doxygen uses the
	  ASTERISKVERSION as a sub header. If a SVN export is done and no
	  .svn or .version file exists it defualts to
	  UNKNOWN__and_probably_unsupported which is honest but not great
	  for the online docs. During the "make progdocs" I added a test
	  for this and just warned and ommitted the version. (issue
	  ASTERISK-20259)

	* contrib/asterisk-ng-doxygen: Correct output directory During
	  testing I used an alternate output directory and mistakenly
	  committed it. Matt Jordan noticed and I reverted. This is the
	  correct setting for local output to match with all branches.
	  (issue ASTERISK-20259)

	* static-http/ajamdemo.html, static-http/astman.css: Add
	  licens/copyright header Begin update of static-http files and
	  general clean ups. This only adds the standard header to the
	  files. (issue ASTERISK-20503)

	* configure, configure.ac, makeopts.in, Makefile: Add check for
	  Doxygen The autoconf configuration system had a test for DOT but
	  not for Doxygen. I added the test for Doxygen and did an overhaul
	  of the Makefile check to a much simpler process. (issue
	  ASTERISK-20259)

2012-10-12 21:58 +0000 [r374933]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_voicemail.c: Avoid a segfault on invalid format names
	  If a format name was not found by ast_getformatbyname, a NULL
	  pointer would be passed into ast_format_rate and immediately
	  dereferenced. This ensures that a valid pointer is used since the
	  structure is already allocated on the stack. (closes issue
	  DPH-523) Reported-by: Steve Pitts ........ Merged revisions
	  374932 from http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-12 16:31 +0000 [r374924]  Mark Michelson <mmichelson@digium.com>

	* main/tcptls.c, /, channels/chan_sip.c, include/asterisk/tcptls.h:
	  Do not use a FILE handle when doing SIP TCP reads. This is used
	  to solve an issue where a poll on a file descriptor does not
	  necessarily correspond to the readiness of a FILE handle to be
	  read. This change makes it so that for TCP connections, we do a
	  recv() on the file descriptor instead. Because TCP does not
	  guarantee that an entire message or even just one single message
	  will arrive during a read, a loop has been introduced to ensure
	  that we only attempt to handle a single message at a time. The
	  tcptls_session_instance structure has also had an overflow buffer
	  added to it so that if more than one TCP message arrives in one
	  go, there is a place to throw the excess. Huge thanks goes out to
	  Walter Doekes for doing extensive review on this change and
	  finding edge cases where code could fail. (closes issue
	  ASTERISK-20212) reported by Phil Ciccone Review:
	  https://reviewboard.asterisk.org/r/2123 ........ Merged revisions
	  374905 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 374906 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374914 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-11 23:40 +0000 [r374879-374897]  Andrew Latham <lathama@gmail.com>

	* contrib/scripts/install_prereq: Append Doxygen to Debian packages
	  list Add Doxygen to the Debian install list. I will check for
	  other platforms like Red Hat (issue ASTERISK-20259)

	* static-http/mantest.html: Update JQuery URL to recent version The
	  JQuery URL to version 1.4 will be removed within the life span of
	  Asterisk 11. This is a compatible upgrade by using the URL for
	  1.8. (issue ASTERISK-20503)

	* main/manager.c, include/asterisk/module.h: Continue to group
	  config files (issue ASTERISK-20259)

	* CREDITS: CREDITS clean up As discussed online
	  http://lists.digium.com/pipermail/asterisk-dev/2012-October/057245.html
	  the credits file needs some cleaning. This is 95% whitespace with
	  a few additions found in file headers. Further additions should
	  be added here instead of in the file being updated. (issue
	  ASTERISK-20259)

	* contrib/asterisk-ng-doxygen: Revert Local testing Config Revert a
	  local testing config that I made. This was not intended to be
	  committed. Thank you Matt Jordan for noticing this. (issue
	  ASTERISK-20259)

2012-10-11 21:19 +0000 [r374852-374878]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_motif.c: Fix a bug where audio on Google Voice
	  would not work due to ignoring candidates. Instead of ignoring
	  parts of the message that are not known just ignore the ones we
	  know may be present and that would cause a problem. ........
	  Merged revisions 374877 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_motif.c: Fix an issue where outgoing calls would
	  fail to establish audio due to ICE negotiation failures. This
	  change removes the requirement for ufrag and pwd in the transport
	  stanza and also makes us the controlling agent. (closes issue
	  ASTERISK-20554) Reported by: mmichelson ........ Merged revisions
	  374850 from http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-11 15:49 +0000 [r374849]  Mark Michelson <mmichelson@digium.com>

	* channels/chan_sip.exports.in (removed), main/sip_api.c (added),
	  /, channels/chan_sip.c, include/asterisk/sip_api.h: Don't make
	  chan_sip export global symbols. During testing, it was discovered
	  that having chan_sip export global symbols was problematic. The
	  biggest problem was that load order was affected. Trying to use
	  realtime could be problematic since in all likelihood the
	  necessary realtime driver(s) would not be loaded before chan_sip.
	  In addition, it was found that it was impossible to use the
	  Digium Phone Module for Asterisk since it must be loaded before
	  chan_sip since it must hook into chan_sip's configuration
	  parsing. The solution is to use a virtual table in the same
	  manner that other modules in Asterisk do, like app_voicemail.
	  (closes issue ASTERISK-20545) Reported by: kmoore ........ Merged
	  revisions 374842 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-11 15:44 +0000 [r374846]  Matthew Jordan <mjordan@digium.com>

	* main/cdr.c, /: Fix incorrect billing duration reported when batch
	  mode is enabled Similar to r369351, the billing duration can be
	  skewed when batch mode is enabled. This happened much more rarely
	  than the duration, as it only occured when the call was answered
	  (thereby indicating an actual answer time) and immediately hung
	  up on (indicating a billsec of 0). Since a billing time of '0'
	  can either mean that the call immediately ended or that the CDR
	  was improperly answered, we have to use additional information to
	  know whether or not we can trust the CDR billsec value. Prior to
	  this patch, we looked to see if we had a valid answer time. If we
	  did, and billsec was zero, we used the current time to calculate
	  what billsec value we could from the CDR being written. If batch
	  mode is enabled, this will incorrectly report a billsec value
	  being much greater than the actual duration of the call. Instead
	  of relying on the presence of an answer time to know whether or
	  not we can re-calculate the billsec for the CDR, we now also use
	  the presence of the CDR's end time to know if we need to
	  re-calculate or whether we can trust the billsec value that we
	  have. This prevents erroneous jumps in the billsec value, while
	  still making sure that in the worst case, some billing time will
	  be calculated. (closes issue AST-1016) Reported by: Thomas
	  Arimont Tested by: Thomas Arimont ........ Merged revisions
	  374843 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 374844 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374845 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-11 13:34 +0000 [r374834]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_motif.c: Consider the Google Talk content stanza
	  name (jin:content) valid. ........ Merged revisions 374833 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-10 21:05 +0000 [r374805]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_queue.c, /: app_queue: Made pass connected line updates
	  from the caller to ringing queue members. Party A calls Party B
	  Party B puts Party A on hold. Party B calls a queue. Ringing
	  queue member D sees Party B identification. Party B transfers
	  Party A to the queue. Queue member D does not get a connected
	  line update for Party A. Queue member D answers the call and
	  still sees Party B information. However, if Party A later
	  transfers the call to Party C then queue member D gets a
	  connected line update for Party C. * Made pass connected line
	  updates from the caller to queue members while the queue members
	  are ringing. (closes issue AST-1017) Reported by: Thomas Arimont
	  (closes issue ABE-2886) Reported by: Thomas Arimont Tested by:
	  rmudgett ........ Merged revisions 374801 from
	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
	  ........ Merged revisions 374802 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374803 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374804 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-10 13:40 +0000 [r374793]  Kinsey Moore <kmoore@digium.com>

	* main/manager.c, /: Fix segfault regression from r370681 Due to
	  usage of ast_hook_send_action, AMI action handling code should be
	  able to handle a NULL mansession->session. This would cause a
	  crash on NULL dereference if action_originate was called from
	  ast_hook_send_action. (closes issue ASTERISK-20544) ........
	  Merged revisions 374792 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-09 22:24 +0000 [r374778]  Richard Mudgett <rmudgett@digium.com>

	* main/pbx.c, /: Fix execution of 'i' extension due to
	  uninitialized variable. The fix for ASTERISK-18243 added code
	  that could potentially use dst_exten[] uninitialized. As a result
	  the 'i' exten may not be executed when it should. (closes issue
	  ASTERISK-20455) Reported by: Richard Miller Patches:
	  pbx-1.8.16.0.diff (license #5685) patch uploaded by Richard
	  Miller Made some cosmetic modifications. ........ Merged
	  revisions 374758 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374763 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374771 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-09 21:35 +0000 [r374757]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_sip.c: Improve logging for DTLS-SRTP failure
	  situations. (closes issue ASTERISK-20487) Reported by: mjordan
	  ........ Merged revisions 374756 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-08 22:31 +0000 [r374717-374730]  Richard Mudgett <rmudgett@digium.com>

	* configs/chan_dahdi.conf.sample, /: dahdi.conf.sample: Add
	  description for "buffers" setting. This contains an edited
	  version of the patch originally created by John Bigelow. (closes
	  issue ASTERISK-14435) Reported by: John Bigelow Patches:
	  buffers.patch (license #5091) patch uploaded by John Bigelow
	  0001-dahdi.conf.sample-Add-description-for-buffers-settin.patch
	  (license #5417) patch uploaded by Shaun Ruffell Modified ........
	  Merged revisions 374727 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374728 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374729 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* pbx/pbx_spool.c, /: Fix deletion of unopenable spool files. If
	  scan_service() cannot open the spool file, it logs a message
	  saying that it will delete the file and calls remove_from_queue()
	  to do it. However, remove_from_queue() fails to delete the spool
	  file because struct outgoing has not yet been fully initialized.
	  * Merged allocating a new struct outgoing and init_outgoing()
	  into new_outgoing(). Allocation is initialization. * Made
	  apply_outgoing() not initialize the spool filename in struct
	  outgoing. * Made apply_outgoing() call ast_trim_blanks() and
	  ast_skip_blanks() rather than manually inlining them. * Reduced
	  indentation levels in apply_outgoing(). * Fixed a garbled comment
	  in remove_from_queue(). * Reworked scan_service() to simplify it.
	  (closes issue ASTERISK-17231) Reported by: David Chappell
	  Patches: spool_open_failure.diff (license #4997) patch uploaded
	  by David Chappell Started with this patch. ........ Merged
	  revisions 374686 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 * Fixed some
	  memory leaks on off nominal paths in init_outgoing() when merging
	  into the new_outgoing() function dealing with o->capabilities.
	  ........ Merged revisions 374695 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374708 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-08 20:39 +0000 [r374633-374677]  Matthew Jordan <mjordan@digium.com>

	* res/res_rtp_asterisk.c, /, configs/rtp.conf.sample: Disable ICE
	  support by default Since there are a number of legacy devices out
	  there that fail to handle ICE candidates properly (which is a
	  nice way of saying something much uglier), disable it by default.
	  Support for ICE candidates can be enabled in rtp.conf using the
	  icesupport setting. ........ Merged revisions 374676 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/confbridge/conf_state_multi.c (added),
	  apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c
	  (added), apps/confbridge/conf_state_empty.c (added),
	  apps/confbridge/conf_state.c (added),
	  apps/confbridge/conf_state_single.c (added),
	  apps/confbridge/conf_state_inactive.c (added),
	  apps/confbridge/conf_state_single_marked.c (added), /,
	  apps/confbridge/include/confbridge.h,
	  apps/confbridge/include/conf_state.h (added): Resolve issues in
	  ConfBridge regarding marked, waitmarked, and unmarked users
	  Thank's to Neil Tallim (flan)'s tireless testing, issue
	  reporting, and patches it became clear that app_confbridge had
	  some complex logic in how it handled interactions between marked,
	  waitmarked, and unmarked users. In particular, there were some
	  areas in which the interactions between the users resulted in
	  inconsistent behavior, and app_confbridge was missing logic in
	  how to handle some corner cases. Some areas included: * Poor
	  handling of mixing unmarked and waitmarked users *
	  Inconsistencies in how MOH and muting was applied to various
	  users * Handling of various announcements for different user
	  profile options flan's patches seem to fix the various issues,
	  but highlighted how hard the code could be to maintain. In an
	  attempt to make things easier to maintain and to more fully
	  enumerate the various cases that exist, this patch breaks up the
	  logic into a state machine-like setup. Please note that the
	  various state transitioned are documented on the Asterisk wiki:
	  https://wiki.asterisk.org/wiki/display/AST/Confbridge+state+changes
	  Review: //https://reviewboard.asterisk.org/r/2072/ Note that for
	  the following issues, mjordan uploaded the patch, although it was
	  written by twilson. Any contributor license discrepency is due to
	  that. (closes issue ASTERISK-19562) Reported by: flan Tested by:
	  flan, mjordan, jrose patches:
	  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
	  twilson (license 6283) (closes issue ASTERISK-19726) Reported by:
	  flan Tested by: flan patches:
	  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
	  twilson (license 6283) (closes issue ASTERISK-20181) Reported by:
	  Jonathan White Tested by: Jonathan White patches:
	  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
	  twilson (license 6283) ........ Merged revisions 374652 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374657 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/pjproject/pjlib/src/pj/sock_linux_kernel.c,
	  res/pjproject/pjlib/include/pj/sock.h,
	  res/pjproject/pjlib/src/pj/sock_symbian.cpp, /,
	  res/pjproject/pjlib/src/pj/sock_bsd.c: pjproject: Fix for Solaris
	  builds. Do not undef s_addr. pjproject, in order to solve build
	  problems on Windows [1], undefines s_addr in one of it's headers
	  that is included in res_rtp_asterisk.c. On Solaris s_addr is not
	  a structure member, but defined to map to the real strucuture
	  member, therefore when building on Solaris it's possible to get
	  build errors like: [CC] res_rtp_asterisk.c -> res_rtp_asterisk.o
	  In file included from
	  /export/home/admin/asterisk-11-svn/include/asterisk/stun.h:29,
	  from res_rtp_asterisk.c:51:
	  /export/home/admin/asterisk-11-svn/include/asterisk/network.h: In
	  function `inaddrcmp':
	  /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92:
	  error: structure has no member named `s_addr'
	  /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92:
	  error: structure has no member named `s_addr' res_rtp_asterisk.c:
	  In function `ast_rtp_on_ice_tx_pkt': res_rtp_asterisk.c:706:
	  warning: dereferencing type-punned pointer will break
	  strict-aliasing rules res_rtp_asterisk.c:710: warning:
	  dereferencing type-punned pointer will break strict-aliasing
	  rules res_rtp_asterisk.c: In function
	  `rtp_add_candidates_to_ice': res_rtp_asterisk.c:1085: error:
	  structure has no member named `s_addr' make[2]: ***
	  [res_rtp_asterisk.o] Error 1 make[1]: *** [res] Error 2 make[1]:
	  Leaving directory `/export/home/admin/asterisk-11-svn' gmake: ***
	  [_cleantest_all] Error 2 Unfortunately, in order to make this
	  work, I also had to make sure pjproject only used the typdef
	  pj_in_addr and not the struct pj_in_addr so that when building
	  Asterisk I could "typedef struct in_addr pj_in_addr". It's
	  possible then that the library and users of those interfaces in
	  Asterisk have a different idea about the type of the argument,
	  while on the surface it looks like they are all 32 bit big endian
	  values. [1] http://trac.pjsip.org/repos/changeset/484 (issues
	  ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang,
	  mjordan patches:
	  0001-pjproject-Fix-for-Solaris-builds.-Do-not-undef-s.patch
	  uploaded by Shaun Ruffell (license 5417) ........ Merged
	  revisions 374642 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/acl.c, /: Trivial patch to make 'best_score' defined for all
	  architectures. Fixes trivial build error on Solaris: acl.c: In
	  function `get_local_address': acl.c:196: error: `best_score'
	  undeclared (first use in this function) acl.c:196: error: (Each
	  undeclared identifier is reported only once acl.c:196: error: for
	  each function it appears in.) make[2]: *** [acl.o] Error 1 (issue
	  ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang
	  patches:
	  0002-main-acl.c-Trivial.-best_score-should-be-defined-for.patch
	  by Shaun Ruffell (license 5417) ........ Merged revisions 374632
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-06 03:22 +0000 [r374612-374623]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_xmpp.c: Handle capability stanzas that fail to provide
	  node or version information While XEP-0115 states that the node
	  and ver attributes are both required, some devices fail to
	  provide either field. Prior to this patch, failure to provide the
	  node or ver attribute would cause a crash in res_xmpp. While
	  failing to provide the node or ver attribute is technically
	  invalid, since this information is not utilized by Asterisk
	  except for reporting purposes, for interoperability reasons, we
	  continue to process the capability stanza anyways. (closes issue
	  ASTERISK-20495) Reported by: Martin W Tested by: Martin W
	  patches: 20495.patch uploaded by Martin W (license #6434)
	  ........ Merged revisions 374622 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_xmpp.c, main/message.c, /: Update documentation for
	  MessageSend application/command's From field for XMPP When using
	  the channel technology agnostic application/AMI command
	  MessageSend, the "From" field is technically optional for the SIP
	  channel driver. However, if being sent by the XMPP resource
	  module (either res_xmpp or res_jabber), the "From" field is
	  necessary, and must correspond to a defined account. This patch
	  updates the documentation for this application/AMI command to
	  reflect this. (closes issue ASTERISK-20405) Reported by: Leif
	  Madsen ........ Merged revisions 374611 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-05 20:33 +0000 [r374588]  David M. Lee <dlee@digium.com>

	* main/manager.c, /: Multiple revisions 374570,374581 ........
	  r374570 | dlee | 2012-10-05 15:14:41 -0500 (Fri, 05 Oct 2012) |
	  22 lines Improve AMI long line error handling In AMI's parser,
	  when it receives a long line (> 1024 characters), it discards
	  that line, but continues to process the message normally.
	  Typically, this is not a problem because a) who has lines that
	  long and b) usually a discarded line results in an invalid
	  message. But if that line is specifying an optional field, then
	  the message will be processed, you get a 'Response: Success', but
	  things don't work the way you expected them to. This patch
	  changes the behavior when a line-too-long parse error occurs. *
	  Changes the log message to avoid way-too-long (and truncated
	  anyways) log messages * Adds a 'parsing' status flag to Response:
	  Success * Sets parsing = MESSAGE_LINE_TOO_LONG if, well, a line
	  is too long * Responds with an appropriate error if parsing !=
	  MESSAGE_OKAY (closes issue AST-961) Reported by: John Bigelow
	  Review: https://reviewboard.asterisk.org/r/2142/ ........ r374581
	  | dlee | 2012-10-05 15:20:28 -0500 (Fri, 05 Oct 2012) | 1 line
	  I've committed too much. Reverting part of r374570. ........
	  Merged revisions 374570,374581 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374586 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374587 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-05 18:42 +0000 [r374539]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_misdn.c, /, channels/misdn/isdn_msg_parser.c,
	  channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h: Merged
	  revisions 374515-374535 from
	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
	  ................ r374515 | rmudgett | 2012-10-04 17:52:36 -0500
	  (Thu, 04 Oct 2012) | 10 lines chan_misdn: Remove some deadcode *
	  Made setup_bc() static. Patches: patch1_unused-code.diff (license
	  #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2882
	  ................ r374516 | rmudgett | 2012-10-04 18:01:01 -0500
	  (Thu, 04 Oct 2012) | 7 lines chan_misdn: Remove unused bchan
	  states Patches: patch2_unused-states.diff (license #6372) patch
	  uploaded by Guenther Kelleter JIRA ABE-2882 ................
	  r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012)
	  | 16 lines chan_misdn: Remove unnecessary null pointer checks and
	  checks for stack->nt * cleanup_bc() is always called with valid
	  bc (or it would've crashed before). * Value of stack->nt is known
	  in advance at some places. * Rename handle_event() to
	  handle_event_te(), handle_frm() to handle_frm_te(). Patches:
	  patch3_checks.diff (license #6372) patch uploaded by Guenther
	  Kelleter Modified JIRA ABE-2882 ................ r374518 |
	  rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines
	  chan_misdn: Fix spelling in log messages Patches:
	  patch4_spelling.diff (license #6372) patch uploaded by Guenther
	  Kelleter JIRA ABE-2882 ................ r374519 | rmudgett |
	  2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines
	  chan_misdn: Don't cleanup a bc twice. In handle_frm_te() after
	  calling misdn_lib_send_event(bc, EVENT_RELEASE_COMPLETE) bc is
	  emptied, cleaned and set not in use, although
	  misdn_lib_send_event() already did the same. This is bad. When
	  it's not in use we are not allowed to touch it. * Moved log
	  message in front of the resulting actions and fixed it to match
	  the case. Patches: patch5_bccleanup.diff (license #6372) patch
	  uploaded by Guenther Kelleter JIRA ABE-2882 ................
	  r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012)
	  | 12 lines chan_misdn: Fix memory leaks, bc, chan not cleaned up
	  etc., really bad stuff. * Fix return codes of cb_events() for
	  EVENT_SETUP to use caller's cleanup mechanisms. * Move
	  cl_queue_chan() call after bearer check. Patches:
	  patch6_leaks.diff (license #6372) patch uploaded by Guenther
	  Kelleter JIRA ABE-2882 ................ r374521 | rmudgett |
	  2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines
	  chan_misdn: We must initialize cause on sending a DISCONNECT. We
	  must initialize cause on sending a DISCONNECT, so it is later
	  correctly indicated to ast_channel in case the answer
	  (RELEASE/RELEASE_COMPLETE) does not include one. Patches:
	  patch7_hangupcause.diff (license #6372) patch uploaded by
	  Guenther Kelleter JIRA ABE-2882 ................ r374522 |
	  rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines
	  chan_misdn: Remove unused code for upqueue Patches:
	  patch8_unused-upqueue.diff (license #6372) patch uploaded by
	  Guenther Kelleter JIRA ABE-2882 ................ r374523 |
	  rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines
	  chan_misdn: Improve debugging (port number, messages fixed, dups
	  removed) Patches: patch9_debug.diff (license #6372) patch
	  uploaded by Guenther Kelleter JIRA ABE-2882 ................
	  r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012)
	  | 8 lines chan_misdn: Better debug: we can print_bc_info even if
	  there's no ast leg. Patches: patch10_debug-bc-2.diff (license
	  #6372) patch uploaded by Guenther Kelleter Modified. JIRA
	  ABE-2882 ................ r374534 | rmudgett | 2012-10-05
	  12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines chan_misdn:
	  setup_bc() is called too early for an incoming SETUP on TE. This
	  prevents the B channel from being setup for HDLC mode when
	  requested by the bearer capability and config option hdlc=yes. It
	  violates ETS300102 Ch.5.2.3.2: "The user, in any case, must not
	  connect to the channel until a CONNECT ACKNOWLEDGE message has
	  been received." * Call setup_bc() on receipt of
	  CONNECT_ACKNOWLEGDE for PTMP, and on first response to SETUP for
	  PTP. Patches: abe-2881-2.diff (license #6372) patch uploaded by
	  Guenther Kelleter Modified. JIRA ABE-2881 ................
	  r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012)
	  | 2 lines chan_misdn: Remove some more deadcode. ................
	  ........ Merged revisions 374536 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374537 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374538 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-04 20:21 +0000 [r374478-374493]  Alec L Davis <sivad.a@paradise.net.nz>

	* /, configs/dsp.conf.sample, CHANGES, main/dsp.c: dsp.c User
	  Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END Instead of
	  a recompile, allow values to be adjusted in dsp.conf For binary
	  distributions allows easy adjustment for wobbly GSM calls, and
	  other reasons. Defaults to DTMF_HITS_TO_BEGIN=2 and
	  DTMF_MISSES_TO_END=3 (closes issue ASTERISK-17493) Reported by:
	  alecdavis Tested by: alecdavis alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2144/ ........ Merged
	  revisions 374479 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374481 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374485 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/dsp.c, /: dsp.c fix incorrect DTMF Digit_Duration. it's
	  always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if
	  hitstobegin=2 (issue ASTERISK-16003) Tested by: alecdavis
	  alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2145/ ........ Merged
	  revisions 374475 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374476 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374477 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-04 15:48 +0000 [r374429]  David M. Lee <dlee@digium.com>

	* /, res/res_agi.c, main/db.c: Fix DBDelTree error codes for AMI,
	  CLI and AGI The AMI DBDelTree command will return Success/Key
	  tree deleted successfully even if the given key does not exist.
	  The CLI command 'database deltree' had a similar problem, but was
	  saved because it actually responded with '0 database entries
	  removed'. AGI had a slightly different error, where it would
	  return success if the database was unavailable. This came from
	  confusion about the ast_db_deltree retval, which is -1 in the
	  event of a database error, or number of entries deleted
	  (including 0 for deleting nothing). * Changed some poorly named
	  res variables to num_deleted * Specified specific errors when
	  calling ast_db_deltree (database unavailable vs. entry not found
	  vs. success) * Fixed similar bug in AGI database deltree, where
	  'Database unavailable' results in successful result (closes issue
	  AST-967) Reported by: John Bigelow Review:
	  https://reviewboard.asterisk.org/r/2138/ ........ Merged
	  revisions 374426 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374427 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374428 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-04 13:49 +0000 [r374414]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/rtp_engine.h, main/rtp_engine.c,
	  channels/chan_sip.c: Add support for applying direct media ACLs
	  between differing channel technologies. Review:
	  https://reviewboard.asterisk.org/r/2122/

2012-10-04 04:50 +0000 [r374387]  Alec L Davis <sivad.a@paradise.net.nz>

	* CHANGES, main/dsp.c, /, configs/dsp.conf.sample: dsp.c User
	  configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values
	  Asterisk's DTMF Specifications are based on AT&T specs, which may
	  not be compatible in other countries. Various countries have
	  different specifications for the maximum power level differences
	  between the DTMF low group and high group of frequencies. Power
	  level difference between frequencies for different
	  Administrations/RPOAs NTT = Max. 5 dB AT&T = 4dB(reverse) to
	  8dB(normal) Danish = Max. 6 dB Australian = Max. 10 dB Brazilian
	  = Max. 9 dB ETSI = Max. 6 dB from ETSI ES 201 235-3 V1.3.1
	  (2006-03) Now allow 4 variables to be individually configured in
	  dsp.conf, with reasonable min/max of 2dB to 20dB. Default is AT&T
	  specifications Add's the following variables to dsp.conf
	  ;dtmf_normal_twist=6.31 ;dtmf_reverse_twist=2.51
	  ;relax_dtmf_normal_twist=6.31 ;relax_dtmf_reverse_twist=3.98
	  (closes issue ASTERISK-20442) Reported by: tbsky Tested by:
	  tbsky,alecdavis alecdavis (license 585) Review
	  https://reviewboard.asterisk.org/r/2141/ ........ Merged
	  revisions 374384 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374385 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374386 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-04 02:16 +0000 [r374302-374338]  Matthew Jordan <mjordan@digium.com>

	* /, res/res_jabber.c: Check for presence of buddy in info/dinfo
	  handlers The res_jabber resource module uses the ASTOBJ library
	  for managing its ref counted objects. After calling
	  ASTOBJ_CONTAINER_FIND to locate a buddy object, the pointer to
	  the object has to be checked to see if the buddy existed. Prior
	  to this patch, the buddy object was not checked for NULL; with
	  this patch in both aji_client_info_handler and aji_dinfo_handler
	  the pointer is checked before used and, if no buddy object was
	  found, the handlers return an error code. This patch does not
	  take the approach that our JID can be used to log in from another
	  resource. If that approach is desired, an improvement could be
	  made to this patch to create the buddy on the fly. This patch
	  seeks only to prevent Asterisk from crashing. FYI: In Asterisk
	  11+, you really should be using res_xmpp. It does not have this
	  problem, as it moved to the astobj2 library. Note that multiple
	  people have proposed patches for this issue; the patch being
	  committed here is based on those. (closes issue ASTERISK-19532)
	  Reported by: Karsten Wemheuer Tested by: Byron Clark patches:
	  fix-jabber uploaded by Karsten Wemheuer (license #5930)
	  xmpp_no_crash_with_ejabberd.patch uploaded by Byron Clark
	  (license #6157) (closes issue ASTERISK-19557) Reported by:
	  ulugutz ........ Merged revisions 374335 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374336 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374337 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/ccss.c: Destroy the generic_monitors container after the
	  core_instances in ccss For each item in core_instances disposed
	  of in the shutdown of ccss, any generic monitor instances
	  referenced by the objects will be removed from generic_monitors
	  during their destruction. Hilarity ensues if generic_monitors no
	  longer exists. Thanks to the Asterisk Test Suite's generic_ccss
	  test for complaining loudly when it ran into this. ........
	  Merged revisions 374300 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374301 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-02 23:23 +0000 [r374269-374279]  Richard Mudgett <rmudgett@digium.com>

	* main/astobj2.c: Missed an astobj2.c debug tag.

	* main/astobj2.c: * Add ref debug tags to astobj2.c ref usage. *
	  Make container nodes not show up in the ref debug log.

2012-10-02 21:26 +0000 [r374197-374259]  Matthew Jordan <mjordan@digium.com>

	* main/asterisk.c, /: Ensure Shutdown AMI event is still fired
	  during Asterisk shutdown Richard pointed out that having the
	  manager dispose of itself gracefully during shutdown meant that
	  the Shutdown event will no longer get fired. This patch moves the
	  AMI event just prior to running the atexit callbacks. ........
	  Merged revisions 374230 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374231 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374248 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* utils/hashtest2.c: Modify hashtest2 to compile after r374213.
	  Someone, somewhere, may care. Because hashtest2 has to provide
	  symbols for things in asterisk that items it includes may use,
	  when astobj2 decided to use ast_register_atexit it needed to
	  provide a declaration for that as well. Otherwise - no linky. On
	  a related note, ASTERISK-20505 was filed to convert
	  hashtest/hashtest2 into actual unit tests, so we don't run into
	  this problem again.

	* main/astobj2.c, main/message.c, /: Fix findings from check-in on
	  r374177 Richard pointed out two problems with the check-in from
	  r374177: * The ast_msg_shutdown function declaration doesn't
	  match the prototype in main/message.c. * The ref/alloc function
	  usage in astobj2 (in trunk) can use the ao2_t_* variants of the
	  functions to allow the REF_DEBUG flag to enable/disable their
	  debug counterparts. ........ Merged revisions 374210 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374211 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/features.c, main/config_options.c, main/event.c,
	  main/message.c, main/asterisk.c, main/db.c, main/xmldoc.c,
	  main/format.c, main/udptl.c, main/pbx.c, /, main/ccss.c,
	  include/asterisk/astobj2.h, channels/chan_agent.c,
	  res/res_xmpp.c, main/taskprocessor.c, res/res_musiconhold.c,
	  main/named_acl.c, main/cel.c, main/astobj2.c, main/format_pref.c,
	  main/indications.c, main/channel.c, main/data.c, main/manager.c:
	  Fix a variety of ref counting issues This patch resolves a number
	  of ref leaks that occur primarily on Asterisk shutdown. It adds a
	  variety of shutdown routines to core portions of Asterisk such
	  that they can reclaim resources allocate duringd initialization.
	  Review: https://reviewboard.asterisk.org/r/2137 ........ Merged
	  revisions 374177 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374178 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374196 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-01 23:39 +0000 [r374164-374167]  Andrew Latham <lathama@gmail.com>

	* main/asterisk.c, addons/app_mysql.c, include/asterisk/doxyref.h,
	  contrib/asterisk-ng-doxygen, main/http.c: Doxygen Cleanup Start
	  adding configuration file linking and pages. Add module loading
	  doxygen block. Breaking up commits to keep it easy to track
	  (issue ASTERISK-20259)

	* channels/chan_motif.c, channels/chan_alsa.c,
	  channels/chan_console.c, channels/chan_gtalk.c,
	  channels/chan_iax2.c, channels/chan_oss.c, channels/chan_mgcp.c,
	  channels/chan_jingle.c, channels/chan_dahdi.c,
	  channels/chan_misdn.c, channels/chan_vpb.cc, channels/chan_sip.c,
	  channels/chan_skinny.c: Doxygen Cleanup Start adding
	  configuration file linking and pages. Add module loading doxygen
	  block. Breaking up commits to keep it easy to track (issue
	  ASTERISK-20259)

	* res/res_calendar.c, res/res_clialiases.c,
	  res/res_config_sqlite3.c, res/res_smdi.c, res/res_snmp.c,
	  res/res_fax.c, res/res_phoneprov.c, res/res_musiconhold.c,
	  res/res_xmpp.c, res/res_config_ldap.c, res/res_curl.c,
	  res/res_config_sqlite.c, res/res_timing_kqueue.c, res/res_odbc.c:
	  Doxygen Cleanup Start adding configuration file linking and
	  pages. Add module loading doxygen block. Breaking up commits to
	  keep it easy to track (issue ASTERISK-20259)

	* apps/app_alarmreceiver.c, apps/app_amd.c, apps/app_confbridge.c,
	  apps/app_followme.c, apps/app_queue.c, apps/app_adsiprog.c,
	  apps/app_voicemail.c, apps/app_meetme.c, apps/app_festival.c,
	  apps/app_skel.c: Doxygen Cleanup Start adding configuration file
	  linking and pages. Add module loading doxygen block. (issue
	  ASTERISK-20259)

2012-10-01 20:36 +0000 [r374134-374151]  Sean Bright <sean@malleable.com>

	* main/db.c, include/asterisk/astdb.h, /, tests/test_db.c,
	  apps/app_queue.c: app_queue: Support persisting and loading of
	  long member lists. Greenlight in #asterisk brought up that he was
	  receiving an error message "Could not create persistent member
	  string, out of space" when running app_queue in Asterisk 10.
	  dump_queue_members() made an assumption that 8K would be enough
	  to store the generated string, but with queues that have large
	  member lists this is not always the case. This patch removes the
	  limitation and uses ast_str instead of a fixed sized buffer. The
	  complicating factor comes from the fact that ast_db_get requires
	  a buffer and buffer size argument, which doesn't let us pull back
	  more than what we pass in, so I introduced a new
	  ast_db_get_allocated() which returns an ast_strdup()'d copy of
	  the value from astdb. As an aside, I did some testing on the
	  maximum size of data that we can store in the BDB library we
	  distribute and was able to store a 10MB string and retrieve it
	  with no problems, so I feel this is a safe patch. Review:
	  https://reviewboard.asterisk.org/r/2136/ ........ Merged
	  revisions 374108 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 374135 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374150 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/db.c, /: Use ast_copy_string instead of strncpy to guarantee
	  a NUL terminated string. ........ Merged revisions 374132 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374133 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-01 17:05 +0000 [r374109]  Richard Mudgett <rmudgett@digium.com>

	* main/cli.c: Change core show help output format. The CLI "core
	  show help" output leaves something to be desired. 1) The command
	  is truncated to a maximum of 30 characters. 2) The output columns
	  are mirrored from the 31st column. Current output format: logger
	  mute Toggle logging output to a console logger reload Reopens the
	  log files logger rotate Rotates and reopens the log files logger
	  set level {DEBUG|NOTICE Enables/Disables a specific logging level
	  for this console logger show channels List configured log
	  channels New format: logger mute -- Toggle logging output to a
	  console logger reload -- Reopens the log files logger rotate --
	  Rotates and reopens the log files logger set level
	  {DEBUG|NOTICE|WARNING|ERROR|VERBOSE|DTMF} {on|off} --
	  Enables/Disables a specific logging level for this console logger
	  show channels -- List configured log channels Review:
	  https://reviewboard.asterisk.org/r/2133/

2012-10-01 16:26 +0000 [r374107]  Mark Michelson <mmichelson@digium.com>

	* /, apps/confbridge/conf_config_parser.c: Don't destroy confbridge
	  config when error is encountered during a reload. Not panicking
	  means that the old config is kept. (closes issue ASTERISK-20458)
	  Reported by: Leif Madsen Patches: ASTERISK-20458.patch uploaded
	  by Mark Michelson(license #5049) Tested by Leif Madsen ........
	  Merged revisions 374106 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-10-01 12:29 +0000 [r374096]  Joshua Colp <jcolp@digium.com>

	* include/asterisk/speech.h, res/res_speech.c,
	  apps/app_speech_utils.c: Add support for retrieving engine
	  specific settings using the speech API and from dialplan. (closes
	  issue ASTERISK-17136) Reported by: kenner

2012-09-29 03:56 +0000 [r374086]  Matthew Jordan <mjordan@digium.com>

	* /, channels/chan_sip.c: Fix ref leak when adding ICE candidates
	  to an SDP There was a missing decrement to the reference count
	  for the current ICE candidate when local candidates are being
	  added to an outbound SDP. This patch corrects that. ........
	  Merged revisions 374085 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-28 22:11 +0000 [r374075]  Richard Mudgett <rmudgett@digium.com>

	* res/res_agi.c: Include channel uniqueid in "AsyncAGI" and
	  "AGIExec" events. * Added AMI event documentation for AsyncAGI
	  and AGIExec events. (closes issue ASTERISK-20318) Reported by:
	  Dan Cropp Patches: res_agi_patch.txt (license #6422) patch
	  uploaded by Dan Cropp modified for trunk.

2012-09-28 19:37 +0000 [r374060]  Jonathan Rose <jrose@digium.com>

	* res/res_jabber.c, /: res_jabber: Remove CLI command 'jabber test'
	  The opinion of development was that it is both improper to have
	  Matt's personal email address used in the source and that the
	  command wouldn't be useful without it. (closes issue AST-467)
	  Reported by: Malcolm Davenport ........ Merged revisions 374032
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 374045 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 374059 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-28 18:27 +0000 [r374030]  Richard Mudgett <rmudgett@digium.com>

	* channels/chan_dahdi.c, channels/sig_analog.c, UPGRADE.txt,
	  main/app.c, apps/app_senddtmf.c: Add pause one second W dial
	  modifier. * The following dialplan applications now recognize 'W'
	  to pause sending DTMF for one second in addition to the
	  previously existing 'w' that paused sending DTMF for half a
	  second. Dial, ExternalIVR, and SendDTMF. * The chan_dahdi analog
	  port dialing and deferred DTMF dialing for PRI now distinguishes
	  between 'w' and 'W'. The 'w' pauses dialing for half a second.
	  The 'W' pauses dialing for one second. * Created dahdi_dial_str()
	  in chan_dahdi that eliminated a lot of duplicated dialing code
	  and diagnostic messages for the channel driver. (closes issue
	  ASTERISK-20039) Reported by: Jeremiah Gowdy Patches:
	  jgowdy-wait-6-22-2012.diff (license #5621) patch uploaded by
	  Jeremiah Gowdy Expanded patch to add support in chan_dahdi.
	  Tested by: rmudgett

2012-09-28 13:04 +0000 [r374020]  Brent Eagles <beagles@digium.com>

	* res/res_xmpp.c, main/message.c, /: Reset hangup flags on channels
	  created through messages and cleanup globals in res_xmpp on
	  unload. This patch fixes an issue where hangup flags were not
	  being reset on a channel, affecting subsequent use of that
	  channel. The patch also adds some additional cleanup to res_xmpp
	  to fix an issue with reloading the module. (closes
	  ASTERISK-20360) Reported by: Noah Engelberth Tested by: beagles
	  Review: https://reviewboard.asterisk.org/r/2134/ ........ Merged
	  revisions 374019 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-28 12:17 +0000 [r373992]  Joshua Colp <jcolp@digium.com>

	* /, res/res_agi.c: Update documentation to make it explicit that
	  "stream file" will not restart musiconhold. (issue
	  ASTERISK-17367) Reported by: oej ........ Merged revisions 373989
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 373990 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373991 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-28 03:06 +0000 [r373979]  Matthew Jordan <mjordan@digium.com>

	* CHANGES, apps/app_senddtmf.c: Add Duration header for PlayDTMF
	  AMI Action This patch adds an optional header to the PlayDTMF AMI
	  action, Duration. It allows the duration of the DTMF digit to be
	  played on the channel to be specified in milliseconds. (closes
	  issue ASTERISK-18172) Reported by: Renato dos Santos patches:
	  send-dtmf.patch uploaded by Renato dos Santos (license #6267)
	  Modified slightly for this commit for Asterisk 12.

2012-09-27 22:43 +0000 [r373965-373967]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_dial.c: Tweak app_dial documentation.

	* main/app.c: Cleanup ast_dtmf_stream() * Made ast_dtmf_stream()
	  wait after starting the silence generator rather than before. *
	  Made ast_dtmf_stream() put the peer in autoservice for the whole
	  time things are being done to the chan.

	* apps/app_senddtmf.c, /: Fix SendDTMF crash and channel reference
	  leak using channel name parameter. The SendDTMF channel name
	  parameter has two issues. 1) Crashes if the channel name does not
	  exist. 2) Leaks a channel reference if the channel is the current
	  channel. Problem introduced by ASTERISK-15956. * Updated SendDTMF
	  documentation. * Renamed app to senddtmf_name and tweaked the
	  type. ........ Merged revisions 373945 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373946 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373954 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-27 17:12 +0000 [r373915]  Joshua Colp <jcolp@digium.com>

	* res/res_http_websocket.c, /, channels/chan_sip.c,
	  include/asterisk/http_websocket.h: Make res_http_websocket an
	  optional dependency on supported platforms for chan_sip. (closes
	  issue ASTERISK-20439) Reported by: sruffell Patches:
	  0001-chan_sip-websocket-support-is-an-optional-API.patch uploaded
	  by sruffell (license 5417) ........ Merged revisions 373914 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-27 17:02 +0000 [r373913]  Kinsey Moore <kmoore@digium.com>

	* apps/app_voicemail.c, CHANGES: Add VoicemailRefresh AMI Action
	  Currently, if there are modifications to mailboxes that Asterisk
	  is not aware of, the user needs to add "pollmailboxes" to their
	  mailbox configuration, which repeatedly polls the subscribed
	  mailboxes for changes. This results in a lot of extra work for
	  the CPU. This patch introduces the AMI command VoicemailRefresh
	  which permits external applications to trigger the refresh
	  themselves. The refresh can apply to a specified mailbox only, an
	  entire context, or all configured mailboxes. Even a refresh
	  performed on every mailbox would not consume as much CPU as the
	  pollmailboxes option, given that pollmailboxes runs continuously
	  and this only runs on demand. (closes issue ASTERISK-17206)
	  (closes issue ASTERISK-19908) Reported-by: Jeff Hutchins
	  Reported-by: Tilghman Lesher Patch-by: Tilghman Lesher

2012-09-27 16:53 +0000 [r373881-373912]  Joshua Colp <jcolp@digium.com>

	* /, main/loader.c: loader: Ensure dependent modules are properly
	  initialized. If an Asterisk module specifies a dependency in
	  ast_module_info.nonoptreq, it is possible for Asterisk to skip
	  calling the modules's .load function. Asterisk was loading and
	  linking the module via load_dynamic_module() but was not adding
	  the module to the resource_heap. Therefore the module was not
	  initialized based on it's priority along with the other modules
	  in the heap. Now use load_resource() instead of
	  load_dynamic_module() for non-optional requirement. This will add
	  the module to the resource_heap so the module can be properly
	  initialized in the correct order. This is required if there are
	  any module global data structures initialized in the .load()
	  callback for the module on platforms which do not support weak
	  references. (issue ASTERISK-20439) Reported by: sruffell Patches:
	  0001-loader-Ensure-dependent-modules-are-properly-initial.patch
	  uploaded by sruffell (license 5417) ........ Merged revisions
	  373909 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 373910 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373911 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_local.c, /: Fix an issue where Local channels
	  dialed by app_queue are considered in use immediately. The
	  chan_local channel driver returns a device state of in use even
	  if a created Local channel has not yet been dialed. This fix
	  changes the logic to return a state of not in use until the
	  channel itself has been dialed. (closes issue ASTERISK-20390)
	  Reported by: tim_ringenbach Review:
	  https://reviewboard.asterisk.org/r/2116/ ........ Merged
	  revisions 373878 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373879 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373880 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-26 21:17 +0000 [r373852]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Move handling of 408 response so there is
	  no misleading warning message. (closes issue ASTERISK-20060)
	  Reported by: Walter Doekes ........ Merged revisions 373848 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373849 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373850 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-26 18:23 +0000 [r373835]  Richard Mudgett <rmudgett@digium.com>

	* /, apps/app_meetme.c: Fixed meetme tab completion and command
	  documentation. * Removed unnecessary case sensitivity in meetme
	  list, lock, unlock, mute, unmute, and kick commands. * Separated
	  meetme lock/unlock, mute/unmute, and kick commands into their own
	  registered commands to simplify tab completion and parameter
	  checking. meetme_lock_cmd(), meetme_mute_cmd(), and
	  meetme_kick_cmd() * Simplified meetme_show_cmd() (closes issue
	  AST-1006) Reported by: John Bigelow Tested by: rmudgett ........
	  Merged revisions 373815 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373816 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373818 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-26 08:31 +0000 [r373805]  Alec L Davis <sivad.a@paradise.net.nz>

	* apps/app_queue.c, /: app_queue: 'agent available' hint, cleanup
	  restart, and initial state Fix previously untested senarios; 1).
	  On queue initialisation set queue_avail devstate to INUSE.
	  Previously was unavailable, which indicated an agent was
	  available. 2). When removing members, if there are no other
	  members available, set queue_avail to INUSE. Previously, if a
	  member interface had become 'unavailable', they were never going
	  to be removed, particularly when persistant queues is enabled.
	  3). When adding a member, check that they are available, if they
	  are set queue_avail to NOT_INUSE. Previously on reloaded, members
	  may have been 'unavailable'. 4). When pausing or unpausing a
	  member, set appropriate queue availability. alecdavis (license
	  585) Reported by: Alec Davis Tested by: alecdavis Review:
	  https://reviewboard.asterisk.org/r/2129/ ........ Merged
	  revisions 373804 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 23:10 +0000 [r373740-373776]  Mark Michelson <mmichelson@digium.com>

	* /, main/say.c: Fix saying of date in Dutch. The Dutch say the
	  date before the month. (closes issue ASTERISK-20353) Reported by:
	  Teun Ouwehand ........ Merged revisions 373773 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373774 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373775 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_agent.c, configs/agents.conf.sample: Remove dead
	  code and documentation for nonexistent feature. multiplelogin was
	  removed from chan_agent back in 1.6.0 when AgentCallbackLogin()
	  was removed. (closes issue AST-948) reported by Steve Pitts
	  ........ Merged revisions 373768 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373769 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373770 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/app_voicemail.c, /: Fix error where improper IMAP greetings
	  would be deleted. (closes issue ASTERISK-20435) Reported by:
	  fhackenberger Patches: asterisk-20435-imap-del-greeting.diff
	  uploaded by Michael L. Young (License #5026) (with suggested
	  modification made by me) ........ Merged revisions 373735 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373737 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373738 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 20:14 +0000 [r373708]  Joshua Colp <jcolp@digium.com>

	* channels/chan_local.c, /: Fix T.38 support when used with
	  chan_local in between. Users of the T.38 API can indicate
	  AST_T38_REQUEST_PARMS on a channel to request that the channel
	  indicate a T.38 negotiation with the parameters present on the
	  channel. The return value of this indication is expected to be
	  AST_T38_REQUEST_PARMS upon success but with chan_local involved
	  this could never occur. This fix changes chan_local to always
	  return AST_T38_REQUEST_PARMS for this situation. If the
	  underlying channel technology on the other side does not support
	  T.38 this would have been determined ahead of time using
	  ast_channel_get_t38_state and an indication would not occur.
	  (closes issue ASTERISK-20229) Reported by: wdoekes Patches:
	  ASTERISK-20229.patch uploaded by wdoekes (license 5674) Review:
	  https://reviewboard.asterisk.org/r/2070/ ........ Merged
	  revisions 373705 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373706 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373707 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 19:29 +0000 [r373701]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/channel.h, CHANGES, channels/sig_pri.c,
	  funcs/func_callerid.c, include/asterisk/callerid.h,
	  main/channel.c, channels/chan_misdn.c, channels/chan_sip.c,
	  main/callerid.c: Allow for redirecting reasons to be set to
	  arbitrary strings. This allows for the REDIRECTING dialplan
	  function to be used to set the reason to any string. The SIP
	  channel driver has been modified to set the redirecting reason
	  string to the value received in a Diversion header. In addition,
	  SIP 480 response reason text will set the redirecting reason as
	  well. (closes issue AST-942) reported by Malcolm Davenport
	  (closes issue AST-943) reported by Malcolm Davenport Review:
	  https://reviewboard.asterisk.org/r/2101

2012-09-25 19:08 +0000 [r373691]  Terry Wilson <twilson@digium.com>

	* configs/sip.conf.sample, channels/sip/include/sip.h, /,
	  channels/chan_sip.c: Properly handle UAC/UAS roles for SIP
	  session timers The SIP session timer mechanism contains a
	  mandatory 'refresher' parameter (included in the Session-Expires
	  header) which is used in the session timer offer/answer signaling
	  within a SIP Invite dialog. It looks like asterisk is
	  interpreting the uac resp. uas role only as the initial role of
	  client and server (caller is uac, callee is uas). The standard
	  rfc 4028 however assigns the client role to the ((RE)-Invite)
	  requester, the server role to the ((RE)-Invite) responder. This
	  patch has Asterisk track the actual refresher as "us" or "them"
	  as opposed to relying on just the configured "uas" or "uac"
	  properties. (closes issue AST-922) Reported by: Thomas Airmont
	  Review: https://reviewboard.asterisk.org/r/2118/ ........ Merged
	  revisions 373652 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373665 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373690 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 18:33 +0000 [r373689]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_queue.c: "show" completion option for "queue"
	  shouldn't appear twice When tab-completing CLI commands starting
	  with "queue", "show" appeared twice in the list due to the way
	  that Asterisk's tab completion functions and the order in which
	  the commands were registered. The registration order has been
	  altered to resolve this issue. (closes issue AST-940)
	  Reported-by: Steve Pitts ........ Merged revisions 373666 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373675 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373688 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 17:22 +0000 [r373636-373656]  Richard Mudgett <rmudgett@digium.com>

	* /, codecs/ilbc/iLBC_encode.c, codecs/ilbc/iLBC_decode.c: Fix
	  valgrind found memcpy issues in codec_ilbc. Valgrind found
	  codec_ilbc using memcpy instead of memmove for overlapping memory
	  blocks. (issue ASTERISK-19890) (closes issue ASTERISK-20231)
	  Reported by: Walter Doekes Patches: ASTERISK-20231.patch (license
	  #5674) patch uploaded by Walter Doekes ........ Merged revisions
	  373640 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 373645 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373650 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, codecs/Makefile: Make rebuild GSM, ilbc, or lpc10 codecs if
	  the respective sources change. ........ Merged revisions 373618
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 373633 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373635 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 16:45 +0000 [r373608-373634]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c: chan_sip: Set Quality of Service for
	  video rtp instance (closes issue ASTERISK-20201) Reported by:
	  ddkprog Patches: chan_sip.c.diff uploaded by ddkprog (license
	  6008) ........ Merged revisions 373617 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373631 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373632 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_agi.c: res_agi: async_agi responsiveness improvement on
	  datastore problems This patch changes get_agi_cmd so that the
	  return can be checked to differentiate between an empty list
	  success and something that triggered an error. This in turn
	  allows launch_asyncagi to detect these errors and break free from
	  the command processing loop so that the async agi can be ended
	  more cleanly (closes issue ASTERISK-20109) Reported by: Jeremiah
	  Gowdy Patches: jgowdy-7-9-2012.diff uploaded by Jeremiah Gowdy
	  (license 6358) (Modified by me to fix some logical issues and
	  apply to trunk) Review: https://reviewboard.asterisk.org/r/2117/

2012-09-25 14:13 +0000 [r373583]  Mark Michelson <mmichelson@digium.com>

	* funcs/func_presencestate.c, /: "He who go through turnstile
	  sideways is going to Bangkok" ........ Merged revisions 373582
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 13:29 +0000 [r373581]  Kinsey Moore <kmoore@digium.com>

	* configs/res_odbc.conf.sample, /: Fix documentation for default
	  username in res_odbc This was previously stated to be "root", but
	  is actually the name of the context if unspecified. (closes issue
	  ASTERISK-20258) Reported by: Stefan x ........ Merged revisions
	  373578 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 373579 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373580 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-25 12:12 +0000 [r373553]  Joshua Colp <jcolp@digium.com>

	* /, res/res_rtp_multicast.c: Fix an issue where a caller to
	  ast_write on a MulticastRTP channel would determine it failed
	  when in reality it did not. When sending RTP packets via
	  multicast the amount of data sent is stored in a variable and
	  returned from the write function. This is incorrect as any
	  non-zero value returned is considered a failure while a return
	  value of 0 is success. For callers (such as ast_streamfile) that
	  checked the return value they would have considered it a failure
	  when in reality nothing went wrong and it was actually a success.
	  The write function for the multicast RTP engine now returns -1 on
	  failure and 0 on success, as it should. (closes issue
	  ASTERISK-17254) Reported by: wybecom ........ Merged revisions
	  373550 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 373551 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373552 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-24 22:14 +0000 [r373503]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_sip.c: Be consistent, send From: "Anonymous"
	  <sip:anonymous@anonymous.invalid> When setting
	  CALLERID(pres)=unavailable in the dialplan, the From header in
	  the SIP message contains "Anonymous"
	  <sip:Anonymous@anonymous.invalid>. For consistency, Asterisk
	  should use a lowercase a in the userpart of the URI. * Make the
	  From header use a lowercase A in the userpart of the anonymous
	  URI. (closes issue ASTERISK-19838) Reported by: Antti Yrjola
	  Patches: chan_sip_patch_ASTERISK-19838.patch (license #6383)
	  patch uploaded by Antti Yrjola ........ Merged revisions 373500
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 373501 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373502 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-24 21:19 +0000 [r373479]  Jonathan Rose <jrose@digium.com>

	* apps/app_mixmonitor.c, funcs/func_audiohookinherit.c, /:
	  func_audiohookinherit: Document some missed sources. This patch
	  also mentions that AUDIOHOOK_INHERIT can be used to transfer
	  MixMonitor audiohooks. There is also wiki that addresses
	  audiohooks and the use of AUDIOHOOK_INHERIT at the following
	  link: https://wiki.asterisk.org/wiki/display/AST/Audiohooks
	  (closes issue ASTERISK-18220) Reported by: Ishfaq Malik ........
	  Merged revisions 373467 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373468 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373470 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-24 21:15 +0000 [r373471]  Richard Mudgett <rmudgett@digium.com>

	* /, channels/chan_sip.c: Fix potential reentrancy problems in
	  chan_sip. Asterisk v1.8 and later was not as vulnerable to this
	  issue. * Made find_call() lock each private as it processes the
	  found dialogs. (Primary cause of ABE-2876) * Made the other
	  functions that traverse the dialogs container lock each private
	  as it examines them. * Fix race condition in sip_call() if the
	  thread that sent the INVITE is held up long enough for a response
	  to be processed. The p->initid for the INVITE retransmission
	  could be added after it was canceled by the response processing.
	  * Made __sip_destroy() clean up resource pointers after freeing.
	  This is primarily defensive in case someone has a stale private
	  pointer. * Removed redundant memset() in reqprep(). The call to
	  init_req() already does the memset() and is the first reference
	  to req in reqprep(). * Removed useless set of req.method in
	  transmit_invite(). The calls to initreqprep() and reqprep() have
	  to do this because they memset() the req. JIRA ABE-2876
	  .......... Merged -r373423 from
	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
	  ........ Merged revisions 373424 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373466 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373469 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-24 19:23 +0000 [r373414-373456]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_sip.c: Fix a deadlock caused by a race condition
	  between removing a hint and reloading the dialplan and
	  subscribing to the removed hint. If conditions were right it was
	  possible for both the PBX core and chan_sip to deadlock by both
	  having a lock that the other wants. In the case of the PBX core
	  it had the contexts lock and wanted a SIP dialog lock, while in
	  the case of chan_sip it had the SIP dialog lock and wanted the
	  contexts lock. This fix unlocks the SIP dialog before getting the
	  extension state so that the other thread will not block on trying
	  to lock it. Once the extension state is retrieved the SIP dialog
	  is locked again and life carries on. As the SIP dialog is
	  reference counted it is not possible for it to go away after
	  unlocking. (closes issue ASTERISK-20437) Reported by: jhutchins
	  ........ Merged revisions 373438 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373440 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373454 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_format_attr_h264.c, /, channels/chan_sip.c: Fix an issue
	  with H.264 format attribute comparison and fix an issue with
	  improper SDP being produced. The H.264 format attribute module
	  compares two format attribute structures to determine if they are
	  compatible or not. In some instances it was possible for this
	  check to determine that both structures were incompatible when
	  they actually should be considered compatible. This check has now
	  been made even more permissive by assuming that if no attribute
	  information is available the two structures are compatible. If
	  both structures contain attribute information a base level
	  comparison of the H.264 IDC value is done to see if they are
	  compatible or not. The above issue uncovered a secondary issue in
	  chan_sip where the SDP being produced would be incorrect if the
	  formats were considered incompatible. This has now been fixed by
	  checking that all information required to produce the SDP is
	  available instead of assuming it is. (closes issue
	  ASTERISK-20464) Reported by: Leif Madsen ........ Merged
	  revisions 373413 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-24 12:42 +0000 [r373404]  Brent Eagles <beagles@digium.com>

	* res/res_rtp_asterisk.c, /, configs/rtp.conf.sample:
	  res_rtp_asterisk: Make TURN and STUN server configurations
	  consistent. This patch removes the turnport configuration
	  property and changes the turnaddr property to be a combined
	  host[:port] configuration string. The patch also modifies the
	  documentation in the example configuration to reflect the
	  property changes and adds some additional text indicating how the
	  STUN port is configured. (closes issue ASTERISK-20344) Reported
	  by: beagles Tested by: beagles Review:
	  https://reviewboard.asterisk.org/r/2111/ ........ Merged
	  revisions 373403 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-22 20:43 +0000 [r373384]  Andrew Latham <lathama@gmail.com>

	* Makefile, cel/cel_odbc.c, include/asterisk/doxyref.h,
	  main/manager.c, doc/README.txt, include/asterisk/xmpp.h,
	  apps/app_minivm.c, cel/cel_sqlite3_custom.c,
	  include/asterisk/format.h, main/audiohook.c,
	  include/asterisk/pbx.h, res/res_timing_kqueue.c,
	  addons/chan_mobile.c, main/asterisk.c, main/xmldoc.c,
	  channels/chan_mgcp.c, apps/app_voicemail.c, utils/refcounter.c,
	  res/res_config_pgsql.c, main/pbx.c, main/ccss.c,
	  channels/chan_sip.c, tests/test_gosub.c,
	  include/asterisk/doxygen/mantisworkflow.h (removed),
	  contrib/asterisk-ng-doxygen, channels/chan_agent.c, main/astfd.c,
	  apps/app_queue.c, codecs/speex/speex_resampler.h,
	  res/res_config_sqlite.c: Doxygen Updates Janitor Work *
	  Whitespace, doc-blocks, spelling, case, missing and incorrect
	  tags. * Add cleanup to Makefile for the Doxygen configuration
	  update * Start updating Doxygen configuration for cleaner output
	  * Enable inclusion of configuration files into documentation *
	  remove mantisworkflow... * update documentation README * Add
	  markup to Tilghman's email and talk with him about updating his
	  email, he knows... * no code changes on this commit other than
	  the mentioned Makefile change (issue ASTERISK-20259)

2012-09-21 19:35 +0000 [r373369]  Jonathan Rose <jrose@digium.com>

	* /, channels/iax2-provision.c: iax2-provision: Fix improper return
	  on failed cache retrieval (closes issue ASTERISK-20337) reported
	  by: John Covert Patches: iax2-provision.c.patch uploaded by John
	  Covert (license 5512) ........ Merged revisions 373342 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373343 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373368 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-21 18:22 +0000 [r373320-373341]  Andrew Latham <lathama@gmail.com>

	* contrib/asterisk-ng-doxygen: Update Doxygen Config Comments This
	  annoying update is almost totally whitespace and updated config
	  comments. I did add Python to the documented file types. (issue
	  ASTERISK-20259)

	* include/asterisk/localtime.h, apps/app_ices.c, cdr/cdr_pgsql.c,
	  res/res_xmpp.c, res/res_jabber.c, cdr/cdr_radius.c,
	  include/asterisk/doxygen/releases.h, include/asterisk/doxyref.h,
	  res/res_smdi.c, main/manager.c, main/tdd.c,
	  include/asterisk/bridging_features.h, main/ast_expr2f.c,
	  cdr/cdr_sqlite.c, apps/app_skel.c, include/asterisk/sip_api.h,
	  channels/chan_motif.c, main/http.c, apps/app_confbridge.c,
	  include/asterisk/doxygen/commits.h, res/res_config_ldap.c,
	  res/res_curl.c, main/strings.c, res/res_config_pgsql.c,
	  codecs/codec_speex.c, res/res_crypto.c, main/acl.c,
	  channels/chan_console.c, res/res_config_curl.c,
	  channels/chan_jingle.c, include/asterisk/app.h,
	  include/asterisk/res_odbc.h, channels/chan_misdn.c,
	  include/asterisk/doxygen/asterisk-git-howto.h,
	  include/asterisk/xmpp.h, include/asterisk/jabber.h,
	  channels/chan_h323.c, include/asterisk/doxygen/reviewboard.h,
	  channels/sip/include/sdp_crypto.h, main/asterisk.c,
	  main/xmldoc.c, include/asterisk/doxygen/architecture.h,
	  include/asterisk/acl.h, cel/cel_pgsql.c, funcs/func_speex.c,
	  cel/cel_radius.c, apps/app_meetme.c, main/ccss.c, res/res_snmp.c,
	  include/asterisk/doxygen/mantisworkflow.h, main/sha1.c,
	  channels/sip/reqresp_parser.c: Doxygen Updates - janitor work
	  Doxygen updates including mistakes, misspellings, missing
	  parameters, updates for Doxygen style. Some missing txt file
	  links are removed but their content or essense will be included
	  in some later updates. A majority of the txt files were removed
	  in the 1.6 era but never noted. The HR and EXTREF are simple
	  changes that make the documentation more compatable with more
	  versions of Doxygen. Further updates coming. (issue
	  ASTERISK-20259)

	* README: Start work on documentation janitor project with a little
	  commit. This adds a link to the Asterisk wiki at
	  https://wiki.asterisk.org to the README file. (issue
	  ASTERISK-20259)

2012-09-21 15:41 +0000 [r373319]  Jonathan Rose <jrose@digium.com>

	* /, apps/app_queue.c: app_queue: Make queue reload members and
	  variants of that work Prior to this patch, 'queue reload members'
	  cli command did not work at all. This also affects the manager
	  function 'QueueReload' when supplied with the 'members: yes'
	  field. (closes issue AST-956) Reported by: John Bigelow ........
	  Merged revisions 373298 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373300 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373318 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-21 09:11 +0000 [r373275-373284]  Alec L Davis <sivad.a@paradise.net.nz>

	* main/dsp.c: dsp.c: remove more whitespace mentioned in review2107

	* main/dsp.c: dsp.c ast_dsp_call_progress use local short variable
	  in loop, plus other cleanup janitor cleanup. No functional
	  change. 1). ast_dsp_call_progress: use 'short samp' instead of
	  s[x] inside loop. apply same casting as other _init, dsp->energy
	  = (int32_t) samp * (int32_t) samp 2). ast_dtmf_detect_init: move
	  repeated setting of s->energy to outside of loop. do
	  goertzel_init loop first before setting s->lasthit and
	  s->current_hit, consistant with ast_dsp_digitreset() 3).
	  ast_mf_detect_init: do goertzel_init loop first before setting
	  s->hits[] and s->current_hit, consistant with
	  ast_dsp_digitreset() 4). Don't chain init different variables, as
	  the type may change Review
	  https://reviewboard.asterisk.org/r/2107/

2012-09-20 19:16 +0000 [r373247]  Joshua Colp <jcolp@digium.com>

	* /, apps/app_meetme.c: Fix incorrect MeetME conference bridge
	  reference count decrementing and sometimes premature destruction.
	  When using the 'e' or 'E' option to MeetMe the configured
	  conference bridges are loaded and examined to see if any are
	  empty. If no conference bridges are empty the caller is prompted
	  to enter the number of one. This operation left around a pointer
	  to the last created conference bridge still containing
	  participants. When the caller that was not able to find any empty
	  conference bridge hung up this pointer was disposed of and the
	  reference count of the conference bridge decremented. If there
	  was only a single participant in the conference bridge it was
	  ultimately destroyed prematurely. (closes issue AST-994) Reported
	  by: John Bigelow ........ Merged revisions 373242 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373245 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373246 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-20 18:44 +0000 [r373239]  Matthew Jordan <mjordan@digium.com>

	* CHANGES, apps/app_queue.c, configs/extensions.conf.sample, /: Add
	  queue monitoring hints This patch adds support for hints on a
	  queue. Hints can be added using the nomenclature 'Queue:name',
	  where name is the name of the queue being monitored. This nifty
	  feature was done by Alec Davis. Review:
	  https://reviewboard.asterisk.org/r/1619 Reported by: Alec Davis
	  Tested by: alecdavis patches: review1619.diff2 by alecdavis
	  (license 585) ........ Merged revisions 373235 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-20 18:27 +0000 [r373234]  Joshua Colp <jcolp@digium.com>

	* channels/sip/include/sip.h, res/res_rtp_asterisk.c,
	  main/rtp_engine.c, /, channels/chan_sip.c, configure,
	  include/asterisk/autoconfig.h.in, configure.ac,
	  configs/sip.conf.sample, include/asterisk/rtp_engine.h: Add
	  support for DTLS-SRTP to res_rtp_asterisk and chan_sip. As
	  mentioned on the review for this, WebRTC has moved towards
	  choosing DTLS-SRTP as the mechanism for key exchange for SRTP.
	  This commit adds support for this but makes it available for
	  normal SIP clients as well. Testing has been done to ensure that
	  this introduces no regressions with existing behavior and also
	  that it functions as expected. Review:
	  https://reviewboard.asterisk.org/r/2113/ ........ Merged
	  revisions 373229 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-20 18:02 +0000 [r373222]  Matthew Jordan <mjordan@digium.com>

	* apps/app_queue.c: Support all ways a member can be available for
	  'agent available' hints Alec's patch in r373188 added the ability
	  to subscribe to a hint for when Queue members are available. This
	  patch modifies the check that determines when a Queue member is
	  available by refactoring the availability checks in
	  num_available_members into a shared function is_member_available.
	  This should now handle the ringinuse option, as well as device
	  state values other than AST_DEVICE_NOT_INUSE.

2012-09-20 17:22 +0000 [r373221]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_directed_pickup.c, funcs/func_channel.c,
	  main/features.c, include/asterisk/channel.h,
	  include/asterisk/features.h, main/channel.c, /: Named call pickup
	  groups. Fixes, missing functionality, and improvements. *
	  ASTERISK-20383 Missing named call pickup group features:
	  CHANNEL(callgroup) - Need CHANNEL(namedcallgroup)
	  CHANNEL(pickupgroup) - Need CHANNEL(namedpickupgroup) Pickup() -
	  Needs to also select from named pickup groups. * ASTERISK-20384
	  Using the pickupexten, the pickup channel selection could fail
	  even though there was a call it could have picked up. In a call
	  pickup race when there are multiple calls to pickup and two
	  extensions try to pickup a call, it is conceivable that the loser
	  will not pick up any call even though it could have picked up the
	  next oldest matching call. Regression because of the named call
	  pickup group feature. * See ASTERISK-20386 for the implementation
	  improvements. These are the changes in channel.c and channel.h. *
	  Fixed some locking issues in CHANNEL(). (closes issue
	  ASTERISK-20383) Reported by: rmudgett (closes issue
	  ASTERISK-20384) Reported by: rmudgett (closes issue
	  ASTERISK-20386) Reported by: rmudgett Tested by: rmudgett Review:
	  https://reviewboard.asterisk.org/r/2112/ ........ Merged
	  revisions 373220 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-20 13:04 +0000 [r373212]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c: Correct handling of unknown SDP stream
	  types When the patch to handle arbitrary SDP stream arrangements
	  went into Asterisk, it also included an ability to transparently
	  decline unknown stream types. The scanf calls used were not
	  checked properly causing this part of the functionality to be
	  broken. (closes issue ASTERISK-20203) ........ Merged revisions
	  373211 from http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-20 11:05 +0000 [r373203]  Sean Bright <sean@malleable.com>

	* res/res_curl.c: When trying to unload res_curl.so, warn about all
	  dependent modules. Before this, attempting to unload res_curl.so
	  would warn you about the first module it found that was
	  dependent. We now warn about all of the loaded modules instead.

2012-09-20 10:41 +0000 [r373188-373202]  Alec L Davis <sivad.a@paradise.net.nz>

	* main/dsp.c: dsp.c: remove whitespace mentioned in review2107
	  Related https://reviewboard.asterisk.org/r/2107/

	* CHANGES, apps/app_queue.c, configs/extensions.conf.sample:
	  app_queue: Support an 'agent available' hint Sets INUSE when no
	  free agents, NOT_INUSE when an agent is free. modifes
	  handle_statechange() scan members loop to scan for a free agent
	  and updates the Queue:queuename_avial devstate. Previously exited
	  early if the member was found in the queue. Now Exits later when
	  both a member was found, and a free agent was found. alecdavis
	  (license 585) Reported by: Alec Davis Tested by: alecdavis
	  Review: https://reviewboard.asterisk.org/r/2121/

2012-09-18 20:19 +0000 [r373134-373142]  Sean Bright <sean@malleable.com>

	* main/logger.c: Make the casing of CALL_ID in debug messages
	  consistent to satisfy my OCD.

	* main/manager.c, /: Don't crash when passing a NULL message to
	  __astman_get_header. Before this commit, __astman_get_header
	  would blindly dereference the passed in 'struct message *' to
	  traverse the header list. There are cases, however, such as
	  '*CLI> sip qualify peer foo' where the message pointer is NULL,
	  so we need to check for that. ........ Merged revisions 373131
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 373132 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373133 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-18 15:50 +0000 [r373120]  David M. Lee <dlee@digium.com>

	* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
	  makeopts.in, Makefile, include/asterisk/utils.h: Add
	  -fnested-functions compile flag, if needed. In order to use
	  nested functions on some versions of GCC (e.g. GCC on OS X), the
	  -fnested-functions flag must be passed to the compiler. This
	  patch adds detection logic to ./configure to add the flag if
	  necessary. It also adds a comment to utils.h as to why the nested
	  function needs a prototype. (closes issue ASTERISK-20399)
	  Reported by: David M. Lee Review:
	  https://reviewboard.asterisk.org/r/2102/ ........ Merged
	  revisions 373119 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-15 00:32 +0000 [r373108]  Richard Mudgett <rmudgett@digium.com>

	* channels/sig_ss7.c, /: Made companding law for SS7 calls only
	  determined by SS7 signaling type. For SS7, the companding law for
	  a call was chosen inconsistently depending upon ss7type (ITU vs
	  ANSI) and the DAHDI companding default (T1 vs E1). For incoming
	  calls, the companding law was determined by ss7type. For outgoing
	  calls, the companding law was determined by the DAHDI default.
	  With the wrong combination you would get A-law/u-law conflicts.
	  An A-law/u-law conflict sounds like bad static on the line. SS7
	  ITU signaling with E1 line: ok SS7 ITU signaling with T1 line:
	  noise SS7 ANSI signaling with E1 line: noise SS7 ANSI signaling
	  with T1 line: ok * Fix the companding law used to be determined
	  by the SS7 signaling type only. ........ Merged revisions 373090
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 373101 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373107 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-14 19:53 +0000 [r373080]  Matthew Jordan <mjordan@digium.com>

	* main/libasteriskssl.c, main/tcptls.c, /, channels/chan_sip.c:
	  Resolve memory leaks in TLS initialization and TLS client
	  connections This patch resolves two sources of memory leaks when
	  using TLS in Asterisk: 1) It removes improper initialization (and
	  multiple re-initializations) of portions of the SSL library.
	  Asterisk calls SSL_library_init and SSL_load_error_strings during
	  SSL initialization; collectively this obviates the need for
	  calling any of the following during initialization or client
	  connection handling: * ERR_load_crypto_strings (handled by
	  SSL_load_error_strings) * OpenSSL_add_all_algorithms (synonym for
	  SSL_library_init) * SSLeay_add_ssl_algorithms (synonym for
	  SSL_library_init) 2) Failure to completely clean up all memory
	  allocated by Asterisk and by the SSL library for TLS clients.
	  This included not freeing the SSL_CTX object in the SIP channel
	  driver, as well as not clearing the error stack when the TLS
	  client exited. Note that these memory leaks were found by Thomas
	  Arimont, and this patch was essentially written by him with some
	  minor tweaks. (closes issue AST-889) Reported by: Thomas Arimont
	  Tested by: Thomas Arimont patches: (bugAST-889.patch) by Thomas
	  Arimont (license 5525) Review:
	  https://reviewboard.asterisk.org/r/2105 ........ Merged revisions
	  373061 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 373062 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373079 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-13 20:05 +0000 [r373046-373048]  David M. Lee <dlee@digium.com>

	* /, main/Makefile: Fixed make clean when configured
	  --disable-asteriskssl ........ Merged revisions 373047 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/channel.c, /, include/asterisk/channel.h: Fix timeouts for
	  ast_waitfordigit[_full]. ast_waitfordigit_full would simply pass
	  its timeout to ast_waitfor_nandfds, expecting it to decrement the
	  timeout by however many milliseconds were waited. This is a
	  problem if it consistently waits less than 1ms. The timeout will
	  never be decremented, and we wait... FOREVER! This patch makes
	  ast_waitfordigit_full manage the timeout itself. It maintains the
	  previously undocumented behavior that negative timeouts wait
	  forever. (closes issue ASTERISK-20375) Reported by: Mark
	  Michelson Tested by: Mark Michelson Review:
	  https://reviewboard.asterisk.org/r/2109/ ........ Merged
	  revisions 373024 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 373025 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 373029 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-12 21:02 +0000 [r372997]  Richard Mudgett <rmudgett@digium.com>

	* main/astobj2.c, main/channel.c, include/asterisk/astobj2.h,
	  tests/test_astobj2.c: Enhance astobj2 to support other types of
	  containers. The new API allows for sorted containers, insertion
	  options, duplicate handling options, and traversal order options.
	  * Adds the ability for containers to be sorted when they are
	  created. * Adds container creation options to handle duplicates
	  when they are inserted. * Adds container creation option to
	  insert objects at the beginning or end of the container traversal
	  order. * Adds OBJ_PARTIAL_KEY to allow searching with a partial
	  key. The partial key works similarly to the OBJ_KEY flag. (The
	  real search speed improvement with this flag will come when
	  red-black trees are added.) * Adds container traversal and
	  iteration order options: Ascending and Descending. * Adds an
	  AST_DEVMODE compile feature to check the stats and integrity of
	  registered containers using the CLI "astobj2 container stats
	  <name>" and "astobj2 container check <name>". The channels
	  container is normally registered since it is one of the most
	  important containers in the system. * Adds ao2_iterator_restart()
	  to allow iteration to be restarted from the beginning. * Changes
	  the generic container object to have a v_method table pointer to
	  support other types of containers. * Changes the container nodes
	  holding objects to be ref counted. The ref counted nodes and
	  v_method table pointer changes pave the way to allow other types
	  of containers. * Includes a large astobj2 unit test enhancement
	  that tests the new features. (closes issue ASTERISK-19969)
	  Reported by: rmudgett Review:
	  https://reviewboard.asterisk.org/r/2078/

2012-09-12 20:54 +0000 [r372996]  Joshua Colp <jcolp@digium.com>

	* channels/chan_motif.c, /: Skip any non-content information when
	  looking for and handling content. This fixes a bug with Jitsi and
	  conference calling. Jitsi implements XEP-0298 which places some
	  conference-info information in the session-initiate request which
	  chan_motif did not expect to occur. ........ Merged revisions
	  372995 from http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-12 18:33 +0000 [r372976-372985]  Jonathan Rose <jrose@digium.com>

	* /, res/res_xmpp.c: res_xmpp: Fix a segfault caused by bodyless
	  messages (closes issue ASTERISK-20361) Reported by: Noah
	  Engelberth Review: https://reviewboard.asterisk.org/r/2108/
	  ........ Merged revisions 372984 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* configs/logger.conf.sample, main/logger.c: logger: Add
	  rotatestrategy option of 'none' which does not perform rotations
	  With this option in use, it may be necessary to regulate your log
	  files externally. (closes issue ASTERISK-20189) Reported by: Jaco
	  Kroon Patches: asterisk-logger-norotate-trunk.patch uploaded by
	  Jaco Kroon (license 5671)

2012-09-12 15:21 +0000 [r372943]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Add channel name to a warning to make
	  debugging easier. The "autodestruct with owner in place" message
	  is typically indicative of a channel reference leak. Printing out
	  the name of the channel in the message may be helpful when trying
	  to debug the issue. ........ Merged revisions 372932 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372933 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372937 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-12 14:22 +0000 [r372931]  David M. Lee <dlee@digium.com>

	* /, main/Makefile: Fixed r372696 when configured
	  --disable-asteriskssl; properly install libasteriskssl.dylib on
	  OS X. I didn't realize that libasteriskssl.c was still compiled,
	  even when you disable asteriskssl; it simple gets statically
	  linked into asterisk. ........ Merged revisions 372930 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-11 22:40 +0000 [r372918]  Jonathan Rose <jrose@digium.com>

	* channels/chan_local.c, /: chan_local: Switch from using a random
	  4 digit hex identifier to unique id Changes chan_local channels
	  to use an 8 digit hex identifier generated atomically and
	  sequentially in order to eliminate the chance of having multiple
	  channels with the same name during high call volume situations.
	  (issue ASTERISK-20318) Reported by: Dan Cropp Review:
	  https://reviewboard.asterisk.org/r/2104/ ........ Merged
	  revisions 372902 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372916 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372917 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-11 21:17 +0000 [r372887-372891]  Mark Michelson <mmichelson@digium.com>

	* include/asterisk/_private.h, main/message.c, main/asterisk.c, /:
	  Fix inability to shutdown gracefully due to an unending channel
	  reference. message.c makes use of a special message queue channel
	  that exists in thread storage. This channel never goes away due
	  to the fact that the taskprocessor used by message.c does not get
	  shut down, meaning that it never ends the thread that stores the
	  channel. This patch fixes the problem by shutting down the
	  taskprocessor when Asterisk is shut down. In addition, the thread
	  storage has a destructor that will release the channel reference
	  when the taskprocessor is destroyed. (closes issue AST-937)
	  Reported by Jason Parker Patches: AST-937.patch uploaded by Mark
	  Michelson (License #5049) Tested by Jason Parker ........ Merged
	  revisions 372885 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372888 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/features.c, /: Fix bad channel application data reference.
	  When channels get bridged due to an AMI bridge action or a DTMF
	  attended transfer, the two channels that get bridged have their
	  application data pointing to the other channel's name. This means
	  that if one channel is hung up but the other moves on, it means
	  that the channel that moves on will have its application data
	  pointing at freed memory. (issue ASTERISK-20335) Reported by:
	  aragon ........ Merged revisions 372840 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372841 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372886 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-11 18:09 +0000 [r372874]  David M. Lee <dlee@digium.com>

	* Makefile, /: Corrects the astsbindir setting when installing the
	  sample asterisk.conf. (closes issue ASTERISK-20406) ........
	  Merged revisions 372863 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372864 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-11 14:43 +0000 [r372808-372832]  Jonathan Rose <jrose@digium.com>

	* UPGRADE.txt, CHANGES: chan_sip: Fix CHANGES and UPGRADE.txt for
	  r372808 (issue AST-969) Reported by John Bigelow

	* channels/chan_sip.c: chan_sip: Change SIPQualifyPeer to improve
	  initial response time Prior to this patch, The acknowledgement
	  wasn't produced until after executing the sip_poke_peer action
	  actually responsible for qualifying the peer. Now the response is
	  given immediately once it is known that a peer will be qualified
	  and a SIPqualifypeerdone event is issued when the process is
	  finished. Thanks to OEJ for identifying the problem and helping
	  to come up with a solution. (issue AST-969) Reported by John
	  Bigelow Review: https://reviewboard.asterisk.org/r/2098/

2012-09-10 21:00 +0000 [r372796-372807]  Kinsey Moore <kmoore@digium.com>

	* channels/chan_iax2.c, /: Ensure iax2 debug output is displayed
	  when expected When IAX2 debug was changed from iax_showframe to
	  iax_outputframe, some instances were missed (or added afterward).
	  This was causing debug output to not be displayed when expected.
	  (closes issue ASTERISK-20338) Reported-by: John Covert Patch-by:
	  John Covert ........ Merged revisions 372804 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372805 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372806 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/devicestate.c, channels/chan_gtalk.c, res/res_jabber.c,
	  channels/chan_jingle.c, include/asterisk/doxygen/architecture.h:
	  Deprecate chan_gtalk, chan_jingle, and res_jabber chan_gtalk,
	  chan_jingle, and res_jabber are now deprecated in favor of using
	  chan_motif and res_xmpp. They are a feature-equivalent
	  replacement and are written to be more easily maintainable.
	  (closes issue ASTERISK-20298) Review:
	  https://reviewboard.asterisk.org/r/2082/ Reported-by: Leif Madsen
	  ........ Merged revisions 372795 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-10 19:22 +0000 [r372787]  David M. Lee <dlee@digium.com>

	* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Eliminate
	  "type-punned pointer" build warning. Removes
	  "res_rtp_asterisk.c:706: warning: dereferencing type-punned
	  pointer will break strict-aliasing rules" warning from the build
	  on 32-bit platforms. The problem is that 'size' was referenced
	  aliased to both (pj_size_t *) and (pj_ssize_t *). Now just make a
	  copy of size that is the right type so there isn't any pointer
	  aliasing happening. It also adds comments and asserts regarding
	  what looks like an inappropriate use of pj_sock_sendto, but is
	  actually totally fine. (closes issue ASTERISK-20368) Reported by:
	  Shaun Ruffell Tested by: Michael L. Young Patches:
	  0001-res_rtp_asterisk-Eliminate-type-punned-pointer-build.patch
	  uploaded by Shaun Ruffell (license 5417) slightly modified by
	  David M. Lee. ........ Merged revisions 372777 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-10 18:58 +0000 [r372755-372769]  Jonathan Rose <jrose@digium.com>

	* /, apps/app_meetme.c: app_meetme: Document that 'p' option will
	  continue in dialplan. (closes issue AST-991) Reported by John
	  Bigelow ........ Merged revisions 372765 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372767 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372768 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/channel.c: Masquerade: Retain parkinglot settings made by
	  CHANNEL function. Prior to this patch, the user would have a
	  parkinglot set on a channel that was parked and when the channel
	  was retrieved, any attempt by that channel to park would simply
	  use the default. This patch makes parkinglot values set in this
	  way be retained through the masquerade. (closes issue AST-990)
	  Reported by: Nick Huskinson Patches:
	  masquerade_parkinglot_patch.diff Uploaded by Jonathan Rose
	  (license 6182) ........ Merged revisions 372736 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372737 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372754 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-09 01:28 +0000 [r372712]  Matthew Jordan <mjordan@digium.com>

	* channels/sip/sdp_crypto.c, /: Only re-create an SRTP session when
	  needed In r356604, SRTP handling was fixed to accomodate multiple
	  crypto keys in an SDP offer and the ability to re-create an SRTP
	  session when the crypto keys changed. In certain circumstances -
	  most notably when a phone is put on hold after having been
	  bridged for a significant amount of time - the act of re-creating
	  the SRTP session causes problems for certain models of phones.
	  The patch committed in r356604 always re-created the SRTP session
	  regardless of whether or not the cryptographic keys changed.
	  Since this is technically not necessary, this patch modifies the
	  behavior to only re-create the SRTP session if Asterisk detects
	  that the remote key has changed. This allows models of phones
	  that do not handle the SRTP session changing to continue to work,
	  while also providing the behavior needed for those phones that do
	  re-negotiate cryptographic keys. (issue ASTERISK-20194) Reported
	  by: Nicolo Mazzon Tested by: Nicolo Mazzon Review:
	  https://reviewboard.asterisk.org/r/2099 ........ Merged revisions
	  372709 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 372710 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372711 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-08 06:18 +0000 [r372699]  David M. Lee <dlee@digium.com>

	* /, main/Makefile: Add OPENSSL_INCLUDE to the CFLAGS for ssl.c and
	  tcptls.c. Without this flag, those files will compile with the
	  system installed OpenSSL headers (if they exist). This is a real
	  bummer if a different path was specified using --with-ssl=
	  (closes issue ASTERISK-20392) ........ Merged revisions 372682
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Recorded merge of revisions 372695 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........
	  Recorded merge of revisions 372696 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-07 23:10 +0000 [r372623-372658]  Richard Mudgett <rmudgett@digium.com>

	* /, main/astmm.c: Fix MALLOC_DEBUG version of ast_strndup().
	  (closes issue ASTERISK-20349) Reported by: Brent Eagles ........
	  Merged revisions 372655 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372656 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372657 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, funcs/func_math.c: Remove annoying unconditional debug message
	  from INC/DEC functions. (closes issue AST-1001) Reported by:
	  Guenther Kelleter ........ Merged revisions 372628 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372629 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372630 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/app_queue.c, /: Fix exception path typo in app_queue.c
	  try_calling(). (closes issue ASTERISK-20380) Reported by: Jeremy
	  Pepper Patches: fix-local-channel-locking.patch (license #6350)
	  patch uploaded by Jeremy Pepper ........ Merged revisions 372624
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 372625 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372626 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/app_voicemail.c, /: Fix VoicemailUserEntry event headers
	  ServerEmail and MailCommand reported values. The AMI action
	  VoicemailUsersList VoicemailUserEntry event headers ServerEmail
	  and MailCommand did not report the global values if they were not
	  overridden. The VoicemailUserEntry event header ServerEmail was
	  not populated with the global value if the voicemail user did not
	  override it. The VoicemailUserEntry event header MailCommand was
	  never populated with a value. * Removed unused struct ast_vm_user
	  member mailcmd[]. (closes issue AST-973) Reported by: John
	  Bigelow Tested by: rmudgett ........ Merged revisions 372620 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372621 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372622 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-07 21:04 +0000 [r372610-372612]  David M. Lee <dlee@digium.com>

	* res/pjproject/pjmedia/lib, codecs/ilbc,
	  res/pjproject/pjlib-util/lib, res/pjproject/pjmedia/bin,
	  res/pjproject/third_party/gsm/lib,
	  res/pjproject/third_party/gsm/bin, res/pjproject/pjnath/lib,
	  res/pjproject/pjsip/lib, res/pjproject/pjsip-apps/lib,
	  res/pjproject/pjsip/bin, res/pjproject/pjsip-apps/bin,
	  res/pjproject/third_party/lib, res/pjproject/third_party/bin,
	  res/pjproject/lib, res/pjproject/pjlib/lib, /: svn:ignore
	  cleanup. * pjproject bin and lib directories should pretty much
	  ignore everything * Ignore *.o in codecs/ilbc ........ Merged
	  revisions 372611 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, res/Makefile: Fix parallel make for res_asterisk_rtp. Fixes a
	  build regression introduced in r369517 "Add support for
	  ICE/STUN/TURN in res_rtp_asterisk and chan_sip." [1]. [1]
	  http://svnview.digium.com/svn/asterisk?view=revision&revision=369517
	  When compiling asterisk in parallel like: $ make -j 10 It's
	  possible to get errors like the following:
	  .pjlib-util-test-x86_64-unknown-linux-gnu.depend:120: *** missing
	  separator. Stop. make[4]: *** [depend] Error 2 make[3]: *** [dep]
	  Error 1 make[2]: ***
	  [/home/sruffell/asterisk-working/res/pjproject/pjnath/lib/libpjnath-x86_64-unknown-linux-gnu.a]
	  Error 2 make[3]: warning: jobserver unavailable: using -j1. Add
	  `+' to parent make rule. This is because the build system is
	  trying to build each of the libraries in pjproject in parallel.
	  Now the build will build pjproject in a single job and link the
	  results into res_asterisk_rtp. Parallel builds, on one test
	  system, saves ~1.5 minutes from a default Asterisk build: Single
	  job: $ git clean -fdx >/dev/null && time ( ./configure >/dev/null
	  2>&1 && make >/dev/null 2>&1 ) real 2m34.529s user 1m41.810s sys
	  0m15.970s Parallel make: $ git clean -fdx >/dev/null && time (
	  ./configure >/dev/null 2>&1 && make -j10 >/dev/null 2>&1 ) real
	  1m2.353s user 2m39.120s sys 0m18.850s (closes issue
	  ASTERISK-20362) Reported by: Shaun Ruffel Patches:
	  0001-res_asterisk_rtp-Fix-build-error-when-using-parallel.patch
	  uploaded by Shaun Ruffel (License #5417) ........ Merged
	  revisions 372609 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-07 02:27 +0000 [r372538-372584]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_minivm.c: Free ast_str objects when temp file fails
	  to be created in MiniVM The previous commit (r372554) was from a
	  patch that was written before r366880, which ensured that ast_str
	  objects allocated in the sendmail routine were free'd in off
	  nominal paths. This commit frees the string objects in the off
	  nominal path introduced in r372554. (issue ASTERISK-17133)
	  Reported by: Tzafrir Cohen ........ Merged revisions 372581 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372582 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372583 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_minivm.c: Fix file descriptor leak and pointer scope
	  issue in MiniVM when sending mail When MiniVM sends an e-mail and
	  it has the volgain option set, it will spawn sox in a separate
	  process to handle the manipulation of the sound file. In doing
	  so, it creates a temporary file. There are two problems here: 1)
	  The file descriptor returned from mkstemp is leaked 2) The
	  finalfilename character pointer points to a buffer that loses
	  scope once volgain processing is finished. Note that in r316265,
	  Russell fixed some gcc warnings by using the return value of the
	  mkstemp call. A warning was placed in minivm that the file
	  descriptor was going to be leaked. This patch reverts that
	  change, as it handles the leak and 'uses' the file descriptor
	  returned from mkstemp. (closes issue ASTERISK-17133) Reported by:
	  Tzafrir Cohen patches: minivm_18501_demo.diff uploaded by Tzafrir
	  Cohen (license #5035) ........ Merged revisions 372554 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372555 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372556 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_queue.c: Update QueueMemberStatus event documentation
	  to include member status values The Status: header in a
	  QueueMemberStatus event (and other QueueMember* events) is the
	  numeric value of the device state corresponding to that Queue
	  Member. As those values are not exactly obvious, listing them in
	  the documentation is useful. Matt Riddell reported this
	  indirectly through the wiki page. (closes issue ASTERISK-20243)
	  Reported by: Matt Riddell ........ Merged revisions 372531 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-06 22:14 +0000 [r372524]  Richard Mudgett <rmudgett@digium.com>

	* channels/sig_pri.c, /: Fix loss of MOH on an ISDN channel when
	  parking a call for the second time. Using the AMI redirect action
	  to take an ISDN call out of a parking lot causes the MOH state to
	  get confused. The redirect action does not take the call off of
	  hold. When the call is subsequently parked again, the call no
	  longer hears MOH. * Make chan_dahdi/sig_pri restart MOH on
	  repeated AST_CONTROL_HOLD frames if it is already in a state
	  where it is supposed to be sending MOH. The MOH may have been
	  stopped by other means. (Such as killing the generator.) This
	  simple fix is done rather than making the AMI redirect action
	  post an AST_CONTROL_UNHOLD unconditionally when it redirects a
	  channel and thus potentially breaking something with an
	  unexpected AST_CONTROL_UNHOLD. (closes issue ABE-2873) Patches:
	  jira_abe_2873_c.3_bier.patch (license #5621) patch uploaded by
	  rmudgett ........ Merged revisions 372521 from
	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
	  ........ Merged revisions 372522 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372523 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-06 21:43 +0000 [r372520]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_queue.c: Ensure listed queues are not offered for
	  completion When using tab-completion for the list of queues on
	  "queue reset stats" or "queue reload
	  {all|members|parameters|rules}", the tab-completion listing for
	  further queues erroneously listed queues that had already been
	  added to the list. The tab-completion listing now only displays
	  queues that are not already in the list. (closes issue AST-963)
	  Reported-by: John Bigelow ........ Merged revisions 372517 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372518 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372519 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-06 15:57 +0000 [r372474]  Jonathan Rose <jrose@digium.com>

	* /, UPGRADE-1.8.txt: chan_sip: Note change in behavior to how
	  directmediapermit/deny ACL works r366547 introduced a change to
	  the directmedia ACL for chan_sip which modified the behavior
	  significantly. Prior to the patch, this option would bridge peers
	  with directmedia if a peer's IP address matched its own
	  directmedia ACL. After that patch, the peer would check the
	  bridged peer's ACL instead. This change has been present since
	  1.8.14.0. That patched failed to document the change in
	  Upgrade.txt, so this patch adds mention of that change to
	  UPGRADE.txt (UPGRADE-1.8.txt in newer branches) (issue AST-876)
	  ........ Merged revisions 372471 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372472 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372473 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-06 14:31 +0000 [r372447]  Kinsey Moore <kmoore@digium.com>

	* /, apps/app_queue.c: Ensure "rules" is tab-completable for "queue
	  show" Previously, tabbing at the end of "queue show" produced a
	  list of available queues about which information could be shown,
	  but did not include an alternative command, "rules", to access
	  information about queue rules. The "rules" item should now be
	  shown in the list of tab-completable items. (closes issue
	  AST-958) Reported-by: John Bigelow ........ Merged revisions
	  372444 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 372445 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372446 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-06 02:52 +0000 [r372393-372420]  Matthew Jordan <mjordan@digium.com>

	* /, pbx/pbx_dundi.c: Fix DUNDi message routing bug when
	  neighboring peer is unreachable Consider a scenario where DUNDi
	  peer PBX1 has two peers that are its neighbors, PBX2 and PBX3,
	  and where PBX2 and PBX3 are also neighbors. If the connection is
	  temporarily broken between PBX1 and PBX3, PBX1 should not include
	  PBX3 in the list of peers it sends to PBX2 in a DPDISCOVER
	  message, as it cannot send messages to PBX3. If it does, PBX2
	  will assume that PBX3 already received the message and fail to
	  forward the message on to PBX3 itself. This patch fixes this by
	  only including peers in a DPDISCOVER message that are reachable
	  by the sending node. This includes all peers with an empty
	  address (00:00:00:00:00:00) and that are have been reached by a
	  qualify message. This patch also prevents attempting to qualify a
	  dynamic peer with an empty address until that peer registers. The
	  patch uploaded by Peter was modified slightly for this commit.
	  (closes issue ASTERISK-19309) Reported by: Peter Racz patches:
	  dundi_routing.patch uploaded by Peter Racz (license 6290)
	  ........ Merged revisions 372417 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372418 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372419 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_followme.c: Allow configured numbers for FollowMe to
	  be greater than 90 characters When parsing a 'number' defined in
	  followme.conf, FollowMe previously parsed the number in the
	  configuration file into a buffer with a length of 90 characters.
	  This can artificially limit some parallel dial scenarios. This
	  patch allows for numbers of any length to be defined in the
	  configuration file. Note that Clod Patry originally wrote a patch
	  to fix this problem and received a Ship It! on the JIRA issue.
	  The patch originally expanded the buffer to 256 characters.
	  Instead, the patch being committed duplicates the string in the
	  config file on the stack before parsing it for consumption by the
	  application. (closes issue ASTERISK-16879) Reported by: Clod
	  Patry Tested by: mjordan patches: followme_no_limit.diff uploaded
	  by Clod Patry (license #5138) Slightly modified for this commit.
	  ........ Merged revisions 372390 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372391 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372392 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-05 19:44 +0000 [r372374]  Richard Mudgett <rmudgett@digium.com>

	* /: Recorded merge of revisions 372373 from
	  http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix
	  compile error. ........ Merged revisions 372372 from
	  http://svn.asterisk.org/svn/asterisk/branches/10

2012-09-05 19:26 +0000 [r372344-372371]  Kinsey Moore <kmoore@digium.com>

	* main/manager.c, /: Correct documentation for ModuleLoad AMI
	  action The documentation incorrectly listed 'rtp' as a reloadable
	  subsystem and left out many other reloadable subsystems. It is
	  now also documented that subsystems may only be reloaded, not
	  loaded or unloaded. (closes issue AST-977) Reported-by: John
	  Bigelow ........ Merged revisions 372354 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372358 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372365 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/pbx.c, /: Ensure counts generated in
	  manager_show_dialplan_helper are correct When
	  manager_show_dialplan_helper was written, the counter increment
	  for the total number of contexts was placed with the extensions
	  increment instead of in the enclosing loop. This function should
	  now generate correct context counts. (closes issue AST-970)
	  Reported-by: John Bigelow ........ Merged revisions 372337 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372338 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372340 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-05 18:56 +0000 [r372343]  Alec L Davis <sivad.a@paradise.net.nz>

	* /, main/dsp.c: dsp.c: in ast_mf_detect_init incorrectly sets
	  goertzel samples to 160, should be MF_GSIZE Remove unused
	  goertzel_state_t member 'samples'. Related
	  https://reviewboard.asterisk.org/r/2097/

2012-09-05 17:38 +0000 [r372329]  Richard Mudgett <rmudgett@digium.com>

	* res/res_rtp_asterisk.c, /: Multiple revisions 372327-372328
	  ........ r372327 | rmudgett | 2012-09-05 12:33:11 -0500 (Wed, 05
	  Sep 2012) | 15 lines Fix RTP/RTCP read error message confusion.
	  The RTP/RTCP read error message can report "fail: success" when
	  the read failure is because of an ICE failure. * Changed
	  __rtp_recvfrom() to generate a PJ ICE message when ICE fails. *
	  Changed RTP/RTCP read error message to indicate an unspecified
	  error when errno is zero. (closes issue ASTERISK-20288) Reported
	  by: Joern Krebs Patches: jira_asterisk_20288_err_msg.patch
	  (license #5621) patch uploaded by rmudgett (modified) ........
	  r372328 | rmudgett | 2012-09-05 12:35:20 -0500 (Wed, 05 Sep 2012)
	  | 1 line Fix coding guidelines issue with a recent commit.
	  ........ Merged revisions 372327-372328 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-05 16:24 +0000 [r372310-372319]  Mark Michelson <mmichelson@digium.com>

	* main/rtp_engine.c, /, include/asterisk/rtp_engine.h,
	  res/res_rtp_asterisk.c: Re-fix sending unnegotiated payloads
	  during a P2P RTP bridge. The previous fix still would look in the
	  static_RTP_PT table, which is inappropriate since we specifically
	  want to find a codec that has been negotiated. (closes issue
	  ASTERISK-20296) reported by NITESH BANSAL Patches:
	  codec_negotiation.patch Uploaded by NITESH BANSAL (License #6418)
	  ........ Merged revisions 372311 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/app_alarmreceiver.c: Add fixes and cleanup to
	  app_alarmreceiver. This work comes courtesy of Pedro Kiefer
	  (License #6407) The work was posted to review board by Kaloyan
	  Kovachev (License #5506) (closes issue ASTERISK-16668) Reported
	  by Grant Crawshay (closes issue ASTERISK-16694) Reported by Fred
	  van Lieshout (closes issue ASTERISK-18417) Reported by Kostas
	  Liakakis (closes issue ASTERISK-19435) Reported by Deon George
	  (closes issue ASTERISK-20157) Reported by Pedro Kiefer (closes
	  issue ASTERISK-20158) Reported by Pedro Kiefer (closes issue
	  ASTERISK-20224) Reported by Pedro Kiefer Review:
	  https://reviewboard.asterisk.org/r/2075

2012-09-05 14:44 +0000 [r372302]  Matthew Jordan <mjordan@digium.com>

	* /, apps/app_voicemail.c: Fix memory leaks in app_voicemail when
	  using IMAP storage or realtime config This patch fixes two memory
	  leaks: 1. When find_user is called with NULL as its first
	  parameter, the voicemail user returned is allocated on the heap.
	  The inboxcount2 function uses find_user in such a fashion when
	  counting new messages, and fails to free the resulting voicemail
	  user object. 2. When populate_defaults is called on a voicemail
	  user, it wipes whatever flags have been set on the object by
	  copying over the global flags object. If the VM_ALLOCED flag was
	  ste on the voicemail user prior to doing so, that flag is
	  removed. This leaks the voicemail user when free_user is later
	  called. (closes issue ASTERISK-19155) Reported by: Filip Jenicek
	  patches: asterisk.patch2 uploaded by Filip Jenicek (license 6277)
	  Patch slightly modified for this commit. Review:
	  https://reviewboard.asterisk.org/r/2096 ........ Merged revisions
	  372268 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 372288 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372289 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-05 14:12 +0000 [r372290]  Darren Sessions <dmsessions@gmail.com>

	* channels/chan_sip.c, configs/res_ldap.conf.sample: LDAP Realtime
	  Peers Cannot Register Prior to 1.8, it was not necessary for an
	  explicit "type" to be set for an asterisk LDAP realtime peer. Now
	  the routine find_peer actually checks the type field during
	  registration and fails to find the peer if it is not set. The
	  attached patch makes the realtime type equal whatever type is
	  being searched for if the type is 0 upon return from routine
	  build_peer. (closes issue ASTERISK-17222) Reported by: John
	  Covert Patch by: David Vossel Tested by: Darren Sessions Review:
	  https://reviewboard.asterisk.org/r/2095/

2012-09-05 12:18 +0000 [r372267]  Michael L. Young <elgueromexicano@gmail.com>

	* res/res_rtp_asterisk.c, /: Fix breakage caused by last merge.
	  Missing a variable for 11 and trunk. ........ Merged revisions
	  372266 from http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-05 07:43 +0000 [r372215-372242]  Alec L Davis <sivad.a@paradise.net.nz>

	* main/dsp.c, /: dsp.c: Fix multiple issues when no-interdigit
	  delay is present, and fast DTMF 50ms/50ms Revert DTMF hit/miss
	  detector to original -r349249 method with some changes, remove
	  unnecessary; 1. reseting of hits=0, when no signal, only need to
	  set it once. 2. incrementing of hits, when the hit is the same as
	  the current hit. 3. setting of lasthit, when it's the same as
	  before. Change HITS_TO_BEGIN to 2, MISSES_TO_END to 3 & 3
	  spelling mistakes (closes issue ASTERISK-19610) alecdavis
	  (license 585) Reported by: Jean-Philippe Lord Tested by:
	  alecdavis Review: https://reviewboard.asterisk.org/r/2085/
	  ........ Merged revisions 372239 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372240 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372241 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/dsp.c: dsp.c: optimize goerztzel sample loops, in
	  dtmf_detect, mf_detect and tone_detect use a temporary short int
	  when repeatedly used to call goertzel_sample. alecdavis (license
	  585) Reported by: alecdavis Tested by: alecdavis Review:
	  https://reviewboard.asterisk.org/r/2093/ ........ Merged
	  revisions 372212 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372213 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372214 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-05 04:55 +0000 [r372200]  Michael L. Young <elgueromexicano@gmail.com>

	* res/res_rtp_asterisk.c, /: Fix Incrementing Sequence Number For
	  Retransmitted DTMF End Packets In Asterisk 1.4+, a fix was put in
	  place to increment the sequence number for retransmitted DTMF end
	  packets. With the introduction of the RTP engine API in 1.8, the
	  sequence number was no longer being incremented. This patch fixes
	  this regression as well as cleans up a few lines that were not
	  doing anything. (closes issue ASTERISK-20295) Reported by: Nitesh
	  Bansal Tested by: Michael L. Young Patches:
	  01_rtp_event_seq_num.patch uploaded by Nitesh Bansal (license
	  6418) asterisk-20295-dtmf-fix-cleanup.diff uploaded by Michael L.
	  Young (license 5026) Review:
	  https://reviewboard.asterisk.org/r/2083/ ........ Merged
	  revisions 372185 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372198 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372199 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-05 02:26 +0000 [r372176]  Matthew Jordan <mjordan@digium.com>

	* cel/cel_pgsql.c, /: Fix memory leak when CEL is successfully
	  written to PostgreSQL database PQClear is not called when the
	  result object of a call to PQExec has a status of
	  PGRES_COMMAND_OK. Interestingly enough, the off nominal case was
	  handled properly, so this memory leak only occurred when CEL
	  records were successfully written. This patch properly clears the
	  result in the nominal code path. (closes issue ASTERISK-19991)
	  Reported by: Etienne Lessard Tested by: Etienne Lessard patches:
	  mem_leak_cel_pgsql.patch uploaded by Etienne Lessard (license
	  #6394) ........ Merged revisions 372158 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372165 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372175 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-09-04 19:30 +0000 [r372148-372149]  Jonathan Rose <jrose@digium.com>

	* UPGRADE.txt: app_queue: PAUSEALL/UNPAUSEALL logged only if
	  interface is a queue member Adding UPGRADE.txt entry for r372148
	  (issue AST-946) Reported by: John Bigelow

	* CHANGES, apps/app_queue.c: app_queue: Only log
	  PAUSEALL/UNPAUSEALL when 1+ memebers changed. Prior to this
	  patch, if pause or unpause was issued on an interface without
	  specifying a specific queue, a PAUSEALL or UNPAUSEALL event would
	  be logged in the queue log even if that interface wasn't a member
	  of any queues. This patch changes it so that these events are
	  only logged when at least one member of any queue exists for that
	  interface. (closes issue AST-946) Reported by: John Bigelow
	  Review: https://reviewboard.asterisk.org/r/2079/

2012-09-04 15:50 +0000 [r372136-372138]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Fix issue where SIP devices were not
	  notified when custom devices changed to "ringing". The problem
	  had to do with logic used when checking for what the oldest
	  ringing channel was. The problem was that if no channel was
	  found, then no notification would be sent. For custom device
	  states, there is no associated channel, so no notification would
	  get sent. This fixes the issue by still sending the notification
	  even if no associated channel can be found for a ringing device
	  state change. (closes issue ASTERISK-20297) Reported by Noah
	  Engelberth ........ Merged revisions 372137 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* apps/app_confbridge.c, /, main/config_options.c: Prevent crash
	  from using app_page with no confbridge.conf file provided. Also
	  prevents other potential crashes when using aco API with
	  uninitialized aco_info structs. (closes issue ASTERISK-20305)
	  reported by Noah Engelberth Tested by Noah Engelberth Review:
	  https://reviewboard.asterisk.org/r/2086 ........ Merged revisions
	  372135 from http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-31 21:15 +0000 [r372119]  Mark Michelson <mmichelson@digium.com>

	* res/res_rtp_asterisk.c, /: Prevent local RTP bridges from sending
	  inappropriate formats to participants. A change for Asterisk 11
	  caused a check for failure to incorrectly check the return value.
	  This resulted in the possibility of transmitting media that a
	  party had not negotiated. If this media happened to be G.729,
	  then this could potentially result in one-way audio if no G.729
	  translators are installed. (closes issue ASTERISK-20296) reported
	  by NITESH BANSAL ........ Merged revisions 372118 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-30 20:54 +0000 [r372051-372092]  Mark Michelson <mmichelson@digium.com>

	* apps/app_queue.c, /: Prevent crash on shutdown due to refcount
	  error on queues container. When app_queue is unloaded, the queues
	  container has its refcount decremented, potentially to 0. Then
	  the taskprocessor responsible for handling device state changes
	  is unreferenced. If the taskprocessor happens to be just about to
	  run its task, then it will create and destroy an iterator on the
	  queues container. This can cause the refcount on the queues
	  container to increase to 1 and then back to 0. Going back to 0 a
	  second time results in double frees. This failure was seen
	  periodically in the testsuite when Asterisk would shut down.
	  ........ Merged revisions 372089 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 372090 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372091 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, apps/app_queue.c: Help prevent ringing queue members from
	  being rung when ringinuse set to no. Queue member status would
	  not always get updated properly when the member was called, thus
	  resulting in the member getting multiple calls. With this change,
	  we update the member's status at the time of calling, and we also
	  check to make sure the member is still available to take the call
	  before placing an outbound call. (closes issue ASTERISK-16115)
	  reported by nik600 Patches: app_queue.c-svn-r370418.patch
	  uploaded by Italo Rossi (license #6409) ........ Merged revisions
	  372048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 372049 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372050 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-30 16:25 +0000 [r371964-372029]  Matthew Jordan <mjordan@digium.com>

	* channels/chan_iax2.c, /: AST-2012-013: Resolve ACL rules being
	  ignored during calls by some IAX2 peers When an IAX2 call is made
	  using the credentials of a peer defined in a dynamic Asterisk
	  Realtime Architecture (ARA) backend, the ACL rules for that peer
	  are not applied to the call attempt. This allows for a remote
	  attacker who is aware of a peer's credentials to bypass the ACL
	  rules set for that peer. This patch ensures that the ACLs are
	  applied for all peers, regardless of their storage mechanism.
	  (closes issue ASTERISK-20186) Reported by: Alan Frisch Tested by:
	  mjordan, Alan Frisch ........ Merged revisions 372028 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/manager.c, /, README-SERIOUSLY.bestpractices.txt:
	  AST-2012-012: Resolve AMI User Unauthorized Shell Access through
	  ExternalIVR The AMI Originate action can allow a remote user to
	  specify information that can be used to execute shell commands on
	  the system hosting Asterisk. This can result in an unwanted
	  escalation of permissions, as the Originate action, which
	  requires the "originate" class authorization, can be used to
	  perform actions that would typically require the "system" class
	  authorization. Previous attempts to prevent this permission
	  escalation (AST-2011-006, AST-2012-004) have sought to do so by
	  inspecting the names of applications and functions passed in with
	  the Originate action and, if those applications/functions matched
	  a predefined set of values, rejecting the command if the user
	  lacked the "system" class authorization. As noted by IBM X-Force
	  Research, the "ExternalIVR" application is not listed in the
	  predefined set of values. The solution for this particular
	  vulnerability is to include the "ExternalIVR" application in the
	  set of defined applications/functions that require "system" class
	  authorization. Unfortunately, the approach of inspecting fields
	  in the Originate action against known applications/functions has
	  a significant flaw. The predefined set of values can be bypassed
	  by creative use of the Originate action or by certain dialplan
	  configurations, which is beyond the ability of Asterisk to
	  analyze at run-time. Attempting to work around these scenarios
	  would result in severely restricting the applications or
	  functions and prevent their usage for legitimate means. As such,
	  any additional security vulnerabilities, where an
	  application/function that would normally require the "system"
	  class authorization can be executed by users with the "originate"
	  class authorization, will not be addressed. Instead, the
	  README-SERIOUSLY.bestpractices.txt file has been updated to
	  reflect that the AMI Originate action can result in commands
	  requiring the "system" class authorization to be executed. Proper
	  system configuration can limit the impact of such scenarios.
	  (closes issue ASTERISK-20132) Reported by: Zubair Ashraf of IBM
	  X-Force Research ........ Merged revisions 371998 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371999 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 372000 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* include/asterisk/bridging.h, include/asterisk/datastore.h,
	  main/file.c, include/asterisk/strings.h, include/asterisk/pbx.h,
	  channels/sip/include/srtp.h, main/audiohook.c,
	  include/asterisk/translate.h, main/cdr.c, main/channel.c,
	  include/asterisk/crypto.h, include/asterisk/config_options.h,
	  include/asterisk/bridging_technology.h,
	  include/asterisk/audiohook.h,
	  apps/confbridge/include/confbridge.h, include/asterisk/format.h,
	  include/asterisk/netsock2.h, include/asterisk/rtp_engine.h,
	  include/asterisk/ccss.h, main/pbx.c, include/asterisk/utils.h,
	  channels/sip/srtp.c, channels/chan_sip.c,
	  include/asterisk/format_pref.h, include/asterisk/astobj2.h,
	  include/asterisk/presencestate.h, channels/chan_agent.c,
	  include/asterisk/config.h, pbx/pbx_lua.c,
	  formats/format_ogg_vorbis.c, include/asterisk/channel.h,
	  main/named_acl.c, codecs/speex/speex_resampler.h,
	  include/asterisk/manager.h, include/asterisk/format_cap.h,
	  include/asterisk/framehook.h, include/asterisk/heap.h,
	  channels/sig_pri.h, Makefile, include/asterisk/message.h: Clean
	  up doxygen warnings This patch fixes numerous doxygen warnings
	  across Asterisk. It also updates the makefile to regenerate the
	  doxygen configuration on the local system before running doxygen
	  to help prevent warnings/errors on the local system. Much thanks
	  to Andrew for tackling one of the Asterisk janitor projects!
	  (issue ASTERISK-20259) Reported by: Andrew Latham Patches:
	  doxygen_partial.diff uploaded by Andrew Latham (license 5985)
	  make_progdocs.diff uploaded by Andrew Latham (license 5985)

	* doc/CODING-GUIDELINES (added), /: Restore CODING-GUIDELINES to
	  doc folder In r294740, the CODING-GUIDELINES was removed from the
	  doc folder in favor of the content on the Asterisk wiki. Some
	  folks still look in the doc folder initially for coding guideline
	  suggestions; as such, this patch adds a CODING-GUIDELINES file
	  back into the doc folder. The content of the file merely points
	  to the correct page on the Asterisk wiki where the coding
	  guidelines currently live. (closes issue ASTERISK-20279) Reported
	  by: Andrew Latham Patches: CODING-GUIDELINES.diff uploaded by
	  Andrew Latham (license 5985) ........ Merged revisions 371961
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 371962 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371963 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-29 22:48 +0000 [r371951-371952]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/md5.h: Ensure alignment of in[] field in
	  MD5Context struct. The struct MD5Context character buffer is cast
	  to an int32_t* without making sure that said buffer is aligned.
	  Since the buffer follows two uint32_t's, the chance of 'in' being
	  (32 bits) unaligned is nil in practice. But adding code to ensure
	  that 'in' stays aligned costs nothing and removes all doubts
	  about the casts being safe. (closes issue ASTERISK-20241)
	  Reported by: Walter Doekes Patches: tmp.diff (license #5674)
	  patch uploaded by Walter Doekes

	* /, apps/app_meetme.c: Fix compile errors. ........ Merged
	  revisions 371950 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-29 21:15 +0000 [r371922]  Jonathan Rose <jrose@digium.com>

	* /, apps/app_meetme.c: app_meetme: Adding test events for
	  following activity in MeetMe. ........ Merged revisions 371919
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 371920 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371921 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-29 19:57 +0000 [r371892-371894]  Richard Mudgett <rmudgett@digium.com>

	* main/channel.c, /: Fix theoretical compile error with HAVE_EPOLL.
	  Really shows how much epoll is used since it had not been
	  reported yet. ........ Merged revisions 371893 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/channel.c, /: Initialize file descriptors for dummy channels
	  to -1. Dummy channels usually aren't read from, but functions
	  like SHELL and CURL use autoservice on the channel. (closes issue
	  ASTERISK-20283) Reported by: Gareth Palmer Patches:
	  svn-371580.patch (license #5169) patch uploaded by Gareth Palmer
	  (modified) ........ Merged revisions 371888 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371890 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371891 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-29 19:38 +0000 [r371889]  Jonathan Rose <jrose@digium.com>

	* channels/chan_sip.c, UPGRADE.txt: chan_sip: Change manager event
	  to confirm SIPqualifypeer into an ack Matt Jordan informed me
	  that it was more appropriate to use an astman_send_ack here
	  instead of making an event response. I've also used this
	  opportunity to update UPGRADE.txt to mention this change in
	  behavior. (issue AST-969) Reported by: John Bigelow

2012-08-29 18:40 +0000 [r371863]  Richard Mudgett <rmudgett@digium.com>

	* apps/app_dial.c, /: Fix hangup cause passthrough regression. The
	  v1.8 -r369258 change to fix the F and F(x) action logic
	  introduced a regression in passing the hangup cause from the
	  called channel to the caller channel. (closes issue
	  ASTERISK-20287) Reported by: Konstantin Suvorov Patches:
	  app_dial_hangupcause.patch (license #6421) patch uploaded by
	  Konstantin Suvorov (modified) Tested by: rmudgett ........ Merged
	  revisions 371860 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371861 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371862 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-29 17:35 +0000 [r371823-371851]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c: chan_sip: Send 408 on retransmit timeout
	  instead of 603 (closes issue ASTERISK-20124) Reported by: Walter
	  Doekes ........ Merged revisions 371824 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371825 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371845 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_sip.c: chan_sip: Send a manager event to confirm
	  SIPqualifypeer completes Prior to this patch, Issuing
	  SIPqualifypeer either resulted in an error or if it succeeded, a
	  few \r\ns. This patch adds a SIPqualifypeerComplete event issued
	  as a response when the command is successfully executed. (closes
	  issue AST-969) Reported by: John Bigelow

2012-08-27 21:51 +0000 [r371785-371791]  Mark Michelson <mmichelson@digium.com>

	* configs/agents.conf.sample, /: Fix misleading documentation in
	  agents.conf.sample regarding ackcall usage. The documentation
	  made it sound as if the DTMF acknowledgment was needed at the
	  time the agent logs in, rather than when the agent is called.
	  This is likely a relic from the days when there were multiple
	  ways of logging in agents. (closes issue AST-962) reported by
	  Steve Pitts ........ Merged revisions 371787 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371789 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371790 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/manager.c, /: Fix incorrect documentation of the
	  MailboxStatus manager command. The "Waiting" field was
	  misdocumented as reporting the number of messages waiting. In
	  reality, it simply indicated the presence or absence of waiting
	  messages. ........ Merged revisions 371782 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371783 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371784 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-27 18:16 +0000 [r371754]  David M. Lee <dlee@digium.com>

	* res/pjproject/pjlib-util/bin, res/pjproject/pjnath/build/output,
	  /, res/pjproject/pjlib/bin,
	  res/pjproject/pjlib-util/build/output, res/pjproject/pjnath/bin,
	  res/pjproject/pjlib/build/output: svn:ignore pjproject bin &
	  output for all platforms. ........ Merged revisions 371753 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-27 17:52 +0000 [r371751]  Mark Michelson <mmichelson@digium.com>

	* /, configs/queues.conf.sample: Fix incorrectly documented option
	  in queues.conf sharedlastcall defaults to "no" not "yes" (closes
	  issue AST-979) reported by Steve Pitts ........ Merged revisions
	  371747 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 371748 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371750 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-27 16:56 +0000 [r371721]  David M. Lee <dlee@digium.com>

	* main/lock.c, /: Fixes ast_rwlock_timed[rd|wr]lock for BSD and
	  variants. The original implementations simply wrap pthread
	  functions, which take absolute time as an argument. The spinlock
	  version for systems without those functions treated the argument
	  as a delta. This patch fixes the spinlock version to be
	  consistent with the pthread version. (closes issue
	  ASTERISK-20240) Reported by: Egor Gorlin Patches: lock.c.patch
	  uploaded by Egor Gorlin (license 6416) ........ Merged revisions
	  371718 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 371720 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-27 14:13 +0000 [r371693]  Kinsey Moore <kmoore@digium.com>

	* /, main/utils.c: Implement workaround for BETTER_BACKTRACES crash
	  When compiling with BETTER_BACKTRACES enabled, Asterisk will
	  sometimes crash when "core show locks" is run. This happens
	  regularly in the testsuite since several tests run "core show
	  locks" to help with debugging. This seems to be a fault with
	  libraries on certain operating systems (notably CentOS 6.2/6.3)
	  running on virtual machines and utilizing gcc 4.4.6. (closes
	  issue ASTERISK-20090) ........ Merged revisions 371690 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371691 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371692 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-26 23:10 +0000 [r371665]  Alec L Davis <sivad.a@paradise.net.nz>

	* /, main/dsp.c: mf_detect: incorrectly used DTMF_GSIZE instead of
	  MF_GSIZE ........ Merged revisions 371662 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371663 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371664 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-23 04:12 +0000 [r371633]  Mark Michelson <mmichelson@digium.com>

	* tests/test_scoped_lock.c (added): I forgot to add the unit tests
	  for scoped locks earlier today.

2012-08-22 15:55 +0000 [r371620]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_motif.c: Add support for call-id logging to
	  chan_motif. Review: https://reviewboard.asterisk.org/r/2077/
	  ........ Merged revisions 371619 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-21 21:01 +0000 [r371572-371593]  Mark Michelson <mmichelson@digium.com>

	* cdr/cdr_tds.c, main/xmldoc.c, apps/app_dial.c,
	  channels/chan_dahdi.c, /, channels/chan_sip.c, funcs/func_odbc.c,
	  main/file.c, main/utils.c, apps/app_queue.c, pbx/pbx_config.c,
	  res/res_jabber.c, apps/app_stack.c, channels/chan_oss.c,
	  res/res_config_sqlite.c: Fix misuses of asprintf throughout the
	  code. This fixes three main issues * Change asprintf() uses to
	  ast_asprintf() so that it pairs properly with ast_free() and no
	  longer causes MALLOC_DEBUG to freak out. * When ast_asprintf()
	  fails, set the pointer NULL if it will be referenced later. * Fix
	  some memory leaks that were spotted while taking care of the
	  first two points. (Closes issue ASTERISK-20135) reported by
	  Richard Mudgett Review: https://reviewboard.asterisk.org/r/2071
	  ........ Merged revisions 371590 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371591 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371592 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/config.c, include/asterisk/lock.h: Add scoped locks to
	  Asterisk. With the SCOPED_LOCK macro, you can create a variable
	  that locks a specific lock and unlocks the lock when the variable
	  goes out of scope. This is useful for situations where many
	  breaks, continues, returns, or other interruptions would require
	  separate unlock statements. With a scoped lock, these aren't
	  necessary. There are specializations for mutexes, read locks,
	  write locks, ao2 locks, ao2 read locks, ao2 write locks, and
	  channel locks. Each of these is a SCOPED_LOCK at heart though.
	  Review: https://reviewboard.asterisk.org/r/2060

	* /, res/res_rtp_asterisk.c: Use thread-local storage to store
	  pj_thread_descs. pj_thread_register() takes a parameter of type
	  pj_thread_desc. It was assumed that pj_thread_register either
	  used this item temporarily or made a copy of it. Unfortunately,
	  all it does is keep a pointer to the structure in thread-local
	  storage. This means that if our pj_thread_desc goes out of scope,
	  then pjlib will be referencing bogus data quite often, most
	  commonly on operations involving a pj_mutex_t. In our case, our
	  pj_thread_desc was on the stack and went out of scope very
	  shortly after registering our thread with pjlib. With this
	  change, the pj_thread_desc is stored in thread-local storage so
	  the pointer that pjlib keeps in thread-local storage will
	  reference legitimate memory. (closes issue ASTERISK-20237)
	  reported by Jeremy Pepper Patches: ASTERISK-20237.patch uploaded
	  by Mark Michelson (license #5049) Tested by Jeremy Pepper
	  ........ Merged revisions 371571 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-20 15:39 +0000 [r371535-371547]  Kinsey Moore <kmoore@digium.com>

	* main/udptl.c, /: Ignore recovered zero-length secondary UDPTL
	  packets In some cases, recovering lost packets using the
	  secondary packet recovery mechanism with UDPTL/T.38 can result in
	  the recovery of zero-length packets. These must be ignored or the
	  frame generated from them can cause segfaults and allocation
	  failures. (closes issue ASTERISK-19762) (closes issue
	  ASTERISK-19373) Reported-by: Benjamin (bulkorok) Reported-by: Rob
	  Gagnon (rgagnon) ........ Merged revisions 371544 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371545 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371546 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* main/utils.c: Fix for commit r371535

	* main/utils.c: Apply work-around for BETTER_BACKTRACES crash When
	  compiling with BETTER_BACKTRACES enabled, Asterisk will sometimes
	  crash when "core show locks" is run. This happens regularly in
	  the testsuite since several tests run "core show locks" to help
	  with debugging. This seems to be a fault with libraries on
	  certain operating systems (notably CentOS 6.2/6.3) running on
	  virtual machines and utilizing gcc 4.4.6. (issue ASTERISK-20090)

2012-08-18 02:09 +0000 [r371493-371521]  Matthew Jordan <mjordan@digium.com>

	* main/http.c, /: Remove old debug code from http configuration
	  loading (closes issue ASTERISK-20254) Reported by: Andrew Latham
	  Patches: http.diff uploaded by Andrew Latham (license #5985)
	  ........ Merged revisions 371520 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* res/res_xmpp.c, /: Fix typo in JabberSend that looked for '2'
	  instead of '@' in recipient argument The summary says about all
	  there is to say. (closes issue ASTERISK-20239) Reported by:
	  Gregory Porras ........ Merged revisions 371518 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* funcs/func_hangupcause.c, /: Make the name of the
	  "HangupCauseClear" application consistent The name of the
	  "HangupCauseClear" application is "HangupCauseClear", not
	  "HangupcauseClear". The incorrect case of 'cause' caused the XML
	  documentation to not register properly. As an aside, this commit
	  message felt very awkward, but I'm not sure how else to note that
	  "X", which has to be "X", was referred to as "x". (closes issue
	  ASTERISK-20253) Reported by: Andrew Latham Patches:
	  hangupcause.diff uploaded by Andrew Latham (license #5985)
	  ........ Merged revisions 371516 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* sounds/sounds.xml, res/res_curl.c, build_tools/cflags.xml,
	  utils/utils.xml, /, res/res_fax.c: Update module support level on
	  a variety of modules and compiler options Some core support
	  modules and compiler options were no longer tagged with a module
	  support level. This patch adds 'core' back to those options. Note
	  that this patch modifies a few of the patches provided by Andrew
	  Latham slightly. res_curl and res_fax are both 'core' supported
	  modules. (closes issue ASTERISK-20215) Reported by: Andrew Latham
	  Tested by: mjordan Patches: astcanary.diff (license #5985)
	  uploaded by Andrew Latham cflagsxml.diff (license #5985) uploaded
	  by Andrew Latham curl_fax.diff (license #5985) uploaded by Andrew
	  Latham soundsxml.diff (license #5985) uploaded by Andrew Latham
	  ........ Merged revisions 371507 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, main/xmldoc.c: Fix memory leak in XML documentation When
	  formatting documentation fields, the XML documentation parser
	  calls xmldoc_get_formatted. This function allocates a string
	  buffer at the beginning of its routine. Unfortunately, on certain
	  code paths, it also calls xmldoc_string_cleanup, which assumes
	  that it will create the string buffer. The previously allocated
	  string buffer is then leaked by the xmldoc_string_cleanup
	  routine. Now: we don't do that. (closes issue AST-932) Reported
	  by: Alexander Homig ........ Merged revisions 371469 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371491 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371492 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-17 19:50 +0000 [r371483]  Joshua Colp <jcolp@digium.com>

	* /, channels/chan_sip.c: When a peer registers using WebSocket do
	  not resolve the Contact provided. (closes issue ASTERISK-20238)
	  Reported by: james.mortensen ........ Merged revisions 371482
	  from http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-17 16:01 +0000 [r371439]  Kinsey Moore <kmoore@digium.com>

	* main/loader.c, /: Add instrumentation to subsystem reloads When
	  Asterisk is built with TEST_FRAMEWORK defined, Asterisk will now
	  generate TestEvent AMI events on subsystem reloads such as cdr,
	  dnsmgr, extconfig, etc. (issue PQ-1126) ........ Merged revisions
	  371436 from http://svn.asterisk.org/svn/asterisk/branches/1.8
	  ........ Merged revisions 371437 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371438 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-17 12:42 +0000 [r371428]  Russell Bryant <russell@russellbryant.com>

	* res/res_rtp_asterisk.c, /: rtp: Ensure defaults are set without
	  rtp.conf. While building up a new install to test chan_motif, I
	  ran into a failure due to icesupport being disabled. This was due
	  to me not having an rtp.conf. It was intended in the code for it
	  to be enabled by default, but it was only applied if rtp.conf
	  existed. This patch updates res_rtp_asterisk to be consistent in
	  how it handles defaults. A few options didn't have their default
	  values set globally, including icesupport. They are now set and
	  icesupport is enabled by default, even if you do not have an
	  rtp.conf. ........ Merged revisions 371425 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-17 12:25 +0000 [r371427]  Joshua Colp <jcolp@digium.com>

	* res/res_format_attr_h264.c, /: Add some additional H.264
	  attributes, "max-smbps" and "max-fps", for passthrough. (closes
	  issue ASTERISK-20206) Reported by: ddkprog Patches:
	  res_format_attr_h264.c.diff uploaded by ddkprog (license 6008)
	  ........ Merged revisions 371426 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-16 23:08 +0000 [r371400]  Terry Wilson <twilson@digium.com>

	* /, main/config.c: Handle integer over/under-flow in
	  ast_parse_args The strtol family of functions will return
	  *_MIN/*_MAX on overflow. To detect when an overflow has happened,
	  errno must be set to 0 before calling the function, then checked
	  afterward. (closes issue ASTERISK-20120) Reported by: Matt Jordan
	  Review: https://reviewboard.asterisk.org/r/2073/ ........ Merged
	  revisions 371392 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371398 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371399 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-16 22:45 +0000 [r371396]  Kinsey Moore <kmoore@digium.com>

	* /, main/loader.c: Add module reload instrumentation for
	  TEST_FRAMEWORK This adds AMI events for module reloads when
	  Asterisk is built with TEST_FRAMEWORK enabled and corrects
	  generation of the module load AMI event. (issue PQ-1126) ........
	  Merged revisions 371393 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371394 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371395 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-16 19:52 +0000 [r371356-371383]  Jonathan Rose <jrose@digium.com>

	* /, channels/chan_sip.c: chan_sip: Use pvt outgoing_call variable
	  to set Remote-Party-ID Header Previously the pvt SIP_OUTGOING
	  flag was used instead, which will frequently flip during
	  reinvites. (closes issue AST-897) Reported by: Thomas Arimont
	  ........ Merged revisions 371357 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371358 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371382 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* /, channels/chan_sip.c: chan_sip: Trigger reinvite if the SDP
	  answer is included in the SIP ACK Under certain conditions, a SIP
	  transaction involving directmedia wouldn't trigger a re-invite
	  because the SDP answer was included in an ACK instead of in a
	  message that we would have triggered the invite with. This patch
	  just queues a source change control frame if the dialog is using
	  directmedia when we find sdp for an ACK. (closes issue AST-913)
	  Reported by: Thomas Arimont ........ Merged revisions 371337 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371338 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371355 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-15 23:35 +0000 [r371325]  Mark Michelson <mmichelson@digium.com>

	* /, apps/app_queue.c: Fix bug where final queue member would not
	  be removed from memory. If a static queue had realtime members,
	  then there could be a potential for those realtime members not to
	  be properly deleted from memory. If the queue's members were
	  loaded from realtime and then all the members were deleted from
	  the backend, then the queue would still think these members
	  existed. The reason was that there was a short- circuit in code
	  such that if there were no members found in the backend, then the
	  queue would not be updated to reflect this. Note that this only
	  affected static queues with realtime members. Realtime queues
	  with realtime members were unaffected by this issue. (closes
	  issue ASTERISK-19793) reported by Marcus Haas ........ Merged
	  revisions 371306 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371313 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371324 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-15 20:43 +0000 [r371296]  Michael L. Young <elgueromexicano@gmail.com>

	* /, channels/chan_sip.c: Fix Segfault When Registering SIP Over
	  WebSockets The helper function, get_address_family_filter, in
	  chan_sip for dns resolution by address family was not recognizing
	  the websockets transport and resulting in a null pointer being
	  sent to functions in netsock2, in an attempt to determine if we
	  are bound to ANY address ([::]) or not. This patch fixes this
	  issue by handling the transport types SIP_TRANSPORT_WS and
	  SIP_TRANSPORT_WSS which results in a sock address being set
	  properly for use in determining the address family. (closes issue
	  ASTERISK-20221) Reported by: Sven Beisiegel Tested by: Sven
	  Beisiegel, James Mortensen Patches:
	  asterisk-20221-ws-family-filter.diff uploaded by Michael L. Young
	  (license 5026) ........ Merged revisions 371295 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-15 20:18 +0000 [r371259-371277]  Kinsey Moore <kmoore@digium.com>

	* /, channels/chan_sip.c: Avoid unconditional NULLing of mwipvt on
	  relatedpeer on SIP dialog destruction The other instance of this
	  bug was fixed by jcolp/file in r121496. If we are destroying a
	  dialog only set the MWI dialog pointer on the related peer to
	  NULL if it is the dialog currently being destroyed. (closes issue
	  ASTERISK-20119) Patch-by: Misha Vodsedalek ........ Merged
	  revisions 371270 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371271 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371272 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

	* channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c,
	  channels/chan_dahdi.c, channels/sig_analog.c, /,
	  channels/chan_sip.c: Add HANGUPCAUSE information to callee
	  channels This adds HANGUPCAUSE information to called channels so
	  that hangup handlers can, in conjunction with predial dialplan
	  execution, access the hangupcause information when the dialed
	  channel hangs up on a one-to-one basis instead of a many-to-one
	  basis as with HANGUPCAUSE usage on the caller channel. Review:
	  https://reviewboard.asterisk.org/r/2069/ (closes issue
	  ASTERISK-20198) ........ Merged revisions 371258 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-13 20:36 +0000 [r371228]  Kinsey Moore <kmoore@digium.com>

	* main/loader.c, /, apps/app_meetme.c: Add test instrumentation
	  This adds test instrumentation for loading and unloading of
	  modules and for certain actions in MeetMe to be used in the
	  testsuite or any other consumer of AMI events. These will only be
	  generated when Asterisk is built with TEST_FRAMEWORK enabled.
	  (issue PQ-1131) (issue PQ-1133) ........ Merged revisions 371201
	  from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
	  Merged revisions 371203 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371227 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-13 20:02 +0000 [r371202]  Mark Michelson <mmichelson@digium.com>

	* /, channels/chan_sip.c: Fix problem where incorrect pointer was
	  checked for nullity. ........ Merged revisions 371198 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371199 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371200 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-11 19:13 +0000 [r371170]  Matthew Jordan <mjordan@digium.com>

	* UPGRADE-11.txt (added), UPGRADE.txt: Add UPGRADE-11.txt file;
	  update UPGRADE.txt to reflect Asterisk 12

2012-08-10 22:04 +0000 [r371147]  Richard Mudgett <rmudgett@digium.com>

	* /, CHANGES: Update CHANGES for private party ID. ........ Merged
	  revisions 371146 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-10 21:35 +0000 [r371144]  Mark Michelson <mmichelson@digium.com>

	* apps/app_queue.c, /: Fix a couple of documentation problems in
	  app_queue.c * The RemoveQueueMember app made mention of options
	  that could be passed in, but no options are supported. I have
	  removed the listing of options from the documentation. * The
	  RQMSTATUS variable did not list "NOTDYNAMIC" as a possible value
	  that could be set. (closes issue AST-949) reported by Steve Pitts
	  (closes issue AST-954) reported by Steve Pitts ........ Merged
	  revisions 371141 from
	  http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
	  revisions 371142 from
	  http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
	  revisions 371143 from
	  http://svn.asterisk.org/svn/asterisk/branches/11

2012-08-10 21:09 +0000 [r371134]  Matthew Jordan <mjordan@digium.com>

	* /: Remove 10 properties, add 11 properties

2012-08-10 19:54 +0000 [r371120]  Richard Mudgett <rmudgett@digium.com>

	* include/asterisk/channel.h, channels/sig_pri.c,
	  funcs/func_callerid.c, main/cli.c, main/channel.c,
	  channels/chan_misdn.c, channels/chan_sip.c,
	  main/channel_internal_api.c, main/features.c: Add private
	  representation of caller, connected and redirecting party ids.
	  This patch adds the feature "Private representation of caller,
	  connected and redirecting party ids", as previously discussed
	  with us (DATUS) and Digium. 1. Feature motivation Until now it is
	  quite difficult to modify a party number or name which can only
	  be seen by exactly one particular instantiated technology channel
	  subscriber. One example where a modified party number or name on
	  one channel is spread over several channels are supplementary
	  services like call transfer or pickup. To implement these
	  features Asterisk internally copies caller and connected ids from
	  one channel to another. Another example are extension
	  subscriptions. The monitoring entities (watchers) are notified of
	  state changes and - if desired - of party numbers or names which
	  represent the involving call parties. One major feature where a
	  private representation of party names is essentially needed, i.e.
	  where a party name shall be exclusively signaled to only one
	  particular user, is a private user-specific name resolution for
	  party numbers. A lookup in a private destination-dependent
	  telephone book shall provide party names which cannot be seen by
	  any other user at any time. 2. Feature Description This feature
	  comes along with the implementation of additional private party
	  id elements for caller id, connected id and redirecting ids
	  inside Asterisk channels. The private party id elements can be
	  read or set by the user using Asterisk dialplan functions. When a
	  technology channel is initiating a call, receives an internal
	  connected-line update event, or receives an internal redirecting
	  update event, it merges the corresponding public id with the
	  private id to create an effective party id. The effective party
	  id is then used for protocol signaling. The channel technologies
	  which initially support the private id representation with this
	  patch are SIP (chan_sip), mISDN (chan_misdn) and PRI
	  (chan_dahdi). Once a private name or number on a channel is set
	  and (implicitly) made valid, it is generally used for any further
	  protocol signaling until it is rewritten or invalidated. To
	  simplify the invalidation of private ids all internally generated
	  connected/redirecting update events and also all
	  connected/redirecting update events which are generated by
	  technology channels -- receiving regarding protocol information -
	  automatically trigger the invalidation of private ids. If not
	  using the private party id representation feature at all, i.e. if
	  using only the 'regular' caller-id, connected and redirecting
	  related functions, the current characteristic of Asterisk is not
	  affected by the new extended functionality. 3. User interface
	  Description To grant access to the private name and number
	  representation from the Asterisk dialplan, the CALLERID,
	  CONNECTEDLINE and REDIRECTING dialplan functions are extended by
	  the following data types. The formats of these data types are
	  equal to the corresponding regular 'non-private' already existing
	  data types: CALLERID: priv-all priv-name priv-name-valid
	  priv-name-charset priv-name-pres priv-num priv-num-valid
	  priv-num-plan priv-num-pres priv-subaddr priv-subaddr-valid
	  priv-subaddr-type priv-subaddr-odd priv-tag CONNECTEDLINE:
	  priv-name priv-name-valid priv-name-pres priv-name-charset
	  priv-num priv-num-valid priv-num-pres priv-num-plan priv-subaddr
	  priv-subaddr-valid priv-subaddr-type priv-subaddr-odd priv-tag
	  REDIRECTING: priv-orig-name priv-orig-name-valid
	  priv-orig-name-pres priv-orig-name-charset priv-orig-num
	  priv-orig-num-valid priv-orig-num-pres priv-orig-num-plan
	  priv-orig-subaddr priv-orig-subaddr-valid priv-orig-subaddr-type
	  priv-orig-subaddr-odd priv-orig-tag priv-from-name
	  priv-from-name-valid priv-from-name-pres priv-from-name-charset
	  priv-from-num priv-from-num-valid priv-from-num-pres
	  priv-from-num-plan priv-from-subaddr priv-from-subaddr-valid
	  priv-from-subaddr-type priv-from-subaddr-odd priv-from-tag
	  priv-to-name priv-to-name-valid priv-to-name-pres
	  priv-to-name-charset priv-to-num priv-to-num-valid
	  priv-to-num-pres priv-to-num-plan priv-to-subaddr
	  priv-to-subaddr-valid priv-to-subaddr-type priv-to-subaddr-odd
	  priv-to-tag Reported by: Thomas Arimont Review:
	  https://reviewboard.asterisk.org/r/2030/

