]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Importing files for 13.1.0-rc1 release.
authorAsterisk Autobuilder <asteriskteam@digium.com>
Mon, 8 Dec 2014 17:18:17 +0000 (17:18 +0000)
committerAsterisk Autobuilder <asteriskteam@digium.com>
Mon, 8 Dec 2014 17:18:17 +0000 (17:18 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/13.1.0-rc1@429107 65c4cc65-6c06-0410-ace0-fbb531ad65f3

15 files changed:
.lastclean [new file with mode: 0644]
.version [new file with mode: 0644]
ChangeLog [new file with mode: 0644]
contrib/realtime/mysql/mysql_cdr.sql [new file with mode: 0644]
contrib/realtime/mysql/mysql_config.sql [new file with mode: 0644]
contrib/realtime/mysql/mysql_voicemail.sql [new file with mode: 0644]
contrib/realtime/oracle/oracle_cdr.sql [new file with mode: 0644]
contrib/realtime/oracle/oracle_config.sql [new file with mode: 0644]
contrib/realtime/oracle/oracle_voicemail.sql [new file with mode: 0644]
contrib/realtime/postgresql/postgresql_cdr.sql [new file with mode: 0644]
contrib/realtime/postgresql/postgresql_config.sql [new file with mode: 0644]
contrib/realtime/postgresql/postgresql_voicemail.sql [new file with mode: 0644]
contrib/realtime/sqlserver/mssql_cdr.sql [new file with mode: 0644]
contrib/realtime/sqlserver/mssql_config.sql [new file with mode: 0644]
contrib/realtime/sqlserver/mssql_voicemail.sql [new file with mode: 0644]

diff --git a/.lastclean b/.lastclean
new file mode 100644 (file)
index 0000000..425151f
--- /dev/null
@@ -0,0 +1 @@
+40
diff --git a/.version b/.version
new file mode 100644 (file)
index 0000000..1090053
--- /dev/null
+++ b/.version
@@ -0,0 +1 @@
+13.1.0-rc1
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..c8bcb82
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,20848 @@
+2014-12-08  Asterisk Development Team <asteriskteam@digium.com>
+
+       * Asterisk 13.1.0-rc1 Released.
+
+2014-12-08 16:53 +0000 [r429091]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/playbacks.json, UPGRADE.txt,
+         rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
+         rest-api/resources.json, CHANGES, include/asterisk/manager.h,
+         rest-api/api-docs/bridges.json,
+         rest-api/api-docs/recordings.json,
+         rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/endpoints.json,
+         rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
+         rest-api/api-docs/asterisk.json,
+         rest-api/api-docs/applications.json: AMI/ARI: Update version to
+         2.6.0/1.6.0 respectively for new features AMI/ARI are getting a
+         few enhancements in the next release of Asterisk 13. Per semantic
+         versioning, that warrants a bump in the minor version number, as
+         it reflects a backwards compatible change. Hence, this commit.
+
+2014-12-08 16:41 +0000 [r429064-429089]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_session.c: Fix a crash that would occur when
+         receiving a 491 response to a reinvite. The reviewboard
+         description does a fine job of summarizing this, so here it is: A
+         reporter discovered that Asterisk would crash when attempting to
+         retransmit a reinvite that had previously received a 491
+         response. The crash occurred because a pjsip_tx_data structure
+         was being saved for reuse, but its reference count was not being
+         increased. The result was that the pjsip_tx_data was being freed
+         before we were actually done with it. When we attempted to re-use
+         the structure when re-sending the reinvite, Asterisk would crash.
+         The fix implemented here is not to try holding onto the
+         pjsip_tx_data at all. Instead, when we reschedule sending the
+         reinvite, we create a brand new pjsip_tx_data and send that
+         instead. Because of this change, there is no need for an
+         ast_sip_session_delayed_request structure to have a pjsip_tx_data
+         on it any more. So any code referencing its use has been removed.
+         When this initial fix was introduced, I encountered a second
+         crash when processing a subsequent 200 OK on a rescheduled
+         reinvite. The reason was that when rescheduling the reinvite, we
+         gave the wrong location for a response callback. This has been
+         fixed in this patch as well. ASTERISK-24556 #close Reported by
+         Abhay Gupta Review: https://reviewboard.asterisk.org/r/4233
+
+       * main/stasis_channels.c, CHANGES, res/ari/ari_model_validators.c,
+         main/manager_channels.c, main/channel.c,
+         res/ari/ari_model_validators.h,
+         include/asterisk/stasis_channels.h,
+         rest-api/api-docs/events.json, res/stasis/app.c: Add new AMI and
+         ARI events for connected line changes on a channel. The AMI event
+         is called NewConnectedLine and the ARI event is called
+         ChannelConnectedLine. ASTERISK-24554 #close Reported by Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/4231
+
+2014-12-08 15:43 +0000 [r429062]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/stasis/app.c, main/channel_internal_api.c,
+         res/stasis/stasis_bridge.c, res/stasis/app.h,
+         include/asterisk/channel.h, res/res_stasis.c, main/channel.c:
+         Stasis: Fix StasisStart/End order and missing events This
+         corrects several bugs that currently exist in the stasis
+         application code. * After a masquerade, the resulting channels
+         have channel topics that do not match their uniqueids **
+         Masquerades now swap channel topics appropriately * StasisStart
+         and StasisEnd messages are leaked to observer applications due to
+         being published on channel topics ** StasisStart and StasisEnd
+         publishing is now properly restricted to controlling apps via app
+         topics * Race conditions exist where StasisStart and StasisEnd
+         messages due to a masquerade may be received out of order due to
+         being published on different topics ** These messages are now
+         published directly on the app topic so this is now a non-issue *
+         StasisEnds are sometimes missing when sent due to masquerades and
+         bridge swaps into and out of Stasis() ** This was due to
+         StasisEnd processing adjusting message-sent flags after Stasis()
+         had already exited and Stasis() had been re-entered ** This was
+         corrected by adjusting these flags prior to sending the message
+         while the initial Stasis() application was still shutting down
+         Review: https://reviewboard.asterisk.org/r/4213/ ASTERISK-24537
+         #close Reported by: Matt DiMeo ........ Merged revisions 429061
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-06 18:16 +0000 [r429029-429033]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_monitor.c, /: res/res_monitor: Reset in/out sample counts
+         on Monitor start When repeatedly starting/stopping a Monitor on a
+         channel, the accumulated in/out sample counts are never reset to
+         0. This can cause inadvertent jumps in the recordings, as the
+         code in the channel core will determine incorrectly that a jump
+         in the recorded file position should occur. Setting the sample
+         counts to 0 simply reflects the initial state a Monitor should be
+         in when it is started, as this is the initial count that would be
+         on the channels at that time. ASTERISK-24573 #close Reported by:
+         Nuno Borges patches: 24573.patch uploaded by Nuno Borges (License
+         6116) ........ Merged revisions 429031 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 429032 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_meetme.c: apps/app_meetme: Apply default values on
+         initial load with no config file When the app_meetme module is
+         loaded without its configuration file, the module settings aren't
+         initialized. In particular, this impacts the use of logging
+         realtime members. This patch guarantees that we always set the
+         default module settings on initial load. Review:
+         https://reviewboard.asterisk.org/r/4242/ ASTERISK-24572 #close
+         Reported by: Nuno Borges patches: 24572.patch uploaded by Nuno
+         Borges (License 6116) ........ Merged revisions 429027 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 429028 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-05 17:06 +0000 [r429000]  George Joseph <george.joseph@fairview5.com>
+
+       * tests/test_sorcery.c, main/sorcery.c, include/asterisk/test.h, /,
+         include/asterisk/sorcery.h: sorcery: Add additional observer
+         capabilities. Add new global, instance and wizard observers.
+         instance_created wizard_registered wizard_unregistered
+         instance_destroying instance_loading instance_loaded
+         wizard_mapped object_type_registered object_type_loading
+         object_type_loaded wizard_loading wizard_loaded Tested-by: George
+         Joseph Review: https://reviewboard.asterisk.org/r/4215/ ........
+         Merged revisions 428999 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-04 17:13 +0000 [r428865-428973]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/test.c: main/test: Fix compilation issue on 32-bit
+         systems On a 32-bit system, a type of intmax_t will result in a
+         compilation warning when formatted as a 'long int'. Use the
+         format specifier of %jd (which was what was used originally in
+         manager.c) to format the JSON extracted integer on both
+         32-/64-bit systems. ........ Merged revisions 428972 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/manager.c, /, main/test.c: main/test: Fix race condition
+         between AMI topic and Test Suite topic This patch fixes a race
+         condition between the raising of test AMI events (which drive
+         many tests in the Asterisk Test Suite) and other AMI events.
+         Prior to this patch, the Stasis messages published to the test
+         topic were not forwarded to the AMI topic. Instead, the code in
+         manager had a dedicated handler for test messages that was
+         independent of the topics forwarded to the AMI topic. This
+         results in no synchronization between the test messages and the
+         rest of the Stasis messages published out over AMI. In some test
+         with very tight timing constraints, this can result in out of
+         order messages and spurious test failures. Properly forwarding
+         the Test Suite topic to the AMI topic ensures that the messages
+         are synchronized properly. This patch does that, and moves the
+         message handling to the Stasis definition of the Test Suite
+         message in test.c as well. Review:
+         https://reviewboard.asterisk.org/r/4221/ ........ Merged
+         revisions 428945 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * tests/test_cel.c, /: tests/test_cel: Add
+         test_cel_attended_transfer_bridges_link to racey tests Despite
+         failing less often, the ordering of the ATTENDEDTRANSFER event
+         and the BRIDGE_EXIT event for the Alice and David channels is not
+         defined. This makes the test still fail. ........ Merged
+         revisions 428918 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * tests/test_cel.c, /: tests/test_cel: Fix CEL unit test failures
+         caused by attended transfer changes When the publication of
+         attended transfer messages were pushed to another thread, some
+         subtle race conditions were introduced with the CEL unit tests.
+         This patch fixes one of them, and pushes the other to
+         ASTERISK-22367, which already exists to fix another bouncy CEL
+         unit test. In particular, this patch fixes the
+         test_cel_attended_transfer_bridges_link test, and defers the
+         test_cel_attended_transfer_bridges_swap test to the
+         aforementioned JIRA issue. ASTERISK-22367 ........ Merged
+         revisions 428891 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_voicemail.c, /: apps/app_voicemail: Fix crash with IMAP
+         when streams are opened simultaneously The UW IMAP library is
+         instrinsically not thread-safe, and relies upon higher level
+         applications to guarantee thread safety. For the most part, this
+         is provided by the vms object, which provides locking for
+         individual streams. Unfortunately, this is not sufficient for
+         calls to mail_open which create the IMAP stream. mail_open can,
+         on some systems, call into a UW IMAP specific function for
+         determining the address of a system based on a hostname,
+         ip_nametoaddr. In the ip6_unix implementation of this function,
+         static variables are used to hold parsing buffers. This can cause
+         a crash if multiple threads attempt to convert a hostname to an
+         address at the same time. Locking on a single mail stream is not
+         sufficient to prevent simultaneous access to these static
+         variables. In the IMAP library, this function can be called from
+         the mail_open and imap_status functions. As the imap_status
+         function is not used by app_voicemail, locking on access to
+         mail_open is sufficient to prevent any mangling of the buffers.
+         Review: https://reviewboard.asterisk.org/r/4188/ ASTERISK-24516
+         #close Reported by: David Duncan Ross Palmer Tested by: David
+         Duncan Ross Palmer patches: ASTERISK-24516.diff uploaded by David
+         Duncan Ross Palmer (License 6660) ........ Merged revisions
+         428863 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........ Merged revisions 428864 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-02 21:53 +0000 [r428837]  George Joseph <george.joseph@fairview5.com>
+
+       * CHANGES, /: CHANGES: Add item for new 'pjsip show identif(y|ies)
+         commands Tested-by: George Joseph ........ Merged revisions
+         428836 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-02 19:03 +0000 [r428789-428815]  Matthew Jordan <mjordan@digium.com>
+
+       * tests/test_stasis.c: tests/test_stasis: Resolve compilation
+         issues from Asterisk 12 merge When merging the changes up stream
+         in r428687, I missed the fact that the signature for
+         stasis_message_type_create was changed. This patch fixes the
+         compilation issues introduced by that merge.
+
+       * pbx/pbx_loopback.c, /: pbx/pbx_loopback: Speed up switches by
+         avoiding unneeded lookups This patch makes a small rearrangement
+         to only do dialplan lookups during loopback switches if the
+         pattern matches. Prior to this patch, the dialplan lookups were
+         always performed, even when the result would be discarded.
+         Dialplan lookups can be very costly if remote switches - like
+         DUNDi - are present. In those cases extension matching is sped up
+         considerably, making the issue of lost digits more manageable. As
+         collateral damage, 6 trailing spaces were killed. Review:
+         https://reviewboard.asterisk.org/r/4211 ASTERISK-24577 #close
+         Reported by: Birger Harzenetter patches: ast-loopback.patch
+         uploaded by Birger Harzenetter (License 5870) ........ Merged
+         revisions 428787 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428788 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-02 12:20 +0000 [r428761]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_refer.c, /: res_pjsip_refer: Fix issue where native
+         bridge may not occur upon completion of a transfer. There are two
+         methods within res_pjsip_refer for keeping track of the state of
+         a transfer. The first is a framehook which looks at frames
+         passing by to determine the state. The second subscribes to know
+         when the channel joins a bridge. In the case when the channel
+         joins the bridge the framehook is *NOT* removed and this prevents
+         the native RTP bridging technology from getting used. This change
+         gets the channel and if it still exists remove the framehook.
+         Review: https://reviewboard.asterisk.org/r/4218/ ........ Merged
+         revisions 428760 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-02 00:38 +0000 [r428731-428734]  George Joseph <george.joseph@fairview5.com>
+
+       * /, include/asterisk/config.h, main/config.c: config: Create
+         ast_variable_find_in_list() Add const char
+         *ast_variable_find_in_list(const struct ast_variable *list, const
+         char *variable); ast_variable_find() requires a config category
+         to search whereas ast_variable_find_in_list() just needs the root
+         list element which is useful if you don't have a category.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4217/ ........ Merged
+         revisions 428733 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_endpoint_identifier_ip.c,
+         res/res_pjsip/pjsip_cli.c: res_pjsip_endpoint_identifier_ip: Add
+         'show identify(ies)' cli commands While troubleshooting other
+         things I realized there were no pjsip cli commands for identify.
+         This patch adds them. It also also fixes a reference leak when a
+         'show endpoint' displayed identifies and properly sets the return
+         code if load_module can't allocate a cli formatter structure.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4212/ ........ Merged
+         revisions 428725 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-01 17:57 +0000 [r428687]  Matthew Jordan <mjordan@digium.com>
+
+       * channels/chan_skinny.c, res/res_pjsip_mwi.c, tests/test_stasis.c,
+         res/res_pjsip_pubsub.c, res/res_pjsip_refer.c,
+         channels/chan_mgcp.c, main/stasis_cache.c, channels/chan_sip.c,
+         include/asterisk/stasis_internal.h, /, include/asterisk/stasis.h,
+         UPGRADE.txt, configs/samples/stasis.conf.sample,
+         res/parking/parking_applications.c, res/res_xmpp.c,
+         channels/chan_iax2.c, apps/app_queue.c,
+         res/res_stasis_device_state.c, channels/sig_pri.c,
+         include/asterisk/stasis_message_router.h, main/endpoints.c,
+         res/parking/parking_bridge_features.c, main/stasis.c,
+         channels/chan_dahdi.c, main/stasis_message_router.c: main/stasis:
+         Allow subscriptions to use a threadpool for message delivery
+         Prior to this patch, all Stasis subscriptions would receive a
+         dedicated thread for servicing published messages. In contrast,
+         prior to r400178 (see review
+         https://reviewboard.asterisk.org/r/2881/), the subscriptions
+         shared a thread pool. It was discovered during some initial work
+         on Stasis that, for a low subscription count with high message
+         throughput, the threadpool was not as performant as simply having
+         a dedicated thread per subscriber. For situations where a
+         subscriber receives a substantial number of messages and is
+         always present, the model of having a dedicated thread per
+         subscriber makes sense. While we still have plenty of
+         subscriptions that would follow this model, e.g., AMI, CDRs, CEL,
+         etc., there are plenty that also fall into the following two
+         categories: * Large number of subscriptions, specifically those
+         tied to endpoints/peers. * Low number of messages. Some
+         subscriptions exist specifically to coordinate a single message -
+         the subscription is created, a message is published, the delivery
+         is synchronized, and the subscription is destroyed. In both of
+         the latter two cases, creating a dedicated thread is wasteful
+         (and in the case of a large number of peers/endpoints, harmful).
+         In those cases, having shared delivery threads is far more
+         performant. This patch adds the ability of a subscriber to Stasis
+         to choose whether or not their messages are dispatched on a
+         dedicated thread or on a threadpool. The threadpool is
+         configurable through stasis.conf. Review:
+         https://reviewboard.asterisk.org/r/4193 ASTERISK-24533 #close
+         Reported by: xrobau Tested by: xrobau ........ Merged revisions
+         428681 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-12-01 13:41 +0000 [r428632-428655]  Joshua Colp <jcolp@digium.com>
+
+       * /, apps/app_record.c: app_record: Fix bug where using the 'k'
+         option and hanging up would trim 1/4 of a second of the
+         recording. The Record dialplan function trims 1/4 of a second
+         from the end of recordings in case they are terminated because of
+         DTMF. When hanging up, however, you don't want this to happen.
+         This change makes it so on hangup this does not occur.
+         ASTERISK-24530 #close Reported by: Ben Smithurst patches:
+         app_record_v2.diff submitted by Ben Smithurst (license 6529)
+         Review: https://reviewboard.asterisk.org/r/4201/ ........ Merged
+         revisions 428653 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428654 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/channel.c: channel: Extend size of buffer for codecs in
+         "core show channeltype" CLI command. The static buffer for codecs
+         when invoking the "core show channeltype" CLI command did not
+         have enough room for all codecs. This has been extended so it
+         does. ASTERISK-24542 #close Reported by: snuffy patches:
+         channeltype-tech.diff submitted by snuffy (license 5024) Review:
+         https://reviewboard.asterisk.org/r/4204/
+
+2014-11-24 20:37 +0000 [r428602-428604]  Richard Mudgett <rmudgett@digium.com>
+
+       * tests/test_channel_feature_hooks.c: test_channel_feature_hooks.c:
+         Fix unit test for DTMF hooks. Fix the failing
+         /channels/features/test_features_channel_dtmf unit test. DTMF
+         emulation does not work without a stream of packets to prod the
+         emulation code. Review: https://reviewboard.asterisk.org/r/4199/
+
+       * /, main/bridge.c, main/bridge_channel.c: DTMF hooks: Leaving
+         channels need to push any collected digits into the bridge. Any
+         partially collected DTMF digits for a DTMF hook need to be pushed
+         into the bridge when a channel leaves the bridging system as if
+         there were a timeout. Review:
+         https://reviewboard.asterisk.org/r/4199/ ........ Merged
+         revisions 428601 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-21 19:09 +0000 [r428572]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/manager.c, /: manager: Fix could not extend string messages.
+         When shutting down Asterisk that has an active AMI connection,
+         you get several "failed to extend from %d to %d" messages because
+         use of the EVENT_FLAG_SHUTDOWN attempts to add all AMI permission
+         strings to the event. * Created MAX_AUTH_PERM_STRING to use when
+         creating stack based struct ast_str variables used with the
+         authority_to_str() and user_authority_to_str() functions instead
+         of a variety of magic numbers that could be too small. * Added a
+         special check for EVENT_FLAG_SHUTDOWN to authority_to_str() so it
+         will not attempt to add all permission level strings. Review:
+         https://reviewboard.asterisk.org/r/4200/ ........ Merged
+         revisions 428570 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428571 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-21 17:45 +0000 [r428544]  George Joseph <george.joseph@fairview5.com>
+
+       * main/sorcery.c, /, res/res_pjsip_phoneprov_provider.c,
+         tests/test_sorcery.c: sorcery: Make is_object_field_registered
+         handle field names that are regexes. As a result of
+         https://reviewboard.asterisk.org/r/3305, res_sorcery_realtime was
+         tossing database fields that didn't have an exact match to a
+         sorcery registered field. This broke the ability to use regexes
+         as field names which manifested itself as a failure of
+         res_pjsip_phoneprov_provider which uses this capability. It also
+         broke handling of fields that start with '@' in realtime but I
+         don't think anyone noticed. This patch does the following... *
+         Modifies ast_sorcery_fields_register to pre-compile the name
+         regex. * Modifies ast_sorcery_is_object_field_registered to test
+         the regex if it exists instead of doing an exact strcmp. *
+         Modifies res_pjsip_phoneprov_provider with a few tweaks to get it
+         to work with realtime. Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4185/ ........ Merged
+         revisions 428543 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-21 02:16 +0000 [r428505]  Matthew Jordan <mjordan@digium.com>
+
+       * main/bridge_basic.c: main/bridge_basic: Fix features regressions
+         introduced by r428165 In r428165, two bugs were introduced: *
+         Prior to entering the features retry loop, the buffer that holds
+         the collected digits is wiped. However, this inadvertently wipes
+         out the first collected digit on the first pass through, which is
+         obtained in ast_stream_and_wait. This caused all of the features
+         tests to fail. * If ast_app_dtget returns a hangup (-1), the loop
+         would retry incorrectly. If we detect a hangup, we have to stop
+         trying the feature. This patch fixes both issues. Review:
+         https://reviewboard.asterisk.org/r/4196/
+
+2014-11-20 16:36 +0000 [r428425]  Mark Michelson <mmichelson@digium.com>
+
+       * main/acl.c, /: Fix error with mixed address family ACLs. Prior to
+         this commit, the address family of the first item in an ACL was
+         used to compare all incoming traffic. This could lead to traffic
+         of other IP address families bypassing ACLs. ASTERISK-24469
+         #close Reported by Matt Jordan Patches: ASTERISK-24469-11.diff
+         uploaded by Matt Jordan (License #6283) AST-2014-012 ........
+         Merged revisions 428402 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 428417 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428422 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-20 16:34 +0000 [r428413]  Kevin Harwell <kharwell@digium.com>
+
+       * funcs/func_db.c, /: AST-2014-018 - func_db: DB Dialplan function
+         permission escalation via AMI. The DB dialplan function when
+         executed from an external protocol (for instance AMI), could
+         result in a privilege escalation. Asterisk now inhibits the DB
+         function from being executed from an external interface if the
+         live_dangerously option is set to no. ASTERISK-24534 Reported by:
+         Gareth Palmer patches: submitted by Gareth Palmer (license 5169)
+         ........ Merged revisions 428331 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 428363 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428409 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-20 16:13 +0000 [r428343]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_pjsip_acl.c, /: PJSIP ACLs: Fix ACLs not loading on
+         startup and apply/acl issues on contact The biggest problem this
+         patch fixes is that ACLs weren't previously being loaded when the
+         res_pjsip_acl module was loaded. Yikes. In addition, the ACL
+         options contact_permit and contact_acl were effectively
+         interpreted as contact_deny and this patch fixes that as well.
+         AST-1418 #close Reported by: Thomas Thompson Review:
+         https://reviewboard.asterisk.org/r/4120/ ASTERISK-24531 #close
+         Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/4171/ ........ Merged
+         revisions 428333 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-20 15:50 +0000 [r428339]  Kevin Harwell <kharwell@digium.com>
+
+       * apps/app_confbridge.c, /: AST-2014-017 - app_confbridge:
+         permission escalation/ class authorization. Confbridge dialplan
+         function permission escalation via AMI and inappropriate class
+         authorization on the ConfbridgeStartRecord action. The CONFBRIDGE
+         dialplan function when executed from an external protocol (for
+         instance AMI), could result in a privilege escalation. Also, the
+         AMI action “ConfbridgeStartRecord” could also be used to execute
+         arbitrary system commands without first checking for system
+         access. Asterisk now inhibits the CONFBRIDGE function from being
+         executed from an external interface if the live_dangerously
+         option is set to no. Also, the “ConfbridgeStartRecord” AMI action
+         is now only allowed to execute under a user with system level
+         access. ASTERISK-24490 Reported by: Gareth Palmer ........ Merged
+         revisions 428332 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428334 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-20 14:55 +0000 [r428302-428305]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_refer.c, /: AST-2014-016: Fix crash when receiving
+         an in-dialog INVITE with Replaces in res_pjsip_refer. The
+         implementation of INVITE with Replaces in res_pjsip_refer did not
+         expect them to occur in-dialog. As a result it would incorrectly
+         attempt to hang up a channel it thought was under its control. In
+         reality the channel would be under the control of another thread.
+         When the other thread accessed the channel it would be accessing
+         freed memory and could crash. This change makes res_pjsip_refer
+         not act on an in-dialog INVITE with Replaces. ASTERISK-24528
+         #close Reported by: Joshua Colp ........ Merged revisions 428304
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_pjsip.c, /: AST-2014-015: Fix race condition in
+         chan_pjsip when sending responses after a CANCEL has been
+         received. Due to the serialized architecture of chan_pjsip there
+         exists a race condition where a CANCEL may be received and
+         processed before responses (such as 180 Ringing, 183 Session
+         Progress, and 200 OK) are sent. Since the session is in an
+         unexpected state PJSIP will assert when this is attempted. This
+         change makes it so that these responses are not sent on
+         disconnected sessions. ASTERISK-24471 #close Reported by: yaron
+         nahum ........ Merged revisions 428301 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-19 19:31 +0000 [r428273]  Corey Farrell <git@cfware.com>
+
+       * include/asterisk/stringfields.h, /: stringfields: Fix bug in
+         ast_string_fields_copy. ast_string_fields_copy relies on the fact
+         that __ast_string_field_release_active never previously zeroed
+         pool->used, so keeping the existing pointer was "ok". Now that
+         existing pools can be reset to 'empty', it is important to set
+         each field to __ast_string_field_empty after releasing the
+         memory. ASTERISK-24535 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4186/ ........ Merged
+         revisions 428272 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-19 17:13 +0000 [r428246]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_calendar.c, main/manager.c, /, channels/chan_sip.c,
+         channels/sip/security_events.c: ast_str: Fix improper member
+         access to struct ast_str members. Accessing members of struct
+         ast_str outside of the string manipulation API routines is
+         invalid since struct ast_str is supposed to be treated as opaque.
+         Review: https://reviewboard.asterisk.org/r/4194/ ........ Merged
+         revisions 428244 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428245 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-19 12:40 +0000 [r428196-428222]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_session.c, include/asterisk/res_pjsip.h,
+         include/asterisk/res_pjsip_session.h, res/res_pjsip_sdp_rtp.c,
+         res/res_pjsip/pjsip_configuration.c,
+         configs/samples/pjsip.conf.sample,
+         contrib/ast-db-manage/config/versions/eb88a14f2a_add_media_encryption_optimistic_to_pjsip.py
+         (added), CHANGES, res/res_pjsip.c: res_pjsip_sdp_rtp: Add support
+         for optimistic SRTP. Optimistic SRTP is the ability to enable
+         SRTP but not have it be a fatal requirement. If SRTP can be used
+         it will be, if not it won't be. This gives you a better chance of
+         using it without having your sessions fail when it can't be.
+         Encrypt all the things! Review:
+         https://reviewboard.asterisk.org/r/3992/
+
+       * res/res_pjsip_refer.c, /: res_pjsip_refer: Ensure Refer-To is
+         NULL terminated and parse it as a URI. There is no guarantee that
+         when we get a Refer-To that it will be NULL terminated. As the
+         URI parsing function requires it to be we now NULL terminate it.
+         Additionally parsing the Refer-To as a 'To' header is needless
+         and it can simply be done as a URI. This also fixes a problem
+         where certain Refer-To headers would not be parsed as a 'To'
+         header causing the REFER to fail. ASTERISK-24508 #close Reported
+         by: Beppo Mazzucato Review:
+         https://reviewboard.asterisk.org/r/4187/ ........ Merged
+         revisions 428195 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-18 18:54 +0000 [r428169]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/parking/parking_tests.c: parking_tests.c: Add missing
+         newline on a unit test message. ........ Merged revisions 428168
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-17 16:51 +0000 [r428145]  Mark Michelson <mmichelson@digium.com>
+
+       * CHANGES, main/features_config.c,
+         configs/samples/features.conf.sample,
+         include/asterisk/features_config.h, main/bridge_basic.c: Allow
+         for transferer to retry when dialing an invalid extension. This
+         allows for a configurable number of attempts for a transferer to
+         dial an extension to transfer the call to. For Asterisk 13, the
+         default values are such that upgrading between versions will not
+         cause a behaivour change. For trunk, though, the defaults will be
+         changed to be more user-friendly. Review:
+         https://reviewboard.asterisk.org/r/4167
+
+2014-11-17 16:00 +0000 [r428119]  Corey Farrell <git@cfware.com>
+
+       * /, channels/chan_sip.c: chan_sip: Fix theoretical leak of
+         p->refer. If transmit_refer is called when p->refer is already
+         allocated, it leaks the previous allocation. Updated code to
+         always free previous allocation during a new allocation. Also
+         instead of checking if we have a previous allocation, always
+         create a clean record. ASTERISK-15242 #close Reported by: David
+         Woolley Review: https://reviewboard.asterisk.org/r/4160/ ........
+         Merged revisions 428117 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428118 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-17 15:27 +0000 [r428079-428115]  Matthew Jordan <mjordan@digium.com>
+
+       * /, apps/confbridge/conf_state_multi_marked.c:
+         apps/app_confbridge: Ensure 'normal' users hear message when last
+         marked leaves When r428077 was made for ASTERISK-24522, it failed
+         to take into account users who are neither wait_marked nor
+         end_marked. These users are *also* supposed to hear the 'leader
+         has left the conference' message. Granted, this behaviour is a
+         bit odd; however, that is how it used to work... and behaviour
+         changes are not good. This patch ensures that if there are any
+         'normal' users present when the last marked user leaves the
+         conference, the message will still be played to them. Note that
+         this regression was caught by the Asterisk Test Suite's
+         confbridge_nominal test, which has a quirky combination of users.
+         ........ Merged revisions 428113 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428114 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/confbridge/conf_state_multi_marked.c: app_confbridge:
+         Don't play leader leaving prompt if no one will hear it Consider
+         the following: - A marked user in a conference - One or more
+         end_marked only users in the conference When the marked users
+         leaves, we will be in the conf_state_multi_marked state. This
+         currently will traverse the users, kicking out any who have the
+         end_marked flags. When they are kicked, a full ast_bridge_remove
+         is immediately called on the channels. At this time, we also
+         unilaterally set the need_prompt flag. When the need_prompt flag
+         is set, we then playback a sound to the bridge informing everyone
+         that the leader has left; however, no one is left in the bridge.
+         This causes some odd behaviour for the end_marked users - they
+         are stuck waiting for the bridge to be unlocked. This results in
+         them waiting for 5 or 6 seconds of dead air before hearing that
+         they've been kicked. Unfortunately, we do have to keep the bridge
+         locked while we're playing back the 'leader-has-left' prompt. If
+         there are any wait_marked users in the conference, this behaviour
+         can't be easily changed - but we do make the case of the
+         end_marked users better with this patch. Review:
+         https://reviewboard.asterisk.org/r/4184/ ASTERISK-24522 #close
+         Reported by: Matt Jordan ........ Merged revisions 428077 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 428078 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-16 21:12 +0000 [r427979-428052]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_pjsip.c, /: chan_pjsip: Remove AOR check when
+         dialing and one is specified. The AOR value may contain the name
+         of an AOR or a full SIP URI. Checking if the AOR exists can't be
+         done as a result of this. ........ Merged revisions 428051 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_pjsip.c: chan_pjsip: Add additional log message
+         when an AOR is specified when dialing and it does not exist.
+         ASTERISK-24499 #close Reported by: Rusty Newton ........ Merged
+         revisions 428007 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_motif.c, channels/chan_pjsip.c, /: chan_motif /
+         chan_pjsip: Fix incorrect "No such module" messages when
+         reloading. For chan_motif the direct return value of the
+         underlying config options framework was passed back. This can
+         relay various states which the module loader would not interpet
+         as success. It has been changed so only on errors will it report
+         back an error. For chan_pjsip the code implemented a dummy reload
+         function which always returned an error. This has been removed as
+         all configuration is held within res_pjsip instead.
+         ASTERISK-23651 #close Reported by: Rusty Newton ........ Merged
+         revisions 427981 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Enforce
+         requirements for session timer minimum expiration period and
+         normal expiration period. This change enforces the requirements
+         in PJSIP for session timer configuration. The minimum expiration
+         period must be 90 seconds or higher and the normal expiration
+         period can not be lower than the minimum expiration period. If
+         either of these were done the code would assert at session setup
+         time. ASTERISK-24336 #close Reported by: Leon Rowland ........
+         Merged revisions 427978 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-15 16:56 +0000 [r427927-427954]  Matthew Jordan <mjordan@digium.com>
+
+       * cel/cel_odbc.c, /: cel/cel_odbc: Provide microsecond precision in
+         'eventtime' column when possible This patch adds microsecond
+         precision when inserting a CEL record into a table with an
+         "eventtime" column of type timestamp, instead of second
+         precision. The documentation (configs/cel_odbc.conf.sample) was
+         already saying that the eventtime column included microseconds
+         precision, but that was not the case. Also, without this patch,
+         if you had a table with an "eventtime" column of type varchar,
+         you had millisecond precision. With this patch, you also get
+         microsecond precision in this case. Review:
+         https://reviewboard.asterisk.org/r/3980 ASTERISK-24283 #close
+         Reported by: Etienne Lessard patches:
+         cel_odbc_time_precision.patch uploaded by Etienne Lessard
+         (License 6394) ........ Merged revisions 427952 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427953 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * tests/test_cel.c: tests/test_cel: Unlock bridge on off nominal
+         paths If the test fails due to memory allocation errors, we may
+         as well attempt to unlock the bridge on the way out.
+
+2014-11-14 17:45 +0000 [r427902]  Jonathan Rose <jrose@digium.com>
+
+       * configs/samples/cdr.conf.sample, main/cdr.c, /: Documentation:
+         Revise explanation of cdr.conf option 'Unanswered' ASTERISK-24279
+         #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/4109/ ........ Merged
+         revisions 427901 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-14 15:51 +0000 [r427876]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, main/stun.c: stun: correct attribute string padding to match
+         rfc When sending the USERNAME attribute in an RTP STUN response,
+         the implementation in append_attr_string passed the actual
+         length, instead of padding it up to a multiple of four bytes as
+         required by the RFC 3489. This change adds separate variables for
+         the string and padded attributed lengths, and performs padding
+         correctly. Reported by: Thomas Arimont Review:
+         https://reviewboard.asterisk.org/r/4139/ ........ Merged
+         revisions 427874 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427875 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-14 15:24 +0000 [r427870]  Mark Michelson <mmichelson@digium.com>
+
+       * main/bridge.c, main/bridge_basic.c,
+         include/asterisk/stasis_bridges.h, tests/test_cel.c,
+         apps/app_queue.c, main/cel.c, main/stasis_bridges.c, /,
+         res/stasis/app.c: Fix race condition that could result in ARI
+         transfer messages not being sent. From reviewboard: "During blind
+         transfer testing, it was noticed that tests were failing
+         occasionally because the ARI blind transfer event was not being
+         sent. After investigating, I detected a race condition in the
+         blind transfer code. When blind transferring a single channel,
+         the actual transfer operation (i.e. removing the transferee from
+         the bridge and directing them to the proper dialplan location) is
+         queued onto the transferee bridge channel. After queuing the
+         transfer operation, the blind transfer Stasis message is
+         published. At the time of publication, snapshots of the channels
+         and bridge involved are created. The ARI subscriber to the blind
+         transfer Stasis message then attempts to determine if the bridge
+         or any of the involved channels are subscribed to by ARI
+         applications. If so, then the blind transfer message is sent to
+         the applications. The way that the ARI blind transfer message
+         handler works is to first see if the transferer channel is
+         subscribed to. If not, then iterate over all the channel IDs in
+         the bridge snapshot and determine if any of those are subscribed
+         to. In the test we were running, the lone transferee channel was
+         subscribed to, so an ARI event should have been sent to our
+         application. Occasionally, though, the bridge snapshot did not
+         have any channels IDs on it at all. Why? The problem is that
+         since the blind transfer operation is handled by a separate
+         thread, it is possible that the transfer will have completed and
+         the channels removed from the bridge before we publish the blind
+         transfer Stasis message. Since the blind transfer has completed,
+         the bridge on which the transfer occurred no longer has any
+         channels on it, so the resulting bridge snapshot has no channels
+         on it. Through investigation of the code, I found that attended
+         transfers can have this issue too for the case where a transferee
+         is transferred to an application." The fix employed here is to
+         decouple the creation of snapshots for the transfer messages from
+         the publication of the transfer messages. This way, snapshots can
+         be created to reflect what they are at the time of the transfer
+         operation. Review: https://reviewboard.asterisk.org/r/4135
+         ........ Merged revisions 427848 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-14 14:56 +0000 [r427846]  Joshua Colp <jcolp@digium.com>
+
+       * /, apps/confbridge/conf_state_multi_marked.c: app_confbridge:
+         Play "leader has left" sound even when musiconhold is enabled.
+         Currently if the leader of a conference bridge leaves any
+         participant that has musiconhold enabled will not hear the
+         "leader has left" sound. This is because musiconhold is started
+         and THEN the sound is played. This change makes it so that the
+         sound is played and THEN musiconhold is started. This provides a
+         better experience for users as they may not have known previously
+         why they went back to musiconhold. Review:
+         https://reviewboard.asterisk.org/r/4177/ ........ Merged
+         revisions 427844 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427845 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-14 14:24 +0000 [r427841]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
+         include/asterisk/res_pjsip.h: Fix race condition where duplicated
+         requests may be handled by multiple threads. This is the Asterisk
+         13 version of the patch. The main difference is in the pubsub
+         code since it was completely refactored between Asterisk 12 and
+         13. Review: https://reviewboard.asterisk.org/r/4175
+
+2014-11-13 22:03 +0000 [r427815]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c: res_pjsip_exten_state:
+         PJSIPShowSubscriptionsInbound causes crash When using a
+         non-default sorcery wizard (in this instance realtime) for
+         outbound registrations and after adding in an appropriate call to
+         ast_sorcery_apply_config() (since it is missing) Asterisk will
+         crash after a stack overflow occurs due to the code infinitely
+         recursing. The fix entails removing the outbound registration
+         state dependency from the outbound registration sorcery object
+         and instead keeping an in memory container that can be used to
+         lookup the state when needed. ASTERISK-24514 Reported by: Mark
+         Michelson Review: https://reviewboard.asterisk.org/r/4164/
+         ........ Merged revisions 427814 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-13 15:44 +0000 [r427789]  Kinsey Moore <kmoore@digium.com>
+
+       * include/asterisk/stasis.h, include/asterisk/stasis_app.h,
+         res/stasis/app.h, res/res_stasis.c, /, res/stasis/app.c,
+         res/stasis/stasis_bridge.c: Stasis: Fix StasisEnd message
+         ordering This change corrects message ordering in cases where a
+         channel-related message can be received after a Stasis/ARI
+         application has received the StasisEnd message. The StasisEnd
+         message was being passed to applications directly without waiting
+         for the channel topic to empty. As a result of this fix, other
+         bugs were also identified and fixed: * StasisStart messages were
+         also being sent directly to apps and are now routed through the
+         stasis message bus properly * Masquerade monitor datastores were
+         being removed at the incorrect time in some cases and were
+         causing StasisEnd messages to not be sent * General refactoring
+         where necessary for the above * Unsubscription on StasisEnd
+         timing changes to prevent additional messages from following the
+         StasisEnd when they shouldn't A channel sanitization function
+         pointer was added to reduce processing and AO2 lookups. Review:
+         https://reviewboard.asterisk.org/r/4163/ ASTERISK-24501 #close
+         Reported by: Matt Jordan ........ Merged revisions 427788 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-13 00:00 +0000 [r427763]  Matthew Jordan <mjordan@digium.com>
+
+       * main/rtp_engine.c, /: main/rtp_engine: Fix crash when processing
+         more than one RTCP report info block Asterisk - in
+         res_rtp_asterisk - only understands a single RTCP report info
+         block. When the RTCP information was refactored in the RTP Engine
+         to be pushed over the Stasis message bus, I put in the hooks into
+         the engine to handle multiple RTCP report info blocks, in the
+         hope that a future RTP implementation would be able to provide
+         that data. Unfortunately, res_rtp_asterisk has a tendency to
+         "lie": (1) It will send RTCP reports with a
+         reception_report_count greater than 1 (which is pulled directly
+         from the RTCP packet itself, so that part is correct) (2) It will
+         only provide a single report block When the rtp_engine goes to
+         convert this to a JSON blob, hilarity ensues as it looks for a
+         report block that doesn't exist. This patch updates the
+         rtp_engine to be a bit more skeptical about what it is presented
+         with. While this could also be fixed in res_rtp_asterisk, this
+         patch prefers to fix it in the engine for two reasons: (1) The
+         engine is designed to work with multiple RTP implementation, and
+         hence having it be more robust is a good thing (tm) (2)
+         res_rtp_asterisk's handling of RTCP information is "fun". It
+         should report the correct reception_report_count; ideally it
+         should also be giving us all of the blocks - but it is
+         *definitely* not designed to do that. Going down that road is a
+         non-trivial effort. Review:
+         https://reviewboard.asterisk.org/r/4158/ ASTERISK-24489 #close
+         Reported by: Gregory Malsack Tested by: Gregory Malsack
+         ASTERISK-24498 #close Reported by: Beppo Mazzucato Tested by:
+         Beppo Maazucato ........ Merged revisions 427762 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-12 20:39 +0000 [r427737]  Corey Farrell <git@cfware.com>
+
+       * /, main/features.c: Fix leak in AMI Action Bridge Add missing
+         reference cleanup for newly created bridge. ASTERISK-24281
+         Reported by: Stefan Engström Review:
+         https://reviewboard.asterisk.org/r/4154/ ........ Merged
+         revisions 427736 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-12 16:12 +0000 [r427711]  Joshua Colp <jcolp@digium.com>
+
+       * main/pbx.c, /: pbx: Fix off-nominal case where a freed extension
+         may still be used. If during the operation of adding an extension
+         a priority is added but fails it is possible for the extension to
+         be freed but still exist in the PBX core. If this occurs
+         subsequent lookups may try to access the extension and end up in
+         freed memory. This change removes the extension from the PBX core
+         when the priority addition fails and then frees the extension.
+         ASTERISK-24444 #close Reported by: Leandro Dardini Review:
+         https://reviewboard.asterisk.org/r/4162/ ........ Merged
+         revisions 427709 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427710 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-12 13:46 +0000 [r427684]  Corey Farrell <git@cfware.com>
+
+       * codecs/ilbc, /, tests, codecs/speex, apps/confbridge,
+         Makefile.rules: Fix compiler error when using ./configure
+         --enable-dev-mode --enable-coverage When DONT_OPTIMIZE is enabled
+         with dev-mode, it causes a shadow compilation to be done with
+         output to /dev/null. This can cause errors with coverage when GCC
+         attempts to write to /dev/null.gcno. This change disables
+         coverage for the shadow compilation. ASTERISK-24502 #close
+         Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4151/ ........ Merged
+         revisions 427682 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427683 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-09 08:00 +0000 [r427643]  Corey Farrell <git@cfware.com>
+
+       * main/manager.c, /: manager: Fix HTTP connection reference leaks.
+         Fix reference leak that happens if (session && !blastaway).
+         ASTERISK-24505 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4153/ ........ Merged
+         revisions 427641 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427642 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-09 00:38 +0000 [r427583-427615]  Matthew Jordan <mjordan@digium.com>
+
+       * channels/chan_mgcp.c, /: channels/chan_mgcp: Fix regression which
+         causes gateways to be skipped In r227276, a while loop was turned
+         into a for loop. Unfortunately, a portion of the while loop was
+         left in the code such that, when a static gateway is encountered
+         in the list of MGCP gateways, the next gateway would be skipped.
+         At best, we would simply flip past a gateway; at worst, this
+         could lead to a crash. ASTERISK-24500 #close Reported by: Xavier
+         Hienne patches: chan_mgcp.patch uploaded by Xavier Hienne
+         (License 6657) ........ Merged revisions 427613 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427614 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, addons/chan_mobile.c: addons/chan_mobile: Increase buffer size
+         of UCS2 encoded SMS messages When UCS2 character encoding is
+         used, one symbol in national language can be expanded to 4 bytes.
+         The current buffer used for receiving message in do_monitor_phone
+         is 256 bytes, which is not large enough for incoming messages.
+         For example: * AT+CMGR phone response prefix '+CMGR: "REC
+         UNREAD","+7**********",,"14/10/29,13:31:39+12"\r\n' - 60 bytes *
+         SMS body with UCS2 encoding (max) - 280 bytes * AT+CMGR phone
+         response suffix '\r\n\r\nOK\r\n' - 8 bytes * Terminating null
+         character - 1 byte This results in a needed buffer size of 349
+         bytes. Hence, this patch opts for a 350 byte buffer.
+         ASTERISK-24468 #close Reported by: Dmitriy Bubnov patches:
+         chan_mobile-1_8.diff uploaded by Dmitriy Bubnov (License 6651)
+         chan_mobile-trunk.diff uploaded by Dmitry Bubnov (License 6651)
+         ........ Merged revisions 427607 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427610 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_voicemail.c: app_voicemail: Fix enhancement that allowed
+         multiple recipients in To: header An issue existed in r420577,
+         which added multiple recipients to voicemail emails. The patch,
+         when looking at the intended recipients, looked ahead for the '|'
+         character inside a while loop which already had pulled out the
+         appropriate field parsing on the '|' character. This would cause
+         it to skip the recipients. This patch fixes it such that it
+         relies completely on the while loop to parse through the e-mail
+         fields. Note that the original author of the patch looked at this
+         fix and approved it. ASTERISK-24250 #close Reported by: abelbeck
+         patches: voicemail-420577-to-comma-fix.diff uploaded by abelbeck
+         (License 5903)
+
+       * /, bridges/bridge_native_rtp.c: bridge_native_rtp: Fix T.38
+         issues with remote bridges After r425242 the
+         fax/sip/directmedia_reinvite_t38 test started failing due to the
+         surviving channel not being re-INVITEd back from T.38 to audio.
+         This patch fixes that bug - a deeper explanation of what happened
+         follows. When two RTP channels are in a native bridge, the
+         bridging layer will investigate each via the get_rtp_info glue
+         callback. This callback returns the native bridge preference of
+         the channel *at that moment in time* (that part is key). At
+         different points during the bridging, the native bridging layer
+         will inform the RTP capable channels of the status of the bridge
+         via the update_peer glue callback. In a T.38 scenario with audio
+         direct media, the sequence of events will often look like the
+         following: * SIP/A and SIP/B both have audio and enter a native
+         bridge. * Asterisk re-INVITEs audio between SIP/A and SIP/B
+         directly (via an update_peer callback). * SIP/A sends a re-INVITE
+         to T.38, which causes Asterisk to send a re-INVITE to T.38 to
+         SIP/B. Assuming everyone 200 OKs the process, the UDPTL stack
+         receives UDPTL packets in Asterisk from both endpoints. From the
+         perspective of the channels, we are now in a local bridge for
+         T.38, even though we are technically still in a remote bridge in
+         bridge_native_rtp. (YAY!) * When one side hangs up,
+         bridge_native_rtp is told to stop bridging. It then re-evaluates
+         the channels and asks them how they are bridged - and since T.38
+         is enabled, they reply with a Local bridge (which is correct),
+         but is wrong because the audio portion is still technically in a
+         remote bridge. * Asterisk releases the surviving channel, whose
+         audio is *not* re-INVITED back to Asterisk as bridge_native_rtp
+         incorrectly assumes that it was in a local bridge. Ironically,
+         prior to r425242, this used to work mostly due to a fluke in the
+         bridging layer. The purpose of the get_rtp_info callback
+         shouldn't be modified: it should tell the bridging layer what
+         kind of bridge the channel prefers at that moment in time. If you
+         have T.38 enabled, that *must* be a local bridge, as the UDPTPL
+         stack must be in the media path. As such, this patch does not
+         modify that part of the code. However, we have to tell the
+         channels to re-evaluate themselves when they come out of a native
+         bridge, since we can no longer trust the get_rtp_info callbacks
+         when the native bridge is being stopped. Something else may have
+         changed in the channels, and they may now be lying to us. As
+         such, this patch makes it so that we unilaterally tell the
+         channels that they are no longer bridged via the update_peer
+         callback. This is actually what the channels expect anyway: code
+         in both chan_sip and chan_pjsip's callbacks look at the T.38
+         state and - if they were in T.38 - send a re-INVITE to get the
+         audio back to Asterisk. Review:
+         https://reviewboard.asterisk.org/r/4157/ ........ Merged
+         revisions 427582 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-08 18:17 +0000 [r427557]  Corey Farrell <git@cfware.com>
+
+       * /, channels/chan_console.c: chan_console: Fix reference leaks to
+         pvt. Fix a bunch of calls to get_active_pvt where the reference
+         is never released. ASTERISK-24504 #close Reported by: Corey
+         Farrell Review: https://reviewboard.asterisk.org/r/4152/ ........
+         Merged revisions 427554 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427555 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-06 19:22 +0000 [r427494-427512]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_agent_pool.c, /: app_agent_pool: Made agent alert
+         interruptable by DTMF. Made agent able to interrupt the alerting
+         beep playback with DTMF. Any digit can interrupt if the call does
+         not need to be acknowledged. Only the first digit of the
+         acknowledgement can interrupt if the call needs to be
+         acknowledged. The agent interrupting the alerting playback builds
+         on the ASTERISK-24447 patch because it knows what digit
+         interrupted the playback and needs to be able to pass that digit
+         to the DTMF hook digit collection code. ASTERISK-24257 #close
+         Reported by: Steve Pitts Review:
+         https://reviewboard.asterisk.org/r/4123/ ........ Merged
+         revisions 427508 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, include/asterisk/bridge_channel.h, main/bridge_channel.c:
+         Bridge DTMF hooks: Made audio pass from the bridge while waiting
+         for more matching digits. * Made collecting DTMF digits for the
+         DTMF feature hooks pass frames from the bridge. * Made collecting
+         DTMF digits possible by other bridge hooks if there is a need.
+         ASTERISK-24447 #close Reported by: Richard Mudgett Review:
+         https://reviewboard.asterisk.org/r/4123/ ........ Merged
+         revisions 427493 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-06 18:20 +0000 [r427491]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/pjsip_distributor.c: res_pjsip: Ensure in-dialog
+         responses have an endpoint associated. When handling incoming
+         messages we determine if it is associated with a dialog. If so we
+         use that to determine what serializer and endpoint to use for the
+         message. Previously this would pass the endpoint to the endpoint
+         lookup module to actually place the endpoint completely on the
+         message. For in-dialog responses, however, this did not occur as
+         dialog processing took over and the endpoint lookup did not
+         occur. This change just places the endpoint in the expected spot
+         immediately instead of relying on the endpoint lookup module.
+         In-dialog responses thus have the expected endpoint. AST-1459
+         #close Review: https://reviewboard.asterisk.org/r/4146/ ........
+         Merged revisions 427490 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-06 12:13 +0000 [r427384-427466]  Corey Farrell <git@cfware.com>
+
+       * main/file.c, /: main/file.c: fix possible extra ast_module_unref
+         to format modules. fn_wrapper only adds a reference to the
+         format's module if the file was able to be opened. If not this
+         causes an unmatched ast_module_unref in filestream_destructor.
+         Move ast_module_ref to get_stream. ASTERISK-24492 #close Reported
+         by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4149/ ........ Merged
+         revisions 427464 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427465 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_hep.c, /: res_hep: fix major leak that occurs when config
+         is missing or enabled=no. Add missing unreference in
+         hepv3_send_packet. ASTERISK-24491 #close Reported by: Zane Conkle
+         Tested by: Zane Conkle Review:
+         https://reviewboard.asterisk.org/r/4150/ ........ Merged
+         revisions 427400 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/utils.c, include/asterisk/stringfields.h: Fix unintential
+         memory retention in stringfields. * Fix missing / unreachable
+         calls to __ast_string_field_release_active. * Reset pool->used to
+         zero when the current pool->active reaches zero. ASTERISK-24307
+         #close Reported by: Etienne Lessard Tested by: ibercom, Etienne
+         Lessard Review: https://reviewboard.asterisk.org/r/4114/ ........
+         Merged revisions 427380 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 427381 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427382 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-06 02:37 +0000 [r427356]  George Joseph <george.joseph@fairview5.com>
+
+       * tests/test_strings.c, /: test_strings: Remove string tests that
+         exercise asserts. Since unit tests are run with DO_CRASH, those
+         tests were causing the test to fail. Tested-by: George Joseph
+         ........ Merged revisions 427354 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427355 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-05 19:52 +0000 [r427334]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip/config_system.c, configs/samples/pjsip.conf.sample,
+         res/res_pjsip.c: Make the disable_tcp_switch PJSIP system object
+         enabled by default. Testing has shown repeatedly that PJSIP's
+         default behavior of switching automatically to TCP for large
+         messages can cause issues. The most common issues are that
+         devices that we are communicating with do not handle the switch
+         to TCP gracefully, thus causing situations such as broken calls
+         or broken subscriptions. Now, in order to have this behavior
+         happen, you must opt into it. The sample file has been updated to
+         warn that enabling the TCP switch behavior may cause issues for
+         you, so use at your own risk.
+
+2014-11-05 12:18 +0000 [r427303]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Add logging
+         during startup to aid debugging if local DNS is misbehaving. This
+         change adds a bit of logging so if the local DNS is misbehaving
+         it is easier to track down what is going on and where Asterisk
+         may be hanging. ASTERISK-24438 #close Reported by: Melissa
+         Shepherd Review: https://reviewboard.asterisk.org/r/4148/
+         ........ Merged revisions 427300 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-05 00:15 +0000 [r427228-427276]  George Joseph <george.joseph@fairview5.com>
+
+       * pbx/pbx_config.c, main/config.c, tests/test_strings.c,
+         include/asterisk/utils.h, /, main/utils.c: config: Make
+         text_file_save and 'dialplan save' escape semicolons in values.
+         When a config file is read, an unescaped semicolon signals
+         comments which are stripped from the value before it's stored.
+         Escaped semicolons are then unescaped and become part of the
+         value. Both of these behaviors are normal and expected. When the
+         config is serialized either by 'dialplan save' or
+         AMI/UpdateConfig however, the now unescaped semicolons are
+         written as-is. If you actually reload the file just saved, the
+         unescaped semicolons are now treated as start of comments. Since
+         true comments are stripped on read, any semicolons in
+         ast_variable.value must have been escaped originally. This patch
+         re-escapes semicolons in ast_variable.values before they're
+         written to file either by 'dialplan save' or
+         config/ast_config_text_file_save which is called by
+         AMI/UpdateConfig. I also fixed a few pre-existing formatting
+         issues nearby in pbx_config.c Tested-by: George Joseph
+         ASTERISK-20127 #close Review:
+         https://reviewboard.asterisk.org/r/4132/ ........ Merged
+         revisions 427275 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/config.c, /: config: BUG: Restore ability for non-templ to
+         be used as base objs in config. My recent refactor of config.c
+         accidentally removed the capability for an object to inherit from
+         a non-template object. This patch restores the capability to
+         inherit from both template and non-template objects. Tested-by:
+         George Joseph Reported-by: Scott Griepentrog ASTERISK-24487
+         #close Review: https://reviewboard.asterisk.org/r/4147/ ........
+         Merged revisions 427227 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-04 19:44 +0000 [r427181-427204]  Corey Farrell <git@cfware.com>
+
+       * funcs/func_talkdetect.c, /: func_talkdetect: Fix stasis message
+         leak in audiohook callback. ASTERISK-24482 #close Reported by:
+         Corey Farrell Review: https://reviewboard.asterisk.org/r/4142/
+         ........ Merged revisions 427203 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_http_websocket.c: res_http_websockets: Fix extra unref
+         of module In websocket_add_protocol_internal is used to add the
+         "echo" protocol, but ast_websocket_remove_protocol is used to
+         remove it. This causes an extra call to ast_module_unref.
+         ASTERISK-24480 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4140/ ........ Merged
+         revisions 427200 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/app.c: Fix crash caused by merge error on review 4138 When
+         merging from 12 to 13 there were conflicts, I mistakenly had the
+         loop run ast_closestream(others[0]) when it should be
+         ast_closestream(others[x]).
+
+2014-11-03 18:15 +0000 [r427130]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_pjsip/config_system.c, UPGRADE.txt,
+         configs/samples/pjsip.conf.sample, res/res_pjsip.c: res_pjsip:
+         Add disable_tcp_switch option. When a packet exceeds the MTU,
+         pjproject will switch from UDP to TCP. In some circumstances (on
+         some networks), this can cause some issues with messages not
+         getting sent to the correct destination - and can also cause
+         connections to get dropped due to quirks in pjproject deciding to
+         terminate TCP connections with no messages. While fixing the
+         routing/messaging issues is important, having a configuration
+         option in Asterisk that tells pjproject to not switch over to TCP
+         would be useful. That way, if some glitch is discovered on some
+         other network/site, we can at least disable the behavior until a
+         fix is put into place. AFS-197 #close Review:
+         https://reviewboard.asterisk.org/r/4137/ ........ Merged
+         revisions 427129 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-03 02:34 +0000 [r427021-427089]  Corey Farrell <git@cfware.com>
+
+       * apps/app_voicemail.c, /: Fix compile error caused by review 4138
+         There is no procedure called ast_closeframe, fix code to use
+         ast_closestream. Reported By: Matt Jordan ........ Merged
+         revisions 427087 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427088 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/app.c, apps/app_voicemail.c, /: Fix ast_writestream leaks
+         Fix cleanup in __ast_play_and_record where others[x] may be
+         leaked. This was caught where prepend != NULL && outmsg != NULL,
+         once realfile[x] == NULL any further others[x] would be leaked. A
+         cleanup block was also added for prepend != NULL && outmsg ==
+         NULL. 11+: Fix leak of ast_writestream recording_fs in
+         app_voicemail:leave_voicemail. ASTERISK-24476 #close Reported by:
+         Corey Farrell Review: https://reviewboard.asterisk.org/r/4138/
+         ........ Merged revisions 427023 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 427024 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427025 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/abstract_jb.c: func_jitterbuffer: fix frame leaks. Fix
+         code paths where it is possible for frames to leak. Fix
+         uninitialized variable in jb_get_fixed and jb_get_adaptive.
+         ASTERISK-22409 #related Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4128/ ........ Merged
+         revisions 427019 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 427020 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-11-02 01:01 +0000 [r426996]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_stasis.c: res/res_stasis: Fix crash on module unload
+         while performing operation When the res_stasis module is
+         unloaded, it will dispose of the apps_registry container. This is
+         a problem if an ARI operation is in flight that attempts to use
+         the registry, as the shutdown occurs in a separate thread. This
+         patch adds some sanity checks to the various routines that access
+         the registry which cause the operations to fail if the
+         apps_registry does not exist. Crash caught by the Asterisk Test
+         Suite. ........ Merged revisions 426995 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-31 16:50 +0000 [r426934]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * Makefile, /: install init.d files on GNU/kFreeBSD Review:
+         https://reviewboard.asterisk.org/r/4118/ ........ Merged
+         revisions 426926 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 426927 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426933 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-31 16:40 +0000 [r426924-426930]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, configs/samples/pjsip.conf.sample, res/res_pjsip.c: pjsip:
+         clarify tls cert and key file usage A question arose as to
+         whether a .pem file could be provided in place of the .crt and
+         .key files in a PJSIP TLS configuration. I tested this and
+         discovered that although a cert will be read from the pem file, a
+         key will not, and thus the priv_key_file entry is still required.
+         This update to the fine documentation clarifies the option usage.
+         AST-1448 #close Review: https://reviewboard.asterisk.org/r/4129/
+         Reported by: John Bigelow ........ Merged revisions 426928 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_outbound_registration.c: pjsip: Handle outbound
+         unregister correctly This updates the status of the outbound
+         registration to reflect when it has been unregistered. Since the
+         registration is unregistered but is not stopped, the registration
+         schedule remains active as before. The patch also updates the
+         documentation of both the AMI and CLI commands. ASTERISK-24411
+         #close Review: https://reviewboard.asterisk.org/r/4119/ Reported
+         by: John Bigelow patches: unregister-patch1.txt uploaded by John
+         Bigelow (License 5091) ........ Merged revisions 426923 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-31 03:26 +0000 [r426865]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/sip/reqresp_parser.c,
+         channels/sip/include/reqresp_parser.h:
+         channels/sip/reqresp_parser: Fix unit tests for r426594 When
+         r426594 was made, it did not take into account a unit test that
+         verified that the function properly populated the unsupported
+         buffer. The function would previously memset the buffer if it
+         detected it had any contents; since this function can now be
+         called iteratively on successive headers, the unit tests would
+         now fail. This patch updates the unit tests to reset the buffer
+         themselves between successive calls, and updates the
+         documentation of the function to note that this is now required.
+         ........ Merged revisions 426858 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 426860 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426863 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-31 03:08 +0000 [r426803-426833]  Corey Farrell <git@cfware.com>
+
+       * contrib/Makefile (added), Makefile, /: REF_DEBUG: Install
+         refcounter.py to $(ASTDATADIR)/scripts This change ensures
+         refcounter.py is installed to a place where it can be found by
+         the Asterisk testsuite if REF_DEBUG is enabled. ASTERISK-24432
+         #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4094/ ........ Merged
+         revisions 426830 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 426831 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426832 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_queue.c: app_queue: fix a couple leaks to struct
+         call_queue in set_member_value set_member_value has a couple
+         leaks to references in the variable q found through testsuite
+         tests/queues/set_penalty. Also remove the REF_DEBUG_ONLY_QUEUES
+         compiler declaration, this is no longer possible with the updated
+         REF_DEBUG code. ASTERISK-24466 #close Reported by: Corey Farrell
+         Review: https://reviewboard.asterisk.org/r/4125/ ........ Merged
+         revisions 426805 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426806 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/audiohook.c: audiohooks: Clean references to formats Cleanup
+         references to in_translate[x].format and out_translate[x].format
+         in ast_audiohook_detach_list. ASTERISK-24465 #close Reported by:
+         Corey Farrell Review: https://reviewboard.asterisk.org/r/4124/
+
+2014-10-30 21:13 +0000 [r426757-426780]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_exten_state.c, /: res_pjsip_exten_state:
+         PJSIPShowSubscriptionsInbound causes crash Currently, it is
+         possible for some subscriptions to get into a NULL state. When
+         this occurs and the PJSIPShowSubscriptionsInbound ami action is
+         issued and a device is subscribed for extension state then the
+         associated subscription state object can't be located. The code
+         then attempts to dereference a NULL object. Added a NULL check to
+         avoid the problem. Reported by: John Bigelow ........ Merged
+         revisions 426779 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip/pjsip_options.c, /: res_pjsip: incorrect qualify
+         statistics after disabling for contact When removing the
+         qualify_frequency from an AoR or a contact the statistics shown
+         when issuing "pjsip show aors" from the CLI are incorrect. This
+         patch deletes the contact's status object from sorcery,
+         disassociating it from the contact, if the qualify_freqency is
+         removed from configuration. ASTERISK-24462 #close Reported by:
+         Mark Michelson Review: https://reviewboard.asterisk.org/r/4116/
+         ........ Merged revisions 426755 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-30 09:20 +0000 [r426702]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * apps/app_voicemail.c, /: app_voicemail: Fix unchecked bounds of
+         myArray in IMAP_STORAGE. In update_messages_by_imapuser(),
+         messages were appended to a finite array which resulted in a
+         crash when an IMAP mailbox contained more than 256 entries. This
+         memory is now dynamically increased as needed. Observe that this
+         patch adds a bunch of XXX's to questionable code. See the review
+         (url below) for more information. ASTERISK-24190 #close Reported
+         by: Nick Adams Tested by: Nick Adams Review:
+         https://reviewboard.asterisk.org/r/4126/ ........ Merged
+         revisions 426691 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 426692 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426696 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-30 06:09 +0000 [r426668]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>
+
+       * channels/chan_unistim.c, /: Add additional checks for NULL
+         pointers to fix several crashes reported. ASTERISK-24304 #close
+         Reported by: dhanapathy sathya ........ Merged revisions 426666
+         from http://svn.asterisk.org/svn/asterisk/branches/11 ........
+         Merged revisions 426667 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-30 01:59 +0000 [r426597-426602]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: channels/chan_sip: Add improved support
+         for 4xx error codes This patch adds support for 414, 493, 479,
+         and a stray 400 response in REGISTER response handling. This
+         helps interoperability in a number of scenarios. Review:
+         https://reviewboard.asterisk.org/r/3437 patches: rb3437.patch
+         uploaded by oej (License 5267) ........ Merged revisions 426599
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 426600 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426601 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/sip/reqresp_parser.c, /, channels/chan_sip.c:
+         channels/chan_sip: Support mutltiple Supported and Required
+         headers A SIP request may contain multiple Supported: and
+         Required: headers. Currently, chan_sip only parses the first
+         Supported/Required header it finds. This patch adds support for
+         multiple Supported/Required headers for INVITE requests. Review:
+         https://reviewboard.asterisk.org/r/2478 ASTERISK-21721 #close
+         Reported by: Olle Johansson patches: rb2478.patch uploaded by oej
+         (License 5267) ........ Merged revisions 426594 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 426595 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426596 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-29 10:33 +0000 [r426570]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * channels/chan_phone.c: Fix building chan_phone on big endian
+         systems A left over from the formats conversion (Corey Farrell).
+         ASTERISK-24458 #close Review:
+         https://reviewboard.asterisk.org/r/4117/
+
+2014-10-28 21:26 +0000 [r426552]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, bridges/bridge_builtin_features.c: bridge_builtin_features:
+         Add missing channel locks around
+         ast_get_chan_features_general_config(). The feature_automonitor()
+         and feature_automixmonitor() functions were not locking the
+         channel around ast_get_chan_features_general_config(). Accessing
+         the channel datastore list without the channel locked is a good
+         way to corrupt the list or follow the pointer chain into
+         oblivion. ........ Merged revisions 426531 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-28 21:05 +0000 [r426525-426529]  Corey Farrell <git@cfware.com>
+
+       * /, res/res_fax.c: res_fax: Resolve T38 gateway frame leak. When
+         frames are translated by a fax gateway they need to be freed. The
+         existing call to ast_frfree was unreachable. This change
+         reorganizes fax_gateway_framehook to ensure that ast_frfree is
+         called when needed. ASTERISK-24457 #close Reported by: Corey
+         Farrell Review: https://reviewboard.asterisk.org/r/4115/ ........
+         Merged revisions 426527 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426528 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/manager.c, /: manager: Unsubscribe from acl_change_sub at
+         shutdown. ASTERISK-24453 #close Reported by: Corey Farrell
+         Review: https://reviewboard.asterisk.org/r/4110/ ........ Merged
+         revisions 426524 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-28 18:09 +0000 [r426459]  mdavenport <mdavenport@localhost>:
+
+       * configs/samples/manager.conf.sample: ASTERISK-23512, correct
+         inaccurate comment in manager.conf.sample
+
+2014-10-28 16:40 +0000 [r426368-426432]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/bridge.c: main/bridge: Destroy features struct on off
+         nominal path during bridge impart When a channel is imparted to a
+         bridge, the invocation of the function may provide an
+         ast_bridge_features struct. Upon passing this to
+         ast_bridge_impart, the caller must assume that ownership has
+         passed to the function, as in all paths the function destroys the
+         struct prior to returning (as its purpose is to configure the
+         behavior of the channel while in the bridge). On one off nominal
+         path - where the channel already has a PBX thread - the struct
+         was not being destroyed. This patch fixes that glitch.
+         ASTERISK-24437 #close Reported by: Scott Griepentrog ........
+         Merged revisions 426431 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/manager.c, /: main/manager: Fix typo in AMI event
+         documentation of "OriginateResponse" The parameter name is
+         "Response", not "Resonse". ASTERISK-24430 #close Reported by:
+         Dafi Ni ........ Merged revisions 426366 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426367 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-28 14:56 +0000 [r426294-426362]  mdavenport <mdavenport@localhost>:
+
+       * res/res_agi.c: ASTERISK-24323, fix bug in documentation of AGI
+         STREAM FILE CONTROL
+
+       * configs/samples/extensions.conf.sample: ASTERISK-24419, fix
+         incorrect syntax for setting language in extensions.conf.sample
+
+2014-10-28 11:20 +0000 [r426252-426266]  Corey Farrell <git@cfware.com>
+
+       * apps/app_queue.c, /: app_queue: Cleanup ao2_iterator Clean
+         ao2_iterator, resolving reference leak to queue members.
+         ASTERISK-24454 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4111/ ........ Merged
+         revisions 426255 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426260 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * funcs/func_cdr.c: func_cdr: Fix CDR_PROP payload leak Remove
+         duplicate allocation of payload, preventing leak. ASTERISK-24455
+         #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4113/
+
+2014-10-27 17:54 +0000 [r426234]  Sean Bright <sean@malleable.com>
+
+       * build_tools/menuselect-deps.in, configure,
+         include/asterisk/autoconfig.h.in, configure.ac, makeopts.in:
+         configure: Add autoconf check for libopus. Because opus
+         transcoding support cannot be included in the standard Asterisk
+         distribution, a few codec_opus implementations have popped up. To
+         make it easier for people to drop in opus support in their own
+         installations, this patch adds configure checks for libopus.
+         Review: https://reviewboard.asterisk.org/r/4106/
+
+2014-10-27 02:46 +0000 [r426143-426211]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_http_websocket.c, /: res/res_http_websocket: Fix minor
+         nits found by wdoekes on r409681 When Moises committed the fixes
+         for WSS (which was a great patch), wdoekes had a few style nits
+         that were on the review that got missed. This patch resolves what
+         I *think* were all of the ones that were still on the review.
+         Thanks to both moy for the patch, and wdoekes for the reviews.
+         Review: https://reviewboard.asterisk.org/r/3248/ ........ Merged
+         revisions 426209 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426210 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_phoneprov.c: res/res_phoneprov: Fix crash on shutdown
+         caused by container cleanup In res_phoneprov, unloading the
+         module first destroys the http_routes container, followed by the
+         users. However, users may have a route in the http_routes
+         container; the validity of this container is not checked in the
+         users destructor. Hence, we hit an assert as the container has
+         already been set to NULL. This patch does two things: (1) It adds
+         a sanity check in the user destructor (because why not) (2) It
+         switches the order of destruction, so that users are disposed of
+         prior to the HTTP routes they may hold a reference to. Note that
+         this crash was caught by the Test Suite (go go testing!) ........
+         Merged revisions 426174 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_srtp.c, /: res/res_srtp: Fix include issue for libsrtp
+         1.5.0 In libsrtp 1.5.0, crypto_get_random is no longer resolved
+         simply by including srtp.h. Now, one must include crypto_kernel.h
+         as well. As it turns out, this header file has been provided by
+         the library since 2006, so this is a relatively benign change.
+         ASTERISK-24436 #close Reported by: Patrick Laimbock ........
+         Merged revisions 426140 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 426141 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 426142 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-24 15:17 +0000 [r426120]  Jonathan Rose <jrose@digium.com>
+
+       * main/manager.c: Documentation: Improve documentation for
+         ExtensionStatus AMI events Review:
+         https://reviewboard.asterisk.org/r/4085/
+
+2014-10-24  Asterisk Development Team <asteriskteam@digium.com>
+
+       * Asterisk 13.0.0 Released.
+
+2014-10-22 21:27 +0000 [r426097]  Shaun Ruffell <sruffell@digium.com>
+
+       * codecs/codec_dahdi.c: codec_dahdi: Cannot use struct
+         ast_translator.core_{src,src}_codec. This fixes a Segmentation
+         fault introduced in r419044 "media formats: re-architect handling
+         of media for performance improvements". The problem is that
+         codec_dahdi was using core_src_codec and core_dst_codec in the
+         ast_translator structure when these fields were never set. Now
+         instead of trying to map the new core codec descriptions to the
+         way DAHDI defines different codecs, we will store the DAHDI
+         specific formats in 'struct translator' directly so we can refer
+         to them without mapping. This also allows us to remove the
+         "global_format_map" structure, since we can now query the list of
+         translators directly to make sure we do not ever register a DAHDI
+         based translator for a specific path more than once and eliminate
+         the need to keep the list and the map in sync. ASTERISK-24435
+         #close Reported by: Marian Koniuszko Review:
+         https://reviewboard.asterisk.org/r/4105/
+
+2014-10-21 17:47 +0000 [r426079]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/translate.c: translage.c: Fix regression when generating
+         translation path strings. Fix the AMI Status action read and
+         write translation path strings from growing for each channel in
+         the status event list by reseting the ast string given to
+         ast_translate_path_to_str() to fill in the given translation
+         path.
+
+2014-10-20 14:15 +0000 [r425991]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_xmpp.c, main/tcptls.c, /: AST-2014-011: Fix POODLE
+         security issues There are two aspects to the vulnerability: (1)
+         res_jabber/res_xmpp use SSLv3 only. This patch updates the module
+         to use TLSv1+. At this time, it does not refactor
+         res_jabber/res_xmpp to use the TCP/TLS core, which should be done
+         as an improvement at a latter date. (2) The TCP/TLS core, when
+         tlsclientmethod/sslclientmethod is left unspecified, will default
+         to the OpenSSL SSLv23_method. This method allows for all
+         encryption methods, including SSLv2/SSLv3. A MITM can exploit
+         this by forcing a fallback to SSLv3, which leaves the server
+         vulnerable to POODLE. This patch adds WARNINGS if a user uses
+         SSLv2/SSLv3 in their configuration, and explicitly disables
+         SSLv2/SSLv3 if using SSLv23_method. For TLS clients, Asterisk
+         will default to TLSv1+ and WARN if SSLv2 or SSLv3 is explicitly
+         chosen. For TLS servers, Asterisk will no longer support SSLv2 or
+         SSLv3. Much thanks to abelbeck for reporting the vulnerability
+         and providing a patch for the res_jabber/res_xmpp modules.
+         Review: https://reviewboard.asterisk.org/r/4096/ ASTERISK-24425
+         #close Reported by: abelbeck Tested by: abelbeck, opsmonitor,
+         gtjoseph patches: asterisk-1.8-jabber-tls.patch uploaded by
+         abelbeck (License 5903) asterisk-11-jabber-xmpp-tls.patch
+         uploaded by abelbeck (License 5903) AST-2014-011-1.8.diff
+         uploaded by mjordan (License 6283) AST-2014-011-11.diff uploaded
+         by mjordan (License 6283) ........ Merged revisions 425987 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-19 17:07 +0000 [r425965]  George Joseph <george.joseph@fairview5.com>
+
+       * Makefile, /, configure, include/asterisk/autoconfig.h.in,
+         configure.ac, makeopts.in: build: Force -fsigned-char on
+         platforms where the default for char is unsigned gcc on the ARM
+         platform defaults 'char' to 'unsigned char' whereas Intel and
+         SPARC default to 'signed char'. This is only an issue in the rare
+         cases where negative values are assigned to a 'char' but this
+         this patch insures compatibility by detecting platforms that
+         default to 'unsigned' and adding an '-fsigned-char' flag to
+         _ASTCFLAGS. If compiling for ARM (native or cross-compile) be
+         sure to run ./bootstrap.sh and ./configure to regenerate the
+         build files. You shouldn't have to do this for Intel or SPARC.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4091/ ........ Merged
+         revisions 425964 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-19 04:01 +0000 [r425923-425944]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c: res/res_pjsip_sdp_rtp: Revert 425922
+         This patch for r425922 introduced a bug, wherein sending an
+         INVITE request with no SDP would cause Asterisk to not send an
+         SDP Offer in the 200 OK. The current structure of
+         res_pjsip_sdp_rtp is a bit hard to deal with to fix this, as
+         create_outgoing_sdp has no knowledge of whether or not it is
+         creating an SDP as a new Offer or an Answer. This is something of
+         an oversight in the callback definition, as the caller of it does
+         have this information.
+
+       * res/res_pjsip_sdp_rtp.c: res/res_pjsip_sdp_rtp: Remove left over
+         reference to override_prefs The usage of the local override_prefs
+         variable in create_outgoing_sdp_stream was previously to track an
+         override format preference set by PJSIP_MEDIA_OFFER. Now,
+         however, that function simply sets the joint capabilities
+         structure, session->req_caps. During the media format rework, the
+         override_prefs was instead used to check if there were any
+         formats in session->req_caps. However, this usage isn't useful in
+         create_outgoing_sdp_stream. session->req_caps contains the
+         negotiated formats for *all* streams, not just the current one
+         being created. Thus, so long as any stream of any type has
+         provided a format, override_prefs will be non-zero. Hence, its
+         usage in checking whether or not we should look at the formats on
+         the endpoint or the joint capabilities is generally useless.
+         There's only two things useful to check: (1) Does the endpoint
+         have a format for the media type? (2) Did we negotiate a format
+         for the media type? If either of those is a 'no', then we must
+         kill the media stream.
+
+2014-10-17 22:43 +0000 [r425905]  Jonathan Rose <jrose@digium.com>
+
+       * configs/samples/cli_aliases.conf.sample: Sample Configurations:
+         make 'pjsip reload' reload all reloadable pjsip modules AST-1432
+         #close Reported by: John Bigelow
+
+2014-10-17 13:35 +0000 [r425821-425879]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, res/res_pjsip.c,
+         res/res_pjsip_session.c, /: res_pjsip_session/res_pjsip_sdp_rtp:
+         Be more tolerant of offers When an inbound SDP offer is received,
+         Asterisk currently makes a few incorrection assumptions: (1) If
+         the offer contains more than a single audio/video stream,
+         Asterisk will reject the entire stream with a 488. This is an
+         overly strict response; generally, Asterisk should accept the
+         media streams that it can accept and decline the others. (2) If
+         the offer contains a declined media stream, Asterisk will attempt
+         to process it anyway. This can result in attempting to match
+         format capabilities on a declined media stream, leading to a 488.
+         Asterisk should simply ignore declined media streams. (3)
+         Asterisk will currently attempt to handle offers with AVPF with
+         use_avpf=No/AVP with use_avpf=Yes. This mismatch results in
+         invalid SDP answers being sent in response. If there is a
+         mismatch between the media type being offered and the
+         configuration, Asterisk must reject the offer with a 488. This
+         patch does the following: * Asterisk will accept SDP offers with
+         at least one media stream that it can use. Some WARNING messages
+         have been dropped to NOTICEs as a result. * Asterisk will not
+         accept an offer with a media type that doesn't match its
+         configuration. * Asterisk will ignore declined media streams
+         properly. #SIPit31 Review:
+         https://reviewboard.asterisk.org/r/4063/ ASTERISK-24122 #close
+         Reported by: James Van Vleet ASTERISK-24381 #close Reported by:
+         Matt Jordan ........ Merged revisions 425868 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: channels/chan_sip: Respect outboundproxy
+         setting when sending qualify requests The outboundproxy setting
+         is currently ignored when sending OPTIONS requests as a result of
+         the qualify setting. This means that if an Asterisk server is
+         unable to send the packet directly to a peer, it is unable to
+         qualify any non-inbound registered peer (e.g. a peer SIP Trunk).
+         This patch grabs the outboundproxy information for a peer when a
+         qualify attempt is being constructed and, if it finds the
+         information, uses it when sending the OPTIONS request. Review:
+         https://reviewboard.asterisk.org/r/3948 ASTERISK-24063 #close
+         Reported by: Damian Ivereigh patches: outboundproxy-dai.patch
+         uploaded by Damian Ivereigh (License 6632) ........ Merged
+         revisions 425818 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425819 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425820 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-17 02:41 +0000 [r425783]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/core_unreal.c, main/channel.c, /: AMI: Add missing VarSet
+         events when a channel inherits variables. There should be AMI
+         VarSet events when channel variables are inherited by an outgoing
+         channel. Also local;2 should generate VarSet events when it gets
+         all of its channel variables from channel local;1. ASTERISK-24415
+         #close Reported by: Richard Mudgett Patches:
+         jira_asterisk_24415_v12.patch (license #5621) patch uploaded by
+         Richard Mudgett Review: https://reviewboard.asterisk.org/r/4074/
+         ........ Merged revisions 425782 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-17 01:57 +0000 [r425736-425761]  Matthew Jordan <mjordan@digium.com>
+
+       * /, bridges/bridge_native_rtp.c: bridge_native_rtp: Fix audio
+         issues when moving from remote bridge to softmix When a native
+         RTP bridge that is remotely bridging its participants switches to
+         a softmix bridge, it may not properly re-INVITE the media for one
+         or both participants back to Asterisk. This is due to the current
+         bridge_native_rtp code only re-INVITEs if it believes the channel
+         will survive the bridge operation. Currently, that code is
+         failing, as it expects the channels to have a soft hangup flag
+         set on it indicating that a redirect has occurred or that the
+         channel is going to leave the bridge. (The code did not take into
+         account a smart bridge operation). This patch also renames a few
+         things to be more reflective of the underlying types. Review:
+         https://reviewboard.asterisk.org/r/3997/ ASTERISK-24327 #close
+         ........ Merged revisions 425760 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, tests/test_cel.c: test_cel: Update pickup test to expect
+         CANCEL instead of ANSWSER The CEL pickup test previously looked
+         for a disposition of ANSWER between the original caller/peer when
+         the call is picked up. This is actually incorrect: the
+         disposition should, at the very least, not be ANSWER as the call
+         was never ANSWERed. The disposition is now CANCEL; this patch
+         updates the test accordingly. ........ Merged revisions 425757
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: main/cdr: Use 'time' when rescheduling batched
+         CDRs as opposed to 'size' When refactoring CDRs to use the
+         configuration framework, a 'whoops' was introduced where the CDR
+         batch size was used when rescheduling a batch, as opposed to the
+         time duration. This patch corrects that obvious mistake.
+         ASTERISK-24426 #close Reported by: Shane Blaser ........ Merged
+         revisions 425735 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-16 17:30 +0000 [r425714]  George Joseph <george.joseph@fairview5.com>
+
+       * include/asterisk/config.h, tests/test_config.c, main/config.c, /:
+         config: Fix inf loop using ast_category_browse and
+         ast_variable_retrieve Fix infinite loop when calling
+         ast_variable_retrieve inside an ast_category_browse loop when
+         there is more than 1 category with the same name. Tested-by:
+         George Joseph Review: https://reviewboard.asterisk.org/r/4089/
+         ........ Merged revisions 425713 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-16 14:35 +0000 [r425691]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip_t38.c, res/res_pjsip_registrar_expire.c,
+         res/res_pjsip_mwi_body_generator.c,
+         res/res_pjsip_endpoint_identifier_user.c,
+         res/res_pjsip_send_to_voicemail.c,
+         include/asterisk/res_pjsip_pubsub.h,
+         res/res_pjsip_outbound_authenticator_digest.c,
+         res/res_pjsip_outbound_registration.c,
+         res/res_pjsip_endpoint_identifier_anonymous.c,
+         res/res_pjsip_path.c, res/res_pjsip_one_touch_record_info.c,
+         res/res_pjsip_acl.c, res/res_pjsip_pubsub.c,
+         res/res_pjsip_diversion.c, res/res_pjsip_refer.c,
+         include/asterisk/res_pjsip.h,
+         res/res_pjsip_pidf_body_generator.c, res/res_pjsip_dtmf_info.c,
+         res/res_pjsip_multihomed.c, res/res_pjsip_authenticator_digest.c,
+         res/res_pjsip_sdp_rtp.c, res/res_hep_pjsip.c,
+         res/res_pjsip_messaging.c, res/res_pjsip_caller_id.c,
+         res/res_pjsip_logger.c, res/res_pjsip_nat.c,
+         res/res_pjsip_session.c, res/res_pjsip_exten_state.c,
+         res/res_pjsip_header_funcs.c, res/res_pjsip_rfc3326.c,
+         res/res_pjsip_phoneprov_provider.c, res/res_pjsip_mwi.c,
+         res/res_pjsip_dialog_info_body_generator.c,
+         res/res_pjsip_xpidf_body_generator.c, res/res_pjsip_registrar.c,
+         channels/chan_pjsip.c, res/res_pjsip_transport_websocket.c,
+         res/res_pjsip_pidf_eyebeam_body_supplement.c,
+         include/asterisk/res_pjsip_session.h, /, res/res_pjsip_notify.c,
+         res/res_pjsip_pidf_digium_body_supplement.c,
+         res/res_pjsip_endpoint_identifier_ip.c,
+         res/res_pjsip_publish_asterisk.c: PJSIP: Enforce module load
+         dependencies This enforces that res_pjsip, res_pjsip_session, and
+         res_pjsip_pubsub have loaded properly before attempting to load
+         any modules that depend on them since the module loader system is
+         not currently capable of resolving module dependencies on its
+         own. ASTERISK-24312 #close Reported by: Dafi Ni Review:
+         https://reviewboard.asterisk.org/r/4062/ ........ Merged
+         revisions 425690 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-16 06:11 +0000 [r425669]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>
+
+       * channels/chan_unistim.c, /: Fix loss of voice after second call
+         drops (on a second line) in case using multiple lines on unistim
+         phones. There is regression was introduced in r391379. Reported
+         by: Rustam Khankishyiev (closes issue ASTERISK-23846) ........
+         Merged revisions 425667 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425668 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-16 01:25 +0000 [r425646]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix a bug where ICE
+         state would get reset when it shouldn't. In the case where the
+         ICE negotiation had not yet started current state would get wiped
+         when it shouldn't. This also removes channel binding as in
+         practice this does not work well with other implementations.
+         ........ Merged revisions 425644 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425645 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-15 19:31 +0000 [r425627]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_motif.c: chan_motif: Cleanup
+         jingle_tech.capabilities only once.
+
+2014-10-15 19:05 +0000 [r425611]  Jonathan Rose <jrose@digium.com>
+
+       * res/parking/parking_tests.c: parking_tests: Fix assertions and
+         possibly crashes in res_parking unit tests Assertions were caused
+         by attempting to play music on hold to a channel with no formats.
+         Parking unit test channels were given formats and a technology so
+         that they would be able to pretend to read/write frames.
+         ASTERISK-24413 #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/4075/
+
+2014-10-15 09:59 +0000 [r425590]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/chan_ooh323.c, /: chan_ooh323: fix rtptimeout general
+         value checking correct condition to check rtptimeout in [general]
+         config section ASTERISK-24393 #close Reported by: Dmitry Melekhov
+         Tested by: Dmitry Melekhov Patches: ASTERISK-24393.patch ........
+         Merged revisions 425547 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425548 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425589 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-14 20:46 +0000 [r425526]  George Joseph <george.joseph@fairview5.com>
+
+       * /, include/asterisk/config.h, tests/test_config.c, main/config.c:
+         config: Fix SEGV in unit test with MALLOC_DEBUG With MALLOC_DEBUG
+         the /main/config config_basic_ops test was causing a SEGV while
+         doing an ast_category_delete in an ast_category_browse loop.
+         Apparently this never worked but was also never tested. I removed
+         the test, added 2 notes to config.h indicating that it's not
+         supported and added a few lines of code to ast_category_delete to
+         prevent the SEGV should someone attempt it in the future.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4078/ ........ Merged
+         revisions 425525 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-14 19:00 +0000 [r425504]  Jonathan Rose <jrose@digium.com>
+
+       * main/sched.c, /: Scheduler: Fix a nasty scheduler caching bug
+         which makes new tasks not execute Tasks that were marked for
+         pending deletion in the scheduler would be moved to the cache for
+         later reuse, but after being recycled the deleted mark wouldn't
+         be removed resulting in fresh tasks being deleted without
+         reason... and immediately moved back into the cache where they
+         could be reused again. This could cause horrendous things to
+         happen in just about anything that used a scheduler.
+         ASTERISK-24321 #close Reported by: Steve Pitts Review:
+         https://reviewboard.asterisk.org/r/4071/ ........ Merged
+         revisions 425503 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-14 18:12 +0000 [r425481]  George Joseph <george.joseph@fairview5.com>
+
+       * res/res_phoneprov.c, include/asterisk/phoneprov.h, /,
+         res/res_pjsip_phoneprov_provider.c: res_phoneprov: Create
+         accessor for ast_phoneprov_std_variable_lookup Based on feedback
+         from Richard, I created an accessor for
+         res_phoneprov/ast_phoneprov_std_variable_lookup and added load
+         priority to AST_MODULE_INFO. Tested-by: George Joseph Tested-by:
+         Richard Mudgett Review: https://reviewboard.asterisk.org/r/4076/
+         ........ Merged revisions 425480 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-14 16:46 +0000 [r425459]  Corey Farrell <git@cfware.com>
+
+       * /, res/res_fax.c: res_fax: Fix reference leak caused by gateway
+         sessions Fax gateway session objects can be re-used, causing the
+         same gateway session to be added to faxregistry.container more
+         than once. This change causes fax_session_new to remove the
+         reserved session from the container before it's id is changed,
+         ensuring it's possible for the session to be freed.
+         ASTERISK-24392 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4049/ ........ Merged
+         revisions 425457 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425458 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-14 16:35 +0000 [r425455]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/stasis_channels.c: stasis_channels.c: Resolve unfinished
+         Dials when doing masquerades (Part 2) Masquerades into and out of
+         channels that are involved in a dial operation don't create the
+         expected dial end event. The missing dial end event goes against
+         the model for things like CDRs and generating Dial end manager
+         actions and such. There are four cases: 1) A channel masquerades
+         into the caller channel. The case happens when performing a
+         blonde transfer using the channel driver's protocol. 2) A channel
+         masquerades into a callee channel. The case happens when
+         performing a directed call pickup. 3) The caller channel
+         masquerades out of dial. The case happens when using the Bridge
+         application on the caller channel. 4) A callee channel
+         masquerades out of dial. The case happens when using the Bridge
+         application on a peer channel. As it turned out, all four cases
+         need to be handled instead of just the first one. ASTERISK-24237
+         Reported by: Richard Mudgett ASTERISK-24394 #close Reported by:
+         Richard Mudgett Review: https://reviewboard.asterisk.org/r/4066/
+         ........ Merged revisions 425430 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-14 16:19 +0000 [r425415]  Corey Farrell <git@cfware.com>
+
+       * /, res/res_fax.c: res_fax: Resolve module reference leak caused
+         by reserved sessions Remove reference to module providing
+         reserved session after adding a reference to the final module.
+         This re-reference is done to ensure that module references are
+         correct even if the final session selects a different module than
+         the reserved session. ASTERISK-18923 #close Reported by: Grigoriy
+         Puzankin Review: https://reviewboard.asterisk.org/r/4048/
+         ........ Merged revisions 425405 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425407 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425411 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-13 16:10 +0000 [r425384]  George Joseph <george.joseph@fairview5.com>
+
+       * apps/app_directory.c, tests/test_sorcery.c, main/config.c,
+         tests/test_sorcery_realtime.c, res/res_sorcery_realtime.c,
+         apps/app_voicemail.c, res/res_sorcery_config.c, main/manager.c,
+         /, include/asterisk/config.h, pbx/pbx_realtime.c,
+         tests/test_config.c: manager/config: Support templates and
+         non-unique category names via AMI This patch provides the
+         capability to manipulate templates and categories with non-unique
+         names via AMI. Summary of changes: GetConfig and GetConfigJSON:
+         Added "Filter" parameter: A comma separated list of
+         name_regex=value_regex expressions which will cause only
+         categories whose variables match all expressions to be
+         considered. The special variable name TEMPLATES can be used to
+         control whether templates are included. Passing 'include' as the
+         value will include templates along with normal categories.
+         Passing 'restrict' as the value will restrict the operation to
+         ONLY templates. Not specifying a TEMPLATES expression results in
+         the current default behavior which is to not include templates.
+         UpdateConfig: NewCat now includes options for allowing duplicate
+         category names, indicating if the category should be created as a
+         template, and specifying templates the category should inherit
+         from. The rest of the actions now accept a filter string as
+         defined above. If there are non-unique category names, you can
+         now update specific ones based on variable values. To facilitate
+         the new capabilities in manager, corresponding changes had to be
+         made to config, most notably the addition of filter criteria to
+         many of the APIs. In some cases it was easy to change the
+         references to use the new prototype but others would have
+         required touching too many files for this patch so a wrapper with
+         the original prototype was created. Macros couldn't be used in
+         this case because it would break binary compatibility with
+         modules such as res_digium_phone that are linked to real symbols.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4033/ ........ Merged
+         revisions 425383 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-12 21:09 +0000 [r425362]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Make the ICE
+         transport check case insensitive as some implementations use
+         'udp'. ........ Merged revisions 425360 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425361 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-12 08:15 +0000 [r425289-425299]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, channels/chan_sip.c: chan_sip: Fix so asterisk won't send
+         reINVITE after a BYE. After a reINVITE glare situation, Asterisk
+         would re-send the reINVITE even though the call had been hung up
+         in the mean time. This patch unschedules the reinvite when
+         handling the BYE. ASTERISK-22791 #close Reported by: Paolo
+         Compagnini Tested by: Paolo Compagnini Review:
+         https://reviewboard.asterisk.org/r/4056/ (testcase is in review
+         r4055) ........ Merged revisions 425296 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425297 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425298 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, Makefile: build: Relax badshell tilde test to allow for ~ in
+         middle of DESTDIR. The main Makefile has a target test called
+         'badshell' that tests if DESTDIR does not happen to have an
+         an-expanded tilde (~). This might be the case if you run: make
+         install DESTDIR=~/somewhere/ That test also disallowed valid
+         tildes in directory names. The test is now changed to only
+         trigger on a tilde at the start of the path. ASTERISK-13797
+         #close Reported by: Tzafrir Cohen Review:
+         https://reviewboard.asterisk.org/r/4064/ ........ Merged
+         revisions 425291 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425292 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425293 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_calendar_ews.c: res_calendar_ews: Relax neon version
+         check to work with 0.30 too. Allow res_calendar_ews to work not
+         only with libneon-0.29 but also with 0.30. ASTERISK-24325 #close
+         Reported by: Tzafrir Cohen Review:
+         https://reviewboard.asterisk.org/r/4068/ ........ Merged
+         revisions 425286 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425287 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425288 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-11 21:08 +0000 [r425265]  George Joseph <george.joseph@fairview5.com>
+
+       * /, res/res_phoneprov.c: res_phoneprov: Cleanup module load error
+         handling Tested module load/reload interaction between
+         res_phoneprov and res_pjsip_phoneprov_provider in cases where
+         res_phoneprov didn't load correctly (usually misconfiguration or
+         missing phoneprov.conf) Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4069/ ........ Merged
+         revisions 425264 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-10 20:48 +0000 [r425243]  Joshua Colp <jcolp@digium.com>
+
+       * /, main/bridge.c, bridges/bridge_native_rtp.c: bridge: During a
+         smart bridge operation provide a more complete bridge to the old
+         technology. When a smart bridge operation occurs and a bridge
+         transitions from one technology to another the old technology is
+         provided the channels formerly in it and told that they are
+         leaving. Unfortunately the bridge provided along with them is
+         incomplete. The bridge, despite there being channels in it,
+         contains none. This forces technology implementations to have
+         additional logic when channels are leaving or to store their own
+         duplicated state. This change makes the bridge more complete so
+         it contains the expected channels. Now that the bridge is
+         complete special logic within bridge_native_rtp is no longer
+         needed and has been removed. Review:
+         https://reviewboard.asterisk.org/r/4057/ ........ Merged
+         revisions 425242 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-10 14:31 +0000 [r425221]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_phoneprov.c: res/res_phoneprov: Bail on registration
+         if res_phoneprov didn't load If res_phoneprov failed to fully
+         load (due to not being configured), the providers container will
+         be NULL. If a module attempts to register a phone provisioning
+         provider, it should check for the presence of the container. If
+         there is no providers container, it should return an error. This
+         patch makes the ast_phoneprov_provider_register function do
+         that... otherwise this would be a silly commit message. ........
+         Merged revisions 425220 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-10 14:23 +0000 [r425217]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_phoneprov_provider.c:
+         res_pjsip_phoneprov_provider: Add missing dependency on
+         pjproject. ........ Merged revisions 425216 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-10 13:01 +0000 [r425155]  Kinsey Moore <kmoore@digium.com>
+
+       * /, tests/test_callerid.c, main/callerid.c: CallerID: Fix parsing
+         regression This fixes a regression in callerid parsing introduced
+         when another bug was fixed. This bug occurred when the name was
+         composed entirely of DTMF keys and quoted without a number
+         section (<>). ASTERISK-24406 #close Reported by: Etienne Lessard
+         Tested by: Etienne Lessard Patches: callerid_fix.diff uploaded by
+         Kinsey Moore Review: https://reviewboard.asterisk.org/r/4067/
+         ........ Merged revisions 425152 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425153 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425154 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-10 12:10 +0000 [r425132]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_nat.c, /: res_pjsip_nat: Place source port into
+         rport of responses if 'force_rport' is on. When the 'force_rport'
+         option is enabled the behavior should be the same as if the
+         remote side placed rport into the message themselves. Therefore
+         any responses we send should include the source port of the
+         request in the rport of the Via header. #SIPit31 ASTERISK-24387
+         #close Reported by: Matt Jordan ........ Merged revisions 425131
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-10 07:32 +0000 [r425071]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, channels/chan_sip.c: chan_sip: Fix dialog leak resulting from
+         missing ACK to re-INVITE. If a device re-INVITEs at the same time
+         as the dialog is hung up, and if then the ACK to the re-INVITE
+         never reaches Asterisk, chan_sip would fail to destroy the dialog
+         after a while. This resulted in (most prominently) file handle
+         leaks. (Patch reindented by me.) ASTERISK-20784 #close
+         ASTERISK-15879 #close Reported by: Torrey Searle, Nitesh Bansal
+         Patches: reinvite_ack_timeout.patch uploaded by Torrey Searle
+         (License #5334) patch_asterisk_20784.txt uploaded by Nitesh
+         Bansal (License #6418) Reviewboard:
+         https://reviewboard.asterisk.org/r/4052/ (testcase can be found
+         at r4051) ........ Merged revisions 425068 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 425069 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 425070 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-09 23:35 +0000 [r425052]  George Joseph <george.joseph@fairview5.com>
+
+       * res/res_pjsip_phoneprov_provider.c: res_pjsip_phoneprov_provider:
+         fix compile breakage on AST_VECTOR endpoint->inbound_auths was
+         changed to a vector in 13 and I committed the 12 patch instead of
+         the 13 patch. Tested-by: George Joseph
+
+2014-10-09 21:38 +0000 [r425031]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Crash if no
+         candidates received for component When starting ice if there is
+         not at least one remote ice candidate with an RTP component
+         asterisk will crash. This is due to an assertion in pjnath as it
+         expects at least one candidate with an RTP component. Added a
+         check to make sure at least one candidate contains an RTP
+         component and at least one candidate has an RTCP component.
+         ASTERISK-24383 #close Review:
+         https://reviewboard.asterisk.org/r/4039/ ........ Merged
+         revisions 425030 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-09 20:54 +0000 [r425008]  George Joseph <george.joseph@fairview5.com>
+
+       * /, res/res_pjsip_phoneprov_provider.c (added),
+         configs/samples/pjsip.conf.sample: res_pjsip_phoneprov_provider:
+         Provides pjsip integration with res_phoneprov This module allows
+         res_pjsip to integrate with res_phoneprov. It handles the pjsip
+         'phoneprov' object type. Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3976/ ........ Merged
+         revisions 425007 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-09 18:37 +0000 [r424986]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_phoneprov.c: res/res_phoneprov: Don't cancel Asterisk
+         load on module load failure ........ Merged revisions 424985 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-09 17:45 +0000 [r424964]  George Joseph <george.joseph@fairview5.com>
+
+       * include/asterisk/phoneprov.h (added), /,
+         configs/samples/phoneprov.conf.sample,
+         include/asterisk/chanvars.h, res/res_phoneprov.c,
+         res/res_phoneprov.exports.in (added), main/chanvars.c:
+         res_phoneprov: Refactor phoneprov to allow pluggable config
+         providers This patch makes res_phoneprov more modular so other
+         modules (like pjsip) can provide configuration information
+         instead of res_phoneprov relying solely on users.conf and
+         sip.conf. To accomplish this a new ast_phoneprov public API is
+         now exposed which allows config providers to register themselves,
+         set defaults (server profile, etc) and add user extensions. *
+         ast_phoneprov_provider_register registers the provider and
+         provides callbacks for loading default settings and loading
+         users. * ast_phoneprov_provider_unregister clears the defaults
+         and users. * ast_phoneprov_add_extension should be called once
+         for each user/extension by the provider's load_users callback to
+         add them. * ast_phoneprov_delete_extension deletes one extension.
+         * ast_phoneprov_delete_extensions deletes all extensions for the
+         provider. Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3970/ ........ Merged
+         revisions 424963 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-09 16:36 +0000 [r424942]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/cdr.c: cdr.c: Make turning on CDR debug a one step
+         process instead of two. Now "cdr set debug on" doesn't also
+         require "core set verbose 1" to see CDR debug output. ........
+         Merged revisions 424941 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-09 08:08 +0000 [r424880]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, contrib/scripts/safe_asterisk: safe_asterisk: Don't
+         automatically exceed MAXFILES value of 2^20. On systems with lots
+         of RAM (e.g. 24GB) /proc/sys/fs/file-max divided by two can
+         exceed the per-process file limit of 2^20. This patch ensures the
+         value is capped. (Patch cleaned up by me.) ASTERISK-24011 #close
+         Reported by: Michael Myles Patches: safe_asterisk-ulimit.diff
+         uploaded by Michael Myles (License #6626) ........ Merged
+         revisions 424875 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 424878 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424879 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-08 18:46 +0000 [r424854]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Allow only UDP ICE
+         candidates. The underlying library, pjnath, that res_rtp_asterisk
+         uses for ICE support does not have support for ICE-TCP. As
+         candidates are passed through directly to it this can cause error
+         messages to occur when it receives something unexpected (such as
+         a TCP candidate). This change merely ignores all non-UDP
+         candidates so they never reach pjnath. ASTERISK-24326 #close
+         Reported by: Joshua Colp ........ Merged revisions 424852 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424853 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-08 18:24 +0000 [r424769-424850]  Kinsey Moore <kmoore@digium.com>
+
+       * main/stasis.c: Stasis: Relegate log message to dev-mode This
+         error message primarily applies to development tasks and will now
+         only show up when dev-mode is enabled via configure.
+
+       * main/sounds_index.c: Indexer: Format message types may not exist
+         In Asterisk 13+, any given message type is not guaranteed to
+         exist even if Asterisk comes up correctly since creation of the
+         message type could be declined. The indexer should not prevent
+         Asterisk from starting under these conditions.
+
+       * main/stasis.c: Stasis: Only log errors for non-declined types
+         When message type creation is declined via stasis.conf, certain
+         operations log errors assuming that the declined type is being
+         used before initialization or after destruction. These error
+         messages get quite spammy for oft used message types and should
+         not be logged in the first place since the message type is
+         validly NULL. Reported by: Matt DiMeo
+
+2014-10-07 18:33 +0000 [r424752]  Joshua Colp <jcolp@digium.com>
+
+       * main/data.c: data: Properly access formats in capabilities
+         structure when adding codecs. Formats within a capabilities
+         structure are addressed starting at 0, not 1. Assuming 1 causes
+         it to exceed an array. ASTERISK-24389 #close Reported by: Kevin
+         Harwell
+
+2014-10-07 17:41 +0000 [r424692-424731]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c:
+         res/res_pjsip_outbound_registration: Initialize
+         auth_reject_permanent parameter Prior to this patch, the
+         auth_reject_permanent parameter was not initialized on the
+         registration client state, leading to the parameter being
+         disabled regardless of the value specified in pjsip.conf. This
+         patch initialized the setting on the registration client state to
+         the provided configuration value. ASTERISK-24398 #close ........
+         Merged revisions 424730 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_pubsub.c: res/res_pjsip_pubsub: Fix typo in WARNING
+         message
+
+       * main/message.c, /: message: Don't close an AMI connection on
+         SendMessage action error If SendMessage encounters an error (such
+         as incorrect input provided to the action), it will currently
+         return -1. Actions should only return -1 if the connection to the
+         AMI client should be closed. In this case, SendMessage causing
+         the client to disconnect is inappropriate. This patch causes the
+         action to return 0, which simply causes the action to fail.
+         Review: https://reviewboard.asterisk.org/r/4024 ASTERISK-24354
+         #close Reported by: Peter Katzmann patches: sendMessage.patch
+         uploaded by Peter Katzmann (License 5968) ........ Merged
+         revisions 424690 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424691 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-06 15:38 +0000 [r424669]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/features.c, /: features.c: Fix lingering channel ref while
+         Bridge() application is active. Using the Bridge application to
+         bridge a channel that is executing an applicaiton such as Wait
+         results in a lingering Surrogate channel in the CLI "core show
+         channels" output even though it has already hungup. * Fix
+         bridge_exec() to not hold onto the current_dest_chan ref once it
+         has been put into the bridge. * Eliminated bridge_exec()'s use of
+         RAII_VAR(). ASTERISK-24224 #close Reported by: Mark Michelson
+         Review: https://reviewboard.asterisk.org/r/4041/ ........ Merged
+         revisions 424668 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-06 12:38 +0000 [r424601-424647]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/sdp_srtp.c: sdp_srtp: Add new lines to some WARNING
+         messages ........ Merged revisions 424646 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/pjsip_options.c: res_pjsip/pjsip_options: Do not
+         404 an OPTIONS request not sent to an endpoint An OPTIONS request
+         that is sent to Asterisk but not to a specific endpoint is
+         currently sent a 404 in response. This is because, not
+         surprisingly, an empty extension is never going to be found in
+         the dialplan. This patch makes it so that we only attempt to look
+         up the endpoint in the dialplan if it is specified in the OPTIONS
+         request URI. #SIPit31 ASTERISK-24370 #close Reported by: Matt
+         Jordan ........ Merged revisions 424624 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/pjsip/dialplan_functions.c, /: pjsip/dialplan_functions:
+         Handle PJSIP_MEDIA_OFFER called on non-PJSIP channels Calling
+         PJSIP_MEDIA_OFFER on a non-PJSIP channel is hazardous to your
+         health. It will treat the channels as a PJSIP channel, eventually
+         hitting an ao2 error, FRACKing on assertion error, and quite
+         likely crashing. This patch adds checks to the read/write
+         callbacks that ensure that the channel technology is of type
+         'PJSIP' before attempting to operate on the channel. #SIPit31
+         ASTERISK-24382 #close Reported by: Matt Jordan ........ Merged
+         revisions 424621 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_hep_pjsip.c, res/res_pjsip/pjsip_distributor.c,
+         res/res_pjsip_logger.c: res_pjsip: Prevent crashes when PJPROJECT
+         presents an rdata with no message When a message that exceeds the
+         PJ_MAX_PKT_SIZE is sent over a reliable transport, it is possible
+         (although it shouldn't occur) for pjproject to pass up an rdata
+         object with a NULL msg in the msg_info. Needless to say, things
+         that attempt to dereference this are in for a rough ride. In
+         particular, this caused crashes in three different locations, all
+         of which are 'low level' enough to intercept an rdata object
+         early in processing: (1) res_pjsip_logger (2) res_hep_pjsip (3)
+         res_pjsip/distributor Anything that can intercept an rdata object
+         before res_pjsip/distributor should be defensive when looking at
+         the received packet. #SIPit31 ASTERISK-24369 #close Reported by:
+         Matt Jordan ........ Merged revisions 424618 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_pubsub.c: res/res_pjsip_pubsub: Gracefully handle
+         errors when re-creating subscriptions A subscription that has
+         been persisted can - for various reasons - fail to be re-created
+         on startup. This patch resolves a number of crashes that occurred
+         when a subscription cannot be re-created on several off-nominal
+         paths. #SIPit31 ASTERISK-24368 #close Reported by: Matt Jordan
+
+2014-10-05 00:48 +0000 [r424552-424580]  Corey Farrell <git@cfware.com>
+
+       * main/manager.c, /: Release AMI connections on shutdown.
+         ASTERISK-24378 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4037/ ........ Merged
+         revisions 424578 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424579 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_motif.c: chan_motif: Correct last commit to use
+         ao2_cleanup to free format cap This fix applies to 13 and trunk.
+         ASTERISK-24384 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4043/
+
+       * /, channels/chan_motif.c: chan_motif: Release format capabilities
+         and config on module load error ASTERISK-24384 #close Reported
+         by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/4043/ ........ Merged
+         revisions 424550 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424551 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-03 21:56 +0000 [r424472-424529]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, CHANGES, res/res_pjsip.c: res_pjsip: Fix XML typo and update
+         CHANGES. ASTERISK-24199 ........ Merged revisions 424528 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/audiohook.c, apps/app_chanspy.c, apps/app_mixmonitor.c, /,
+         main/framehook.c: audiohooks: Reevaluate the bridge technology
+         when an audiohook is added or removed. Adding a mixmonitor to a
+         channel causes the bridge to change technologies from native to
+         simple_bridge so the call can be recorded. However, when the
+         mixmonitor is stopped the bridge does not switch back to the
+         native technology. * Added unbridge requests to reevaluate the
+         bridge when a channel audiohook is removed. * Moved the unbridge
+         request into ast_audiohook_attach() ensure that the bridge
+         reevaluates whenever an audiohook is attached. This simplified
+         the mixmonitor and chan_spy start code as well. * Added defensive
+         code to stop_mixmonitor_full() in case additional arguments are
+         ever added to the StopMixMonitor application. * Made
+         ast_framehook_detach() not do an unbridge request if the
+         framehook does not exist. * Made ast_framehook_list_fixup() do an
+         unbridge request if there are any framehooks. Also simplified the
+         loop. ASTERISK-24195 #close Reported by: Jonathan Rose Review:
+         https://reviewboard.asterisk.org/r/4046/ ........ Merged
+         revisions 424506 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/core_unreal.c, main/taskprocessor.c, channels/chan_iax2.c,
+         res/res_pjsip_session.c, main/channel.c, channels/chan_misdn.c,
+         channels/chan_skinny.c, funcs/func_frame_trace.c,
+         channels/chan_motif.c, include/asterisk/frame.h,
+         main/bridge_channel.c, channels/chan_pjsip.c,
+         channels/chan_unistim.c, include/asterisk/res_pjsip_session.h,
+         addons/chan_ooh323.c, /, include/asterisk/taskprocessor.h,
+         channels/chan_sip.c, res/res_pjsip_session.exports.in:
+         chan_pjsip: Fix deadlock when masquerading PJSIP channels.
+         Performing a directed call pickup resulted in a deadlock when
+         PJSIP channels were involved. A masquerade needs to hold onto the
+         channel locks while it swaps channel information between the two
+         channels involved in the masquerade. With PJSIP channels, the
+         fixup routine needed to push a fixup task onto the PJSIP
+         channel's serializer. Unfortunately, if the serializer was also
+         processing a task that needed to lock the channel, you get
+         deadlock. * Added a new control frame that is used to notify the
+         channels that a masquerade is about to start and when it has
+         completed. * Added the ability to query taskprocessors if the
+         current thread is the taskprocessor thread. * Added the ability
+         to suspend/unsuspend the PJSIP serializer thread so a masquerade
+         could fixup the PJSIP channel without using the serializer.
+         ASTERISK-24356 #close Reported by: rmudgett Review:
+         https://reviewboard.asterisk.org/r/4034/ ........ Merged
+         revisions 424471 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-03 15:54 +0000 [r424448]  George Joseph <george.joseph@fairview5.com>
+
+       * /, main/sorcery.c: sorcery: Prevent SEGV in sorcery_wizard_create
+         when there's no create function When you call
+         ast_sorcery_create() you don't necessarily know which wizard is
+         going to be invoked. If it happens to be a wizard like 'config'
+         that doesn't have a 'create' virtual function you get a segfault
+         in the sorcery_wizard_create callback. This patch catches the
+         null function pointer, does an ast_assert, and logs an error.
+         Review: https://reviewboard.asterisk.org/r/4044/ ........ Merged
+         revisions 424447 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-03 13:58 +0000 [r424424-424427]  Kinsey Moore <kmoore@digium.com>
+
+       * configs/samples/pjsip.conf.sample, /,
+         res/res_pjsip/pjsip_configuration.c: PJSIP: Restore functional
+         default for callerid_privacy The pjsip config option default
+         fixups from r424263 altered the functional default from
+         "allowed_not_screened" to "allowed". This change restores the
+         functional default value when none is provided. ........ Merged
+         revisions 424426 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/manager.c, /: Manager: Add missing fields and documentation
+         for CoreShowChannels This corrects some issues introduced in the
+         responses to the CoreShowChannels AMI command as well as adding
+         documentation for the responses. The command in Asterisk 12 was
+         missing the following fields: Duration, Application,
+         ApplicationData, and BridgedChannel and BridgedUniqueID (replaced
+         with BridgeId). ASTERISK-24262 #close Reported by: Mitch Claborn
+         Review: https://reviewboard.asterisk.org/r/4040/ ........ Merged
+         revisions 424423 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-03 07:54 +0000 [r424415]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Reduce SDP size by
+         removing duplicate connection lines. Due to the architecture of
+         how media streams are handled each individual handler adds
+         connection details (IP address) for it. The first media stream is
+         then used as the top level SDP connection line. In practice each
+         line ends up being the same so to reduce the SDP size
+         stream-level connection information is also added to the SDP if
+         it differs from the top level SDP connection line. ........
+         Merged revisions 424414 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-02 21:52 +0000 [r424394]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, configs/samples/pjsip.conf.sample, res/res_pjsip.c,
+         res/res_pjsip/config_transport.c: res_pjsip: Make transport
+         cipher option accept a comma separated list of cipher names.
+         Improvements to the res_pjsip transport cipher option. * Made the
+         cipher option accept a comma separated list of OpenSSL cipher
+         names. Users of realtime will be glad if they have more than one
+         name to list. * Added the CLI command 'pjsip list ciphers' so a
+         user can know what OpenSSL names are available for the cipher
+         option. * Updated the cipher option online XML documentation to
+         specify what is expected for the value. * Updated
+         pjsip.conf.sample to not indicate that ALL is acceptable since
+         ALL does not imply a preference order for the ciphers and PJSIP
+         does not simply pass the string to OpenSSL for interpretation.
+         ASTERISK-24199 #close Reported by: Joshua Colp Review:
+         https://reviewboard.asterisk.org/r/4018/ ........ Merged
+         revisions 424393 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-02 20:15 +0000 [r424373]  Jonathan Rose <jrose@digium.com>
+
+       * /,
+         contrib/ast-db-manage/config/versions/10aedae86a32_add_outgoing_enum_va.py
+         (added): Alembic: Add enumerator value to sippeers -> directmedia
+         - 'outgoing' The 'outgoing' value was left off of the enumerator
+         when first creating the column. This patch adds it, and should
+         gracefully upgrade keeping the existing data in tact.
+         ASTERISK-23781 #close Reported by: Stephen More Review:
+         https://reviewboard.asterisk.org/r/4013/ ........ Merged
+         revisions 424372 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-02 13:35 +0000 [r424338]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, configs/samples/pjsip.conf.sample: res_pjsip: document use of
+         rewrite_contact in sample conf Without setting rewrite_contact,
+         an invite to an endpoint behind NAT will not reach it - unless
+         the endpoint itself uses STUN or TURN to discover it's public
+         URI. Thus, the use of this should be in the sample documentation.
+         Review: https://reviewboard.asterisk.org/r/4036/ ........ Merged
+         revisions 424337 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-01 22:52 +0000 [r424333]  Jonathan Rose <jrose@digium.com>
+
+       * channels/chan_pjsip.c: chan_pjsip: Fix an assertion for channels
+         that lack formats on creation ASTERISK-24222 #close Reported by:
+         Mark Michelson Review: https://reviewboard.asterisk.org/r/4017/
+
+2014-10-01 20:36 +0000 [r424313]  Corey Farrell <git@cfware.com>
+
+       * res/res_hep.c, /: res_hep: Release allocation reference to
+         configuration. ASTERISK-24362 #close Reported by: Corey Farrell
+         Review: https://reviewboard.asterisk.org/r/4026/ ........ Merged
+         revisions 424312 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-01 16:37 +0000 [r424288-424291]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/pjsip_configuration.c,
+         configs/samples/pjsip.conf.sample, res/res_pjsip.c: res_pjsip:
+         Add 'dtls_fingerprint' option to configure DTLS fingerprint hash.
+         During the latest update to DTLS-SRTP support the ability to
+         configure the hash used for fingerprints was added. This gave us
+         two supported ones: SHA-1 and SHA-256. The default was
+         accordingly updated to SHA-256. Unfortunately this configuration
+         ability was not exposed within res_pjsip. This change adds a
+         dtls_fingerprint option that controls it. #SIPit31 ........
+         Merged revisions 424290 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Accept DTLS
+         attributes in top level, not just media session. #SIPit31
+         ........ Merged revisions 424287 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-01 12:27 +0000 [r424245-424266]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip/config_transport.c, /, res/res_pjsip/location.c,
+         res/res_pjsip_endpoint_identifier_ip.c,
+         res/res_pjsip/pjsip_configuration.c,
+         configs/samples/pjsip.conf.sample: PJSIP: Handle defaults
+         properly This updates the code behind PJSIP configuration options
+         with custom handlers to deal with the assigned default values
+         properly where it makes sense and adjusting the default value
+         where it doesn't. Before applying this patch, there were several
+         cases where the default value for an option would prevent that
+         config section from loading properly. Reported by: Thomas
+         Thompson Review: https://reviewboard.asterisk.org/r/4019/
+         ........ Merged revisions 424263 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_nat.c: PJSIP: Force transport on contact rewrite
+         If contact rewriting is enabled but the contact differs in
+         transport from what is actually being used, messages after the
+         initial INVITE transaction can be sent to an incorrect
+         transport/port combination. In the case where this bug occurred
+         the remote party never received a BYE since it was sent to the
+         remote party's TCP port over UDP. Review:
+         https://reviewboard.asterisk.org/r/4032/ ........ Merged
+         revisions 424244 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-10-01 10:09 +0000 [r424179-424184]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, channels/chan_sip.c: chan_sip: Simplify some unref code by
+         removing unlink_peer_from_tables. ASTERISK-22945 #related
+         Reported by: ibercom Patches:
+         asterisk11-chan_sip-simplifies.patch uploaded by ibercom (License
+         #6599) ........ Merged revisions 424181 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 424182 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424183 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: chan_sip: Remove excess ref of realtime
+         peer before sip_poke_peer. The peer is referenced at the end of
+         sip_poke_peer, it should not get an extra ref before the call to
+         sip_poke_peer. This fixes a memory leak. ASTERISK-22945 #close
+         Reported by: ibercom Tested by: Yuriy Gorlichenko Patches:
+         asterisk11.patch uploaded by ibercom (License #6599) Review:
+         https://reviewboard.asterisk.org/r/4031/ ........ Merged
+         revisions 424176 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 424177 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424178 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-30 11:40 +0000 [r424153-424156]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Don't place an
+         extra whitespace before 'rport' and don't put IPv6 addresses in
+         brackets. #SIPit31 ........ Merged revisions 424155 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Ensure that the base
+         and mapped address for candidates is present in SDP. This change
+         fixes an issue where ICE candidates put into the SDP did not
+         contain the 'raddr' and 'rport' information for server reflexive
+         and relay candidates. #SIPit31 ........ Merged revisions 424151
+         from http://svn.asterisk.org/svn/asterisk/branches/11 ........
+         Merged revisions 424152 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-29 21:59 +0000 [r424129]  George Joseph <george.joseph@fairview5.com>
+
+       * /, res/res_pjsip/pjsip_cli.c: pjsip_cli: Suppress header print on
+         error or no objects If there's an error on the pjsip command line
+         or there are no objects, don't print the column headers.
+         ASTERISK-24350 #close Reported-by: Brad Latus Tested-by: George
+         Joseph Tested-by: Brad Latus Review:
+         https://reviewboard.asterisk.org/r/4025/ ........ Merged
+         revisions 424128 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-29 21:26 +0000 [r424126]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, contrib/scripts/autosupport: autosupport: Fix bashism. '==' is
+         bashism (bashspecific, fails when dash is /bin/sh). Anyway, a
+         'case' works better there. Originally committed in r375059 and
+         r375060 on 2012-10-16 21:13:08. ASTERISK-20567 #close Reported
+         by: Tzafrir Cohen ........ Merged revisions 424117 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 424125 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-29 21:17 +0000 [r424097-424105]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
+         /, res/res_pjsip_authenticator_digest.c: Simplify UUID generation
+         in several places. Replace code using ast_uuid_generate() with
+         simpler and faster code using ast_uuid_generate_str(). The new
+         code avoids a malloc(), free(), and copy. ........ Merged
+         revisions 424103 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/threadpool.c: threadpool.c: Minor cleanup fixes. * Fix
+         threadpool_alloc() prototype. * Add missing off-nominal NULL
+         check of pool in threadpool_alloc(). * searializer_create() does
+         not need to create the object with a lock as the lock is not
+         used. ........ Merged revisions 424096 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-27 12:43 +0000 [r424057]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_pjsip.c, res/res_pjsip_session.c, /:
+         res_pjsip_session: Add additional checks for delaying session
+         refreshes. There are certain situations which no checks existed
+         for which need to prevent session refreshes. This includes
+         sending a session refresh with SDP before SDP negotiation has
+         completed and sending a session refresh before the dialog itself
+         has been established. Checks for these have been added.
+         Additionally COLP related UPDATEs were including SDP when it is
+         not needed. Review: https://reviewboard.asterisk.org/r/4008/
+         ........ Merged revisions 424056 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-26 15:21 +0000 [r423992]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_fax.c: res_fax: Fix out of bounds error in
+         update_modem_bits(). ASTERISK-24357 #close Reported by: Jeremy
+         Laine Patches: res_fax_bounds.patch (license #6561) patch
+         uploaded by Jeremy Laine Modified patch to not use magic numbers.
+         ........ Merged revisions 423979 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 423983 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423987 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-26 08:25 +0000 [r423918]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, doc/asterisk.8: docs: Escape unescaped minus sign in
+         asterisk.8 manpage. ASTERISK-23768 #close Reported by: Jeremy
+         Lainé Patches: escape_manpage_hyphen.patch uploaded by Jeremy
+         Lainé (License #6561) ........ Merged revisions 423915 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 423916 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423917 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-25 21:01 +0000 [r423895]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_pjsip.c, /: res_pjsip.c: Add missing off nominal cleanup
+         in ast_sip_push_task_synchronous(). * Made memset the std struct
+         in ast_sip_push_task_synchronous() because if DEBUG_THREADS is
+         enabled then uninitialized lock tracking data is used. ........
+         Merged revisions 423894 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-24 18:32 +0000 [r423867]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_pjsip/pjsip_options.c, res/res_pjsip.c:
+         pjsip_options.c: Fix race condition stopping periodic out of
+         dialog OPTIONS request. The crash on the issues is a result of an
+         invalid transport configuration change when asterisk is
+         restarted. The attempt to send the qualify request fails and we
+         cleaned up. However, the callback is also called which results in
+         a double unref of the objects involved. * Put a wrapper around
+         pjsip_endpt_send_request() to detect when the passed in callback
+         is called because of an error so callers can know to not cleanup.
+         * Made send_request_cb() able to handle repeated challenges (Up
+         to 10). * Fix periodic endpoint qualify OPTIONS sched deletion
+         race by avoiding it. The sched entry will no longer self stop and
+         must be externally stopped. * Added REF_DEBUG description tags to
+         struct sched_data in pjsip_options.c. * Fix some off-nominal ref
+         leaks in schedule_qualify(), qualify_and_schedule(). * Reordered
+         pjsip_options.c module start/stop code to cleanup better on
+         error. ASTERISK-24295 #close Reported by: Rogger Padilla Review:
+         https://reviewboard.asterisk.org/r/3954/ ........ Merged
+         revisions 423866 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-24 08:53 +0000 [r423803]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, channels/chan_sip.c: chan_sip: Unref outbound proxy structure
+         on dialog/pvt destruction. Make sure outbound proxy refs are
+         always unreffed on dialog destruction. Review:
+         https://reviewboard.asterisk.org/r/4016/ ........ Merged
+         revisions 423800 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 423801 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423802 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-23 14:29 +0000 [r423783]  Mark Michelson <mmichelson@digium.com>
+
+       * tests/test_cel.c, tests/test_cdr.c: Make CDR and CEL unit tests
+         less FRACKy. Prior to this commit, CDR and CEL tests were
+         expected to trigger FRACKs (i.e. assertions) due to the fact that
+         the channels they create have no formats on them. Some code was
+         independently added recently that attempts to prevent FRACKs from
+         occurring by failing early when attempting to set up translation
+         paths if one or both channels support no formats. Unfortunately,
+         this attempt to be helpful made the CDR and CEL tests go from
+         simply FRACKing to outright failing and in some cases, failing so
+         badly as to crash Asterisk. This commit seeks to correct past
+         mistakes by adding the ulaw format to channels created by the CDR
+         and CEL unit tests. This makes setting up translation paths
+         succeed, eliminates previously-seen FRACKs, and ultimately causes
+         the unit tests to succeed again. Review:
+         https://reviewboard.asterisk.org/r/4014
+
+2014-09-22 19:48 +0000 [r423660-423723]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, channels/chan_sip.c: chan_sip: On INVITE retransmission, don't
+         add an extra 503 response. INVITE arrives to asterisk, asterisk
+         responds Busy(). If the INVITE is retransmitted, asterisk would
+         generate a 503 in addition to the 486. Thanks Torrey Searle for
+         providing a working regression test. ASTERISK-24335 #close
+         Review: https://reviewboard.asterisk.org/r/4003/ Patches:
+         retrans_486_invite.patch uploaded by Torrey Searle (License
+         #5334) ........ Merged revisions 423720 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 423721 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423722 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/editline/readline.c: cli.c: Fix tab completion "module
+         load" when MALLOC_DEBUG is enabled. r421600 conflicted with
+         r155763. ASTERISK-24348 #close ........ Merged revisions 423657
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 423658 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423659 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-21 01:15 +0000 [r423618-423641]  Matthew Jordan <mjordan@digium.com>
+
+       * main/channel.c: main/channel: Unlock channel in off-nominal path
+         In r423414 (13) / r423415 (trunk), an API call that determines if
+         a format capability structure is empty was added. This returns
+         true if the format capability structure is completely empty or
+         "none". A check for this was added in channel.c's set_format
+         call. Unfortunately, when this check was true, it returned from
+         the function while still holding the channel lock. This caused
+         the CDR unit tests - which have a tendency to create channels
+         with no formats - to deadlock. Whoops. This patch unlocks the
+         channel on the off-nominal path.
+
+       * rest-api/api-docs/events.json, /: rest-api/api-docs/events.json:
+         Remove non-compliant 'extends' attribute Prior to the release of
+         Swagger 1.2, the attribute 'extends' was being promoted as a
+         possible way to show that a particular object extends an existing
+         object. Instead, the Swagger specification went with the
+         'subTypes' attribute in the base object. This patch removes the
+         unsupported attribute; the object that the offending objects
+         proposed to extend already lists them in its 'subTypes'
+         attribute. ASTERISK-24300 #close Reported by: Bradley Watkins
+         ........ Merged revisions 423620 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
+         rest-api/api-docs/bridges.json,
+         rest-api/api-docs/recordings.json,
+         rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/endpoints.json,
+         rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
+         /, rest-api/api-docs/asterisk.json,
+         rest-api/api-docs/applications.json,
+         rest-api/api-docs/playbacks.json: rest-api/api-docs: Correct
+         basePath in resources to match top resources file The
+         resources.json file that defines the resource JSON files used
+         with ARI references a basePath of 'http://localhost:8088/ari'.
+         This does not match what is defined in the resource files
+         themselves, 'http://localhost:8088/stasis'. The correct base path
+         is the one that includes 'ari' in the URL; this patch updates the
+         various resource JSON files to have the correct basePath.
+         ASTERISK-24339 #close Reported by: Bradley Watkins ........
+         Merged revisions 423617 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-19 19:51 +0000 [r423580]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_notify.c: res_pjsip_notify: Fix crash on
+         unload/load and don't say the module doesn't exist on reload.
+         When unloading the module did not unregister the CLI commands
+         causing a crash upon load when they were registered again. When
+         reloading the module the return value from the config options
+         framework was not checked to determine if an error occurred or
+         not. This caused a message to be output saying the module did not
+         exist when reloading if no changes were present. AST-1433 #close
+         AST-1434 #close ........ Merged revisions 423579 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-19 17:08 +0000 [r423561]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_pjsip.c, res/res_pjsip_sdp_rtp.c:
+         res_pjsip_sdp_rtp.c: Fix native formats containing formats that
+         were not negotiated. Outgoing PJSIP calls can result in
+         non-negotiated formats listed in the channel's native formats if
+         video formats are listed in the endpoint's configuration. The
+         resulting call could then use a non-negotiated format resulting
+         in one way audio. * Simplified the update of session->req_caps in
+         set_caps(). Why do something in five steps when only one is
+         needed? AFS-162 #close Review:
+         https://reviewboard.asterisk.org/r/4000/
+
+2014-09-19 15:18 +0000 [r423524-423530]  Jonathan Rose <jrose@digium.com>
+
+       * /, main/stasis_channels.c: Stasis_channels: Resolve unfinished
+         Dials when doing masquerades Masquerades into channels that are
+         in the dialing state don't end their dial and this goes against
+         the model for things like CDRs and generating Dial end manager
+         actions and such. ASTERISK-24237 #close Reported by: Richard
+         Mudgett Review: https://reviewboard.asterisk.org/r/3990/ ........
+         Merged revisions 423525 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_iax2.c: chan_iax2: Fix a crash when using chan_iax2
+         jitterbuffer settings Caused by format changes in Asterisk 13
+         ASTERISK-24265 #close Reported by: Dafi Ni Review:
+         https://reviewboard.asterisk.org/r/3999/
+
+2014-09-19 12:45 +0000 [r423504]  Kinsey Moore <kmoore@digium.com>
+
+       * include/asterisk/framehook.h, /, main/framehook.c,
+         res/res_pjsip_t38.c: PJSIP: Prevent T38 framehook being put on
+         wrong channel This change gives framehooks a reverse-direction
+         masquerade callback in addition to chan_fixup_cb similar to the
+         callback added to datastores to handle the same situation. The
+         new callback provides the same parameters as the fixup callback,
+         but is called on the new channel's framehooks before moving
+         framehooks from the old channel to the new channel. This gives
+         the framehooks an oppurtunity to decide whether they should
+         remain on the new channel or be removed. This new callback is
+         used to prevent the PJSIP T.38 framehook from remaining on a
+         masqueraded channel if the new channel is not also a PJSIP
+         channel. This was causing a crash when a local channel was
+         masqueraded into a PJSIP channel and the framehook was executed
+         on the local channel since the channel's tech private data was
+         not structured as expected. Review:
+         https://reviewboard.asterisk.org/r/4001/ ........ Merged
+         revisions 423503 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-18 19:30 +0000 [r423482]  Sean Bright <sean@malleable.com>
+
+       * res/res_pjsip/config_auth.c, /: res_pjsip: Don't require a
+         password when doing userpass authentication. An empty password is
+         valid for username/password authentication so we should allow
+         password to be empty/not supplied. Review:
+         https://reviewboard.asterisk.org/r/3988 ........ Merged revisions
+         423481 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-18 19:22 +0000 [r423478]  George Joseph <george.joseph@fairview5.com>
+
+       * tests/test_strings.c, /, main/utils.c,
+         include/asterisk/strings.h: utils: Create ast_strsep function
+         that ignores separators inside quotes This function acts like
+         strsep with three exceptions... * The separator is a single
+         character instead of a string. * Separators inside quotes are
+         treated literally instead of like separators. * You can elect to
+         have leading and trailing whitespace and quotes stripped from the
+         result and have '\' sequences unescaped. Like strsep, ast_strsep
+         maintains no internal state and you can call it recursively using
+         different separators on the same storage. Also like strsep, for
+         consistent results, consecutive separators are not collapsed so
+         you may get an empty string as a valid result. Tested by: George
+         Joseph Review: https://reviewboard.asterisk.org/r/3989/ ........
+         Merged revisions 423476 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-18 18:31 +0000 [r423462]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pubsub.c: Add subscription state test events. These
+         are needed for a set of batched notification RLS tests that are
+         about to be committed to the testsuite. Review:
+         https://reviewboard.asterisk.org/r/3967
+
+2014-09-18 17:11 +0000 [r423425]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_pjsip_endpoint_identifier_ip.c, /:
+         res_pjsip_endpoint_identifier_ip: Fix parsing of match value with
+         CIDR Also fixes comma separates match lists ASTERISK-24290 #close
+         Reported by: Ray Crumrine Review:
+         https://reviewboard.asterisk.org/r/3995/ ........ Merged
+         revisions 423417 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-18 17:09 +0000 [r423418-423423]  Richard Mudgett <rmudgett@digium.com>
+
+       * bridges/bridge_softmix.c: bridge_softmix.c: Made use
+         ao2_replace() instead of the inline equivalent. * Clarified some
+         read/write format comments. * Fixed a doxygen tag typo.
+
+       * main/astobj2.c, contrib/scripts/refcounter.py, /:
+         astobj2.c/refcounter.py: Fix to deal with invalid object refs. *
+         Make astob2 REF_DEBUG output an invalid object line when an
+         invalid ao2 object ref/unref is attempted. This is similar to the
+         constructor/destructor lines. * Fixed refcounter.py to handle
+         skewed objects that have constructor/destructor states. * Made
+         refcounter.py highlight the invalid ao2 object refs by putting
+         them in their own section of the processed output file. * Made
+         refcounter.py highlight unreffing an object by more than one that
+         results in a negative ref count and the object being destroyed.
+         The abnormally destroyed object is reported in the invalid and
+         finalized object sections of the output. Review:
+         https://reviewboard.asterisk.org/r/3971/ ........ Merged
+         revisions 423349 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 423400 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423416 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-18 16:37 +0000 [r423348-423414]  Mark Michelson <mmichelson@digium.com>
+
+       * include/asterisk/format_cap.h, main/channel.c, main/format_cap.c,
+         main/translate.c: Add API call to determine if format capability
+         structure is "empty". Empty here means that there are no formats
+         in the format_cap structure or the only format in it is the
+         "none" format. I've added calls to check the emptiness of a
+         format_cap in a few places in order to short-circuit operations
+         that would otherwise be pointless as well as to prevent some
+         assertions from being triggered in cases where channels with no
+         formats are used.
+
+       * /, res/res_fax_spandsp.c: res_fax_spandsp: Properly handle
+         cleanup before starting FAXes. If faxing fails at a very early
+         stage, then it is possible for us to pass a NULL t30 state
+         pointer to spandsp, which spandsp is none too pleased with. This
+         patch ensures that we pass the correct pointer to spandsp in the
+         situation where we have not yet set our local t30 state pointer.
+         ASTERISK-24301 #close Reported by Matt Jordan Patches:
+         ASTERISK-24301-fax.diff Uploaded by Mark Michelson (License
+         #5049) ........ Merged revisions 423360 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423365 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_mwi.c,
+         res/res_pjsip_dialog_info_body_generator.c,
+         res/res_pjsip_xpidf_body_generator.c,
+         res/res_pjsip_mwi_body_generator.c, res/res_pjsip_pubsub.c,
+         res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
+         res/res_pjsip_pidf_body_generator.c: res_pjsip_pubsub: Add some
+         type safety when generating NOTIFY bodies. res_pjsip_pubsub has
+         two separate checks that it makes when a SUBSCRIBE arrives. * It
+         checks that there is a subscription handler for the Event * It
+         checks that there are body generators for the types in the Accept
+         header The problem is, there's nothing that ensures that these
+         two things will actually mesh with each other. For instance,
+         Asterisk will accept a subscription to MWI that accepts pidf+xml
+         bodies. That doesn't make sense. With this commit, we add some
+         type information to the mix. Subscription handlers state they
+         generate data of type X, and body generators state that they
+         consume data of type X. This way, Asterisk doesn't end up in some
+         hilariously mismatched situation like the one in the previous
+         paragraph. ASTERISK-24136 #close Reported by Mark Michelson
+         Review: https://reviewboard.asterisk.org/r/3877 Review:
+         https://reviewboard.asterisk.org/r/3878 ........ Merged revisions
+         423344 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-18 15:13 +0000 [r423284]  George Joseph <george.joseph@fairview5.com>
+
+       * /, res/res_pjsip/location.c,
+         res/res_pjsip_endpoint_identifier_ip.c,
+         res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c,
+         include/asterisk/res_pjsip.h, res/res_pjsip/config_auth.c:
+         res_pjsip: ami: Fix error in AMI output when an endpoint has no
+         transport When no transport is associated to an endpoint, the AMI
+         output for PJSIPShowEndpoint indicates an error instead of
+         silently ignoring the missing transport. This patch causes the
+         error to appear only if a transport was specified on the endpoint
+         and the transport doesn't exist. It also fixes an issue with
+         counting the objects that were actually found. ASTERISK-24161
+         #close ASTERISK-24331 #close Tested by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3998/ ........ Merged
+         revisions 423282 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-18 15:00 +0000 [r423281]  David M. Lee <dlee@digium.com>
+
+       * makeopts.in, Makefile: Only install dahdi_span_config_hook if
+         DAHDI is enabled This patch changes the install to only install
+         the hook script if DAHDI is enabled. It also adds the script to
+         the uninstall task, and moves the DAHDI_UDEV_HOOK_DIR variable so
+         that it's not between the _MAKEOPTS variables and their comment.
+         This allows installs which specify a --prefix to work normally,
+         as long as they don't enable DAHDI. Review:
+         https://reviewboard.asterisk.org/r/3972/
+
+2014-09-18 14:45 +0000 [r423279]  George Joseph <george.joseph@fairview5.com>
+
+       * main/manager.c, /, include/asterisk/config.h, main/config.c:
+         config: bug: Fix SEGV in ast_category_insert when matching
+         category isn't found If you call ast_category_insert with a match
+         category that doesn't exist, the list traverse runs out of 'next'
+         categories and you get a SEGV. This patch adds check for the
+         end-of-list condition and changes the signature to return an int
+         for success/failure indication instead of a void. The only
+         consumer of this function is manager and it was also changed to
+         use the return value. Tested by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3993/ ........ Merged
+         revisions 423276 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 423277 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423278 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-17 18:05 +0000 [r423209-423255]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Ensure that the
+         thread terminating pj stuff is registered. ........ Merged
+         revisions 423253 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423254 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix 100% CPU usage
+         due to timer heap thread spinning. Side note: I need a vacation.
+         ........ Merged revisions 423210 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423211 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix building when
+         pjproject is not used. ........ Merged revisions 423207 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423208 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-16 16:32 +0000 [r423192]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * apps/app_voicemail.c, include/asterisk/file.h, main/file.c:
+         Voicemail: get correct duration when copying file to vm Changes
+         made during format improvements resulted in the recording to
+         voicemail option 'm' of the MixMonitor app writing a zero length
+         duration in the msgXXXX.txt file. This change introduces a new
+         function ast_ratestream(), which provides the sample rate of the
+         format associated with the stream, and updates the app_voicemail
+         function for ast_app_copy_recording_to_vm to calculate the right
+         duration. Review: https://reviewboard.asterisk.org/r/3996/
+         ASTERISK-24328 #close
+
+2014-09-16 12:12 +0000 [r423152-423173]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Fix usage of wrong
+         memory pool when creating local SDP. ........ Merged revisions
+         423172 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, /:
+         res_rtp_asterisk: Fix a myriad of TURN client issues. 1. The
+         number of file descriptors an ioqueue instance can handle is
+         fixed, so we now spawn the required number to handle the load. 2.
+         Our transport identifiers were exceeding the range supported by
+         pjnath. 3. The TURN client did not set up client binding causing
+         needless bandwidth usage. 4. The code no longer updates address
+         information on each packet. 5. STUN traffic was getting looped
+         back to Asterisk instead of going through the TURN server. 6.
+         Synchronization now ensures things are completely setup or
+         destroyed. 7. Logging now reflects the target the TURN server is
+         sending to/receiving from on our behalf. ASTERISK-23577 #close
+         Reported by: Jay Jideliov ASTERISK-23634 #close Reported by:
+         Roman Skvirsky Review: https://reviewboard.asterisk.org/r/3982/
+         ........ Merged revisions 423150 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423151 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-15 10:49 +0000 [r423069-423129]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /,
+         contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py
+         (added): contrib: Fix verifyi typo in alembic DB script
+         ps_transport table. Reported by: Zogot (on IRC) Patches: tmp.diff
+         uploaded by Zogot, cleaned up by me. ........ Merged revisions
+         423128 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * configs/samples/sip.conf.sample, /: chan_sip: Clarify that
+         sipdebug=yes cannot be undone by the CLI. Document it in
+         sip.conf. ASTERISK-24249 #close Reported by: Avinash Mohod
+         Review: https://reviewboard.asterisk.org/r/3926/ ........ Merged
+         revisions 423066 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 423067 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 423068 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-12 16:09 +0000 [r422985]  Jonathan Rose <jrose@digium.com>
+
+       * main/config.c, /: Realtime: Fix a bug that caused realtime
+         destroy command to crash Also has could affect with anything that
+         goes through ast_destroy_realtime. If a CLI user used the command
+         'realtime destroy <family>' with only a single column/value pair,
+         Asterisk would crash when trying to create a variable list from a
+         NULL value. ASTERISK-24231 #close Reported by: Niklas Larsson
+         Review: https://reviewboard.asterisk.org/r/3985/ ........ Merged
+         revisions 422984 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-11 22:16 +0000 [r422965]  Mark Michelson <mmichelson@digium.com>
+
+       * /, main/app.c: Remove undocumented default behavior of
+         ast_play_and_record_full acceptdtmf. ast_play_and_record_full()
+         has a parameter called "acceptdtmf" that is a string of
+         acceptable DTMF digits that may be pressed by a caller to end and
+         accept the recording. ARI uses this function in order to perform
+         recording, and it provides options for what is passed as
+         acceptdtmf to ast_play_and_record_full(). By default, ARI passes
+         an empty string, with the intention that no DTMF can be used to
+         end the recording. The problem is that ast_play_and_record_full()
+         attempts to be "helpful" by setting "#" as the acceptdtmf if an
+         empty string or NULL pointer has been passed in. With ARI, this
+         results in unexpected behavior occurring if you have attempted to
+         intercept "#" yourself in order to perform some other
+         manipulation of the live recording. This change removes the
+         "helpful" behavior by no longer accepting "#" as a default
+         acceptdtmf if none is specified by the caller of
+         ast_play_and_record_full(). This makes the ARI scenario work as
+         expected. The other callers of ast_play_and_record_full() are
+         app_voicemail and app_minivm, and in both cases, they pass an
+         explicit "#" to ast_play_and_record_full() as acceptdtmf, so they
+         are unaffected by this change. ........ Merged revisions 422964
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-10 16:04 +0000 [r422905]  George Joseph <george.joseph@fairview5.com>
+
+       * /, main/config.c: config: bug: fix truncation of included config
+         files on permissions error ast_config_text_file_save() currently
+         truncates include files as they are processed. If a subsequent
+         include file or the main config file has a permissions error that
+         prevents writing, earlier include files are left truncated
+         resulting in a frantic search for backups. This patch causes
+         ast_config_text_file_save to check for write access on all files
+         before it truncates any of them. Will be applied 1.8 > trunk.
+         Tested by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3986/ ........ Merged
+         revisions 422900 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 422903 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422904 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-10 15:59 +0000 [r422901]  Sean Bright <sean@malleable.com>
+
+       * res/res_pjsip/config_auth.c, /: pjsip/config_auth.c: Add missing
+         whitespace to log messages. The errors generated when validating
+         'auth' settings are missing a space which makes the messages a
+         little confusing. ........ Merged revisions 422899 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-09 20:01 +0000 [r422883]  Rusty Newton <rnewton@digium.com>
+
+       * /, sounds/sounds.xml, sounds/Makefile: Sounds/BuildSystem:
+         Modifications to include new releases and Japanese language.
+         Modifying Makefile and sounds.xml to include new core 1.4.26 and
+         extra 1.4.15 sound prompt releases, plus the new Japanese core
+         sound prompts contributed by QLOOG. ASTERISK-23324 Reported by:
+         Kevin McCoy Tested by: Rusty Newton ........ Merged revisions
+         422789 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 422790 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422791 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-08 18:03 +0000 [r422851-422855]  Mark Michelson <mmichelson@digium.com>
+
+       * configs/samples/pjsip.conf.sample: Add note about configuring
+         list_items on a single line.
+
+       * configs/samples/pjsip.conf.sample: Add sample configuration for
+         resource lists. On review /r/3977, it was recommended to note in
+         the sample configuration about the size limitation for resource
+         lists. However, since there was no section in the sample
+         configuration at all for resource list subscriptions, I decided
+         to make a separate commit where I have added the necessary sample
+         configuration as well as the size limitation warning.
+
+       * res/res_pjsip_pubsub.c: Pre-allocate transmission data buffer for
+         RLS NOTIFY requests. PJSIP, unless a constant is modified at
+         compilation time, limits SIP requests to 4000 bytes. Full-state
+         RLS notifications can easily exceed this limit with moderately
+         small lists. This changeset allows for Asterisk to work around
+         this size limit by performing its own allocation of the
+         transmission data buffer. This way, Asterisk can allocate a
+         buffer that exceeds the built-in maximum. We still impose our own
+         limit of 64000 bytes, mainly because making allocations larger
+         than that is a bit absurd. ASTERISK-24181 #close Reported by Mark
+         Michelson Review: https://reviewboard.asterisk.org/r/3977
+
+2014-09-08 15:41 +0000 [r422836]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_pjsip_pubsub.c: res_pjsip_pubsub: Check supported headers
+         for eventlist when subscribing to resource list
+         https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan
+         According to the off-nominal plan, if evenlist support is not
+         specified in a SUBSCRIBE's supported header(s), that subscription
+         should be rejected with an error. ASTERISK-23871 Reported by:
+         Mark Michelson Review:
+         https://reviewboard.asterisk.org/r/3960/diff/#index_header
+
+2014-09-06 22:49 +0000 [r422767-422770]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/cdr.c: main/cdr: Copy over location information during a
+         fork When a CDR is forked, a new CDR is created and appended to
+         the CDR chain for the Party A. The forked CDR starts life off as
+         a clone of the last non-finalized for the particular Party A. In
+         the past, merely copying over the snapshots for Party A/Party B
+         would be sufficient. However, as the CDRs now contain cached
+         information from Party A - specifically application/data,
+         context, and extension - we need to copy that over during a fork
+         as well. Huzzah for unit tests catching this when the
+         context/extension were derived from a cached value on the CDR
+         instead of on Party A. ........ Merged revisions 422769 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/rtp_engine.c, /: main/rtp_engine: Format NTP timestamps as
+         unsigned ints On some systems, a timeval's tv_sec/tv_usec will be
+         unsigned lont ints, as opposed to long ints. When the RTP engine
+         formats these as strings, it was previously formatting them as
+         signed integers, which can result in some odd negative timestamp
+         values (particularly on 32-bit systems). This patch formats the
+         values as unsigned long integers. ........ Merged revisions
+         422766 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-06 19:12 +0000 [r422747]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Fix retrieval of
+         "ice-pwd" attribute if in session and not media stream. ........
+         Merged revisions 422746 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-05 22:03 +0000 [r422716-422719]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, /, apps/app_macro.c, include/asterisk/channel.h,
+         apps/app_stack.c: main/cdrs: Preserve context/extension when
+         executing a Macro or GoSub The context/extension in a CDR is
+         generally considered the destination of a call. When looking at a
+         2-party call CDR, users will typically be presented with the
+         following: context exten channel dest_channel app data default
+         1000 SIP/8675309 SIP/1000 Dial SIP/1000,,20 However, if the Dial
+         actually takes place in a Macro, the current behaviour in 12 will
+         result in the following CDR: context exten channel dest_channel
+         app data macro-dial s SIP/8675309 SIP/1000 Dial SIP/1000,,20 The
+         same is true of a GoSub: context exten channel dest_channel app
+         data subs dial_stuff SIP/8675309 SIP/1000 Dial SIP/1000,,20 This
+         generally makes the context/exten fields less than useful. It
+         isn't hard to preserve these values in the CDR state machine;
+         however, we need to have something that informs us when a channel
+         is executing a subroutine. Prior to this patch, there isn't
+         anything that does this. This patch solves this problem by adding
+         a new channel flag, AST_FLAG_SUBROUTINE_EXEC. This flag is set on
+         a channel when it executes a Macro or a GoSub. The CDR engine
+         looks for this value when updating a Party A snapshot; if the
+         flag is present, we don't override the context/exten on the main
+         CDR object. In a funny quirk, executing a hangup handler must
+         *not* abide by this logic, as the endbeforehexten logic assumes
+         that the user wants to see data that occurs in hangup logic,
+         which includes those subroutines. Since those execute outside of
+         a typical Dial operation (and will typically have their own
+         dedicated CDR anyway), this is unlikely to cause any heartburn.
+         Review: https://reviewboard.asterisk.org/r/3962/ ASTERISK-24254
+         #close Reported by: tm1000, Tony Lewis Tested by: Tony Lewis
+         ........ Merged revisions 422718 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: main/cdr: Fix crash/memory consumption in CDRs in
+         multi-party bridge scenarios This patch fixes an issue where CDRs
+         would get stuck generating an infinite number of CDRs, eventually
+         crashing Asterisk (and consuming a lot of memory along the way).
+         When a channel enters into a multi-party bridge, the CDR engine
+         creates mappings of each participant to each other participant,
+         picking the 'A' party as it goes. So, if we have four channels in
+         a multi-party bridge (Alice, Bob, Charlie, Denise), we would have
+         something like: Alice => Bob Alice => Charlie Alice => Denise Bob
+         => Charlie Bob => Denise Charlie => Denise This works fine when
+         participants enter the bridge a single time. When a participant
+         leaves a bridge, the CDRs for that channel are transitioned to a
+         finalized state. The bug occurs if Bob rejoins. When the CDR
+         engine creates mappings between the channels, it walks through
+         all the participants currently in the bridge, and realizes that
+         no one in the bridge can create a CDR with the channel (Bob). As
+         such it creates a new CDR for the candidate and appends it to
+         that candidate's chain. Unfortunately, on this particular code
+         path, it doesn't stop traversing the candidate's chain. Since we
+         just added ourselves to the chain, this causes the loop to keep
+         going, constantly adding new CDRs. This patch makes it so the
+         engine bails when it creates a CDR match in this case. Review:
+         https://reviewboard.asterisk.org/r/3964/ ASTERISK-24241 #close
+         Reported by: Deepak Singh Rawat Tested by: Deepak Singh Rawat
+         ASTERISK-24208 Reported by: Frankie Chin ........ Merged
+         revisions 422715 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-05 20:35 +0000 [r422700]  Richard Mudgett <rmudgett@digium.com>
+
+       * funcs/func_channel.c: func_channel.c: Add missing locking to some
+         CHANNEL() requests. * The CHANNEL() audionativeformat,
+         videonativeformat, audioreadformat, and audiowriteformat now need
+         locking since the media format rework when accessing the
+         channel's format pointers. * Increased the buffer size for
+         CHANNEL() audionativeformat and videonativeformat output strings
+         since the allow=all can be a lengthy list. * Tweaked the
+         CHANNEL() XML documentation for secure_bridge_signaling,
+         secure_bridge_media, and state. * Ensured the output buffer is
+         initialized for secure_bridge_signaling and secure_bridge_media.
+         * Made use the locked_copy_string() macro instead of inlining it
+         for trace and checkhangup.
+
+2014-09-05 20:11 +0000 [r422665-422684]  Jonathan Rose <jrose@digium.com>
+
+       * main/dial.c, include/asterisk/dial.h: Dial API: Add a dial option
+         to indicate the dialed channel will replace dialer Adds an option
+         to the dial API that marks an outgoing dial as replacing the
+         dialing channel for the purpose of propagating accountcode. When
+         it is used, AST_CHANNEL_REQUESTOR_REPLACEMENT is used instead of
+         AST_CHANNEL_REQUESTOR_BRIDGE_PEER when setting accountcodes on
+         the involved channels with ast_channel_req_accountcodes. Review:
+         https://reviewboard.asterisk.org/r/3968/
+
+       * main/cli.c, /: Call IDs: Fix appearance of call ID in core show
+         channels when NULL NULL call IDs were meant to appear as '(none)'
+         but instead were showing the contents of an uninitialized
+         character buffer. ASTERISK-24223 Review:
+         https://reviewboard.asterisk.org/r/3979/ ........ Merged
+         revisions 422664 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-05 17:36 +0000 [r422661]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/devicestate.c, channels/chan_iax2.c: devicestate.c: Minor
+         tweaks * In ast_state_chan2dev() use ARRAY_LEN() instead of a
+         sentinel value in chan2dev[]. * Fix some comments in chan_iax2.c.
+
+2014-09-05 13:28 +0000 [r422646]  Kinsey Moore <kmoore@digium.com>
+
+       * menuselect/menuselect.c: Menuselect: Fix incorrect enabling on
+         failed deps This corrects a situation where menuselect can
+         incorrectly enable a module by default that has defaultenabled
+         set to "no" and has failed/non-selected dependencies. The bug is
+         due to an inverted test when checking for whether the given
+         module should be set to enabled by default on load. Review:
+         https://reviewboard.asterisk.org/r/3975/ Reported by: John
+         Bigelow
+
+2014-09-04 21:23 +0000 [r422631]  Jonathan Rose <jrose@digium.com>
+
+       * main/manager.c, /: Manager: Require read permission for SYSTEM in
+         order to send FullyBooted Review:
+         https://reviewboard.asterisk.org/r/3969/ ........ Merged
+         revisions 422584 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 422625 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422626 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-03 14:05 +0000 [r422558]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_transport_websocket.c, /:
+         res_pjsip_transport_websocket: Fix crash when the Contact header
+         is not a URI. The code for changing the Contact header wrongly
+         assumed that the Contact would always contain a URI. This is
+         incorrect. ASTERISK-24271 Reported by: Dafi Ni ........ Merged
+         revisions 422557 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-02 20:29 +0000 [r422542]  Mark Michelson <mmichelson@digium.com>
+
+       * /, channels/chan_pjsip.c, res/res_pjsip_diversion.c,
+         res/res_pjsip_session.c, include/asterisk/res_pjsip_session.h:
+         Resolve race condition where channels enter dialplan application
+         before media has been negotiated. Testsuite tests will
+         occasionally fail because on reception of a 200 OK SIP response,
+         an AST_CONTROL_ANSWER frame is queued prior to when media has
+         finished being negotiated. This is because session supplements
+         are called into before PJSIP's inv_session code has told us that
+         media has been updated. Sometimes the queued answer frame is
+         handled by the PBX thread before the ensuing media negotiations
+         occur, causing a test failure. As it turns out, there is another
+         place that session supplements could be called into, which is
+         after media has finished getting negotiated. What this commit
+         introduces is a means for session supplements to indicate when
+         they wish to be called into when handling an incoming SIP
+         response. By default, all session supplements will be run at the
+         same point that they were prior to this commit. However, session
+         supplements may indicate that they wish to be handled earlier
+         than normal on redirects, or they may indicate they wish to be
+         handled after media has been negotiated. In this changeset, two
+         session supplements have been updated to indicate a preference
+         for when they should be run: res_pjsip_diversion executes before
+         handling redirection in order to get information from the
+         Diversion header, and chan_pjsip now handles responses to INVITEs
+         after media negotiation to fix the race condition mentioned
+         previously. ASTERISK-24212 #close Reported by Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3930 ........ Merged revisions
+         422536 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-09-01 14:16 +0000 [r422504-422507]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cli.c, /: main/cli: Do not attempt to show CDR data for
+         internal channels Internal channels don't have CDRs. Querying the
+         CDR engine for their variables will make it cranky. ........
+         Merged revisions 422506 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis.c, /, res/stasis/stasis_bridge.c: res_stasis:
+         Don't play MoH to channels by default when added to holding
+         bridges When ARI manipulates a bridge, it generally doesn't care
+         what the mixing technology is. Operations on a bridge initiated
+         through ARI should perform their action in generally the same
+         way, regardless of the bridge's mixing technology. While the
+         mixing technology may determine how media flows to channels, the
+         actual operations on a bridge themselves should be the same.
+         Currently, this isn't the case with holding bridges. When a
+         channel joins without a role, MoH is started on that channel
+         automatically. Subsequent bridge operations that would stop MoH
+         would fail (as there is no Announcer channel playing MoH to the
+         bridge). Starting MoH on the bridge will also create two MoH
+         streams: one from the MoH being played on the participant
+         channel, and one from the announcer channel. From the perspective
+         of ARI users, this is counter-intuitive - I would not expect MoH
+         to be started for me. The mixing technology determines how media
+         is shared between participants, not the application experience.
+         This patch does the following: * The Stasis bridge class now
+         inspects channels as they are going into a bridge. If the bridge
+         has a holding capability, and the channel has no roles, we give
+         it a participant role and mark the default behaviour to have no
+         entertainment. This allows addChannel operations to continue to
+         set a participant role with an entertainment option if it felt
+         like it (or could do it). * The music on hold channel is now
+         Stasis approved (tm) Review:
+         https://reviewboard.asterisk.org/r/3929/ ASTERISK-24264 #close
+         Reported by: Samuel Galarneau Tested by: Samuel Galarneau
+         ........ Merged revisions 422503 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-30 17:32 +0000 [r422442-422445]  George Joseph <george.joseph@fairview5.com>
+
+       * apps/app_confbridge.c, /: confbridge: Add Duration to
+         ConfbridgeList event The ConfbridgeList event doesn't include how
+         long the user has been a member of the conference. This patch
+         adds Duration (seconds) which is based on user->chan->answertime.
+         Tested by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3955/ ........ Merged
+         revisions 422444 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/manager.c, /: manager: Make WaitEvent action respect
+         eventfilters A WaitEvent issued via an http session isn't
+         respecting eventfilters defined for the user. I just added a
+         match_filter to the predicate that controls astman_append. Tested
+         by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3958/ ........ Merged
+         revisions 422439 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 422440 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422441 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-29 19:40 +0000 [r422374-422379]  Matthew Jordan <mjordan@digium.com>
+
+       * doc/smsq.8 (added), /: doc: Add a manpage for the smsq utility
+         This patch adds a manpage for the smsq utility. Note that this is
+         one of the patches the Debian distro applies for the Asterisk
+         project, as per ASTERISK-24191. Review:
+         https://reviewboard.asterisk.org/r/3895/ ASTERISK-24171 #close
+         Reported by: Jeremy Laine patches: smsq.8 uploaded by Jeremy
+         Laine (License 6561) ........ Merged revisions 422376 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 422377 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422378 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * doc/aelparse.8 (added), /: doc: Add a manpage for the aelparse
+         utility This patch adds a manpage for the aelparse utility. Note
+         that this is one of the patches the Debian distro applies for the
+         Asterisk project, as per ASTERISK-24191. Review:
+         https://reviewboard.asterisk.org/r/3896/ ASTERISK-24171 #close
+         Reported by: Jeremy Laine patches: aelparse.8 uploaded by Jeremy
+         Laine (License 6561) ........ Merged revisions 422371 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 422372 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422373 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-29 19:05 +0000 [r422359]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * channels/chan_sip.c: The assertion that peer was not found on
+         final event message was being triggered on configuration reload.
+         This patch changes that case to just return instead. Review:
+         https://reviewboard.asterisk.org/r/3953/ Commited in trunk
+         revision 422358
+
+2014-08-28 21:54 +0000 [r422296]  Matthew Jordan <mjordan@digium.com>
+
+       * LICENSE, /: LICENSE: Clarify language in Asterisk's LICENSE to
+         allow for linking to UniMRCP The UniMRCP project distributes
+         Asterisk modules that integrate Asterisk with UniMRCP, and other
+         Asterisk users use the UniMRCP library as well. Unfortunately,
+         the UniMRCP license is Apache 2.0, which per the Free Software
+         Foundation, is not a compatible license with the GPLv2. "Please
+         note that this license is not compatible with GPL version 2,
+         because it has some requirements that are not in that GPL
+         version. These include certain patent termination and
+         indemnification provisions. The patent termination provision is a
+         good thing, which is why we recommend the Apache 2.0 license for
+         substantial programs over other lax permissive licenses." On the
+         other hand, UniMRCP is a great project and we'd like to let
+         people use it with Asterisk. This patch updates the LICENSE text
+         to allow users to link Asterisk with UniMRCP and distribute the
+         resulting binaries. ........ Merged revisions 422293 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 422294 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422295 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-28 20:30 +0000 [r422276]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, channels/chan_iax2.c: chan_iax2: Fix Dynamic IAX2
+         Registrations After Temporary DNS Failure The reporter on the
+         issue found some issues when upgrading from version 10 to 11 on
+         55 hosts. Two situations that can occur with dynamic
+         registrations. 1. With dnsmgr disabled, if the host is not
+         resolvable we are not trying to resolve the host again when it is
+         time to attempt to register again. This results in never
+         registering to the host. 2. With dnsmgr enabled, when the host is
+         temporarily not resolvable the address is set to 0.0.0.0:0 and
+         then when the host is resolvable the port is not being restored
+         and stays set to 0. This patch resolves these two issues by: *
+         Storing the hostname so that it can be used for resolving with
+         DNS. * Resolve the hostname on the next scheduled attempt to
+         register. * Storing the port used to reach the host so that when
+         the hostname is resolvable again, we can set the port again if
+         the port is still unset after looking up the host. ASTERISK-23767
+         #close Reported by: David Herselman Tested by: David Herselman,
+         Michael L. Young Patches:
+         asterisk-23767-dns_reg_retry_and_set_port_11_v3.diff uploaded by
+         Michael L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/3856/ ........ Merged
+         revisions 422274 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422275 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-28 17:25 +0000 [r422256]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, UPGRADE.txt: Added ConfBridge AMI event note to UPGRADE.txt.
+         ........ Merged revisions 422255 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-28 15:49 +0000 [r422239]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pubsub.c: Fix bug that did not allow for multiple
+         batched RLS notifications to be sent. A misunderstanding of how
+         the scheduler worked caused further batched notifications beyond
+         the first not to get scheduled. Now we reset our scheduler ID to
+         -1 after the batched notification is sent. This way, further
+         notifications can be scheduled when they arise.
+
+2014-08-28 00:36 +0000 [r422200-422215]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_pjsip/pjsip_options.c, /: res/res_pjsip/pjsip_options.c:
+         Eliminate excessive RAII_VAR usage. * Fix off nominal ref leak in
+         find_or_create_contact_status(). * Add missing NULL check of
+         status in update_contact_status() and init_start_time(). ........
+         Merged revisions 422214 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/sched.c, include/asterisk/sched.h: sched: Fix typo and
+         whitespace change.
+
+2014-08-27 17:29 +0000 [r422177]  George Joseph <george.joseph@fairview5.com>
+
+       * /, apps/confbridge/confbridge_manager.c, apps/app_confbridge.c:
+         confbridge: Add 'Admin' param to join, leave, mute, unmute and
+         talking events Currently there's no way to tell if a user is an
+         admin or not when receiving the join, leave, mute, unmute and
+         talking events. This patch adds that capability. Tested by:
+         George Joseph Review: https://reviewboard.asterisk.org/r/3950/
+         ........ Merged revisions 422176 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-27 15:31 +0000 [r422154]  Kinsey Moore <kmoore@digium.com>
+
+       * include/asterisk/utils.h, /, channels/chan_sip.c,
+         tests/test_callerid.c (added), tests/test_utils.c,
+         main/callerid.c, main/utils.c, res/res_pjsip_caller_id.c:
+         CallerID: Fix parsing of malformed callerid This allows the
+         callerid parsing function to handle malformed input strings and
+         strings containing escaped and unescaped double quotes. This also
+         adds a unittest to cover many of the cases where the parsing
+         algorithm previously failed. Review:
+         https://reviewboard.asterisk.org/r/3923/ Review:
+         https://reviewboard.asterisk.org/r/3933/ ........ Merged
+         revisions 422112 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 422113 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 422114 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-26 23:28 +0000 [r422091]  George Joseph <george.joseph@fairview5.com>
+
+       * apps/app_confbridge.c, /: confbridge: Make kick, mute and unmute
+         handle channel targets consistently. Kick, mute and unmute were a
+         little inconsistent in their handling of channel targets. This
+         patch cleans that up by insuring they all handle the 'all' target
+         consistently and adds the 'participants' target which acts on
+         non-admins. Documentation for kick was also cleaned up as it
+         never supported partial channel names. Tested by: George Joseph
+         Review: https://reviewboard.asterisk.org/r/3944/ ........ Merged
+         revisions 422090 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-26 22:13 +0000 [r422071]  Mark Michelson <mmichelson@digium.com>
+
+       * main/sched.c, /: Fix race condition in the scheduler when
+         deleting a running entry. When scheduled tasks run, they are
+         removed from the heap (or hashtab). When a scheduled task is
+         deleted, if the task can't be found in the heap (or hashtab), an
+         assertion is triggered. If DO_CRASH is enabled, this assertion
+         causes a crash. The problem is, sometimes it just so happens that
+         someone attempts to delete a scheduled task at the time that it
+         is running, leading to a crash. This change corrects the issue by
+         tracking which task is currently running. If that task is
+         attempted to be deleted, then we mark the task, and then wait for
+         the task to complete. This way, we can be sure to coordinate task
+         deletion and memory freeing. ASTERISK-24212 Reported by Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/3927 ........
+         Merged revisions 422070 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-25 16:44 +0000 [r421979-422037]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_musiconhold.c: res_musiconhold.c: Release any format refs
+         before memset(). * Clear the channel music_state pointer before
+         destroying the music_state object for safety.
+
+       * res/res_musiconhold.c, /: res_musiconhold: Fix MOH restarting
+         where it left off from the last hold. Restore code removed by
+         https://reviewboard.asterisk.org/r/3536/ that introduced a
+         regression that prevents MOH from restarting were it left off the
+         last time. ASTERISK-24019 #close Reported by: Jason Richards
+         Patches: jira_asterisk_24019_v1.8.patch (license #5621) patch
+         uploaded by rmudgett Review:
+         https://reviewboard.asterisk.org/r/3928/ ........ Merged
+         revisions 421976 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421977 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421978 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-24 19:36 +0000 [r421911-421956]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_transport_websocket.c, /:
+         res_pjsip_transport_websocket: Attach the Websocket module on
+         outgoing INVITEs. In order to alter the Contact header on
+         in-dialog requests and responses the Websocket module must be
+         attached on outgoing INVITEs. The Contact header is modified so
+         that the PJSIP transport layer can find and use the existing
+         Websocket connection based on the source IP address, port, and
+         transport. ASTERISK-24143 #close Reported by: Aleksei Kulakov
+         ........ Merged revisions 421955 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_transport_websocket.c:
+         res_pjsip_transport_websocket: Fix a progressive memory growth.
+         The packet structure used to receive messages was using the
+         transport pool. This meant that for each parsing the pool would
+         grow accordingly. Since memory can not be reclaimed without
+         resetting it this would cause the memory pool to grow and grow.
+         This change uses a specific memory pool for the packet structure
+         and resets it to a fresh state after the message has been
+         received and handled. ........ Merged revisions 421939 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_transport_websocket.c:
+         res_pjsip_transport_websocket: Ensure secure Websocket clients
+         can be called. This change enforces the transport in the Contact
+         header for Websocket clients. Previously a client may provide a
+         transport of 'ws' when it is actually using a transport of 'wss'.
+         This would cause outgoing calls to fail as the existing
+         connection could not be found. ........ Merged revisions 421931
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: chan_sip: Use the server reflexive ICE
+         candidate RTCP port as provided. This code originally worked
+         around an issue within res_rtp_asterisk itself. The wrong socket
+         was being used for the STUN check for RTCP, causing the port to
+         be the same as RTP. This was subsequently fixed and the RTCP port
+         provided for the ICE candidate is correct and does not need to be
+         incremented. ASTERISK-23997 #close Reported by: Badalian
+         Vyacheslav Patches: plus1.diff submitted by Badalian Vyacheslav
+         (license 5249) ........ Merged revisions 421909 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421910 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-22 16:56 +0000 [r421882]  Mark Michelson <mmichelson@digium.com>
+
+       * apps/app_mixmonitor.c: Fix a locking inversion in MixMonitor. We
+         need to unlock the audiohook before trying to lock the channel,
+         since the correct locking order is channel then audiohook.
+
+2014-08-22 16:44 +0000 [r421880]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_stasis_answer.c, res/res_stasis.c, res/stasis/command.c,
+         res/res_stasis_playback.c, /, res/stasis/control.c,
+         res/stasis/stasis_bridge.c, res/stasis/command.h,
+         include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c:
+         ARI: Fix a crash caused by hanging during playback to a channel
+         in a bridge ASTERISK-24147 #close Reported by: Edvin Vidmar
+         Review: https://reviewboard.asterisk.org/r/3908/ ........ Merged
+         revisions 421879 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-22 14:08 +0000 [r421860]  Matthew Jordan <mjordan@digium.com>
+
+       * main/message.c, /: main/message: Add a new-line to a DEBUG
+         message ........ Merged revisions 421859 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-21 22:07 +0000 [r421802]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_musiconhold.c: res_musiconhold.c: Remove obsolete
+         REF_DEBUG code. Remove unneeded code that writes to the wrong
+         file location in an obsolete format. ........ Merged revisions
+         421799 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 421800 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421801 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-21 21:42 +0000 [r421790-421797]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_session.c, /: Switch from hostname to an IP address
+         in the SDP origin line. Using the hostname in the SDP origin line
+         may not satisfy the requirement of RFC 4566 that we use a FQDN or
+         IP address. This change has us use the same information from the
+         SDP connection line if possible. If not possible, we'll use the
+         configured media address. And if that's not possible, we use the
+         result of a PJLIB call to get the IP address of ourself.
+         ASTERISK-23994 #close Reported by Private Name Review:
+         https://reviewboard.asterisk.org/r/3925 ........ Merged revisions
+         421796 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/stasis/control.c: Ensure after-bridge behavior is correct
+         when moving from Stasis to a non-Stasis bridge. Because of the
+         departable state of channels that enter Stasis bridges, Stasis
+         has to take responsibility for directing the channel to its
+         intended after-bridge destination if the channel moves from a
+         Stasis bridge to a non-Stasis bridge. This change ensures that
+         when such a move occurs, when the channel leaves the bridging
+         system, any after bridge gotos are honored. Review:
+         https://reviewboard.asterisk.org/r/3920 ........ Merged revisions
+         421792 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_caller_id.c, /: Let's try checking the name and
+         number, instead of the name twice. ........ Merged revisions
+         421789 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-21 21:25 +0000 [r421788]  Jonathan Rose <jrose@digium.com>
+
+       * /, res/res_musiconhold.c: res_musiconhold: Fix reference leaks
+         caused when reloading with REF_DEBUG set Due to a faulty function
+         for debugging reference decrementing, it was possible to reduce
+         the refcount on the wrong object if two moh classes of the same
+         name were in the moh class container. (closes issue
+         ASTERISK-22252) Reported by: Walter Doekes Patches:
+         18_moh_debug_ref_patch.diff Uploaded by Jonathan Rose (license
+         6182) ........ Merged revisions 398937 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421777 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421779 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-21 21:18 +0000 [r421783]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip_caller_id.c: Improve consistency of party ID
+         privacy usage. Prior to this change, the Remote-Party-ID header
+         took the position of "If caller name and number are not
+         explicitly allowed, then they are private" and
+         P-Asserted-Identity took the position of "Caller name and number
+         are only private if marked explicitly so" Now both mechanisms of
+         conveying party identification use the former approach. ........
+         Merged revisions 421778 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-21 17:34 +0000 [r421675-421720]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Don't use port derived from
+         fromdomain if it isn't set If a user does not provide a port in
+         the fromdomain setting, chan_sip will set the fromdomainport to
+         STANDARD_SIP_PORT (5060). The fromdomainport value will then get
+         used unilaterally in certain places. This causes issues with TLS,
+         where the default port is expected to be 5061. This patch
+         modifies chan_sip such that fromdomainport is only used if it is
+         not the standard SIP port; otherwise, the port from the SIP pvt's
+         recorded self IP address is used. Review:
+         https://reviewboard.asterisk.org/r/3893/ ASTERISK-24178 #close
+         Reported by: Elazar Broad patches: fromdomainport_fix.diff
+         uploaded by Elazar Broad (License 5835) ........ Merged revisions
+         421717 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 421718 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421719 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, UPGRADE.txt, main/app.c: ARI: Fix implicit answer when
+         playback is initiated on unanswered channel When issuing a POST
+         /channels/{channel_id}/play on a channel that is not yet
+         answered, ARI is supposed to: * Queue up an AST_CONTROL_PROGRESS
+         on the channel * Start up the playback of the media Instead, we
+         sneak an answer on the channel right before starting playing
+         media. This is due to ARI's usage of control_streamfile. This
+         function implicitly answers the channel (and doesn't give ARI the
+         option to stop it). The answering of the channel here is probably
+         unnecessary: * app_voicemail, by far the biggest consumer of this
+         function, always answers the channels anyway * control stream
+         file (in res_agi) and ControlPlayback probably shouldn't be
+         implicitly answering the channel. Answering should not be tied
+         directly to playing back media. As it turns out, the answering of
+         the channel here is pretty old: 356042 twilson if
+         (ast_channel_state(chan) != AST_STATE_UP) { 3087 anthm res =
+         ast_answer(chan); 180259 tilghman } (As in, ancient?) Note that
+         others ran into this problem and commented about it on various
+         mailing lists. Review: https://reviewboard.asterisk.org/r/3907/
+         ASTERISK-24229 #close Reported by: Matt Jordan ........ Merged
+         revisions 421695 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/stasis/messaging.h, main/dns.c, /, main/format_cache.c: Clean
+         up files that do not end with newlines Trivial patch to add new
+         lines to several files missing them. This fixes warnings when
+         compiling with gcc 4.1.2 on CentOS 5. ASTERISK-24245 #close
+         Reported by: Shaun Ruffell patches:
+         0002-Trivial-addition-of-newlines-at-end-of-three-files.patch
+         uploaded by Shaun Ruffell (License 5417) ........ Merged
+         revisions 421677 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/uri.h, main/uri.c: uri: Quiet warning about type
+         qualifiers ignored on function return type This patch fixes gcc
+         warnings that occur due to the type qualifier 'const' being
+         ignored on a return type of int. ASTERISK-24246 #close Reported
+         by: Shaun Ruffell patches:
+         0001-main-uri-Quiet-warning-about-ignored-attribute-on-re.patch
+         uploaded by Shaun Ruffell (License 5417)
+
+2014-08-20 22:49 +0000 [r421616-421645]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/bridge.c, res/res_pjsip_sdp_rtp.c, main/file.c,
+         main/bridge_channel.c, channels/chan_pjsip.c, main/channel.c:
+         chan_pjsip: Update media translation paths when new SDP
+         negotiated. On a SIP reinvite that changes media strams, the
+         PJSIP channel driver was flooding the log with "Asked to transmit
+         frame type %s, while native formats is %s" warnings. * Fixes
+         PJSIP not setting up translation paths when the formats change on
+         a reinvite. AFS-63 was effectively reintroduced because of the
+         media formats work. res_pjsip_sdp_rtp.c:set_caps() * Improved the
+         unexpected frame format WARNING message to include more
+         information. * Added protective locking while altering formats on
+         a channel. Reworked set_format() to simplify and protect the
+         formats under manipulation. * Restored some code that got lost in
+         the media_formats work. (channel.c:set_format() and
+         res_pjsip_sdp_rtp.c:set_caps()) AFS-137 #close Reported by: Mark
+         Michelson Review: https://reviewboard.asterisk.org/r/3906/
+
+       * /, main/cli.c: cli.c: Fix tab completion of "module load" when
+         MALLOC_DEBUG is enabled. filename_completion_function() returns
+         memory that was not allocated by the MALLOC_DEBUG allocation
+         tracker so the memory must be freed by ast_std_free(). ........
+         Merged revisions 421600 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421602 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421608 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-20 20:40 +0000 [r421566-421585]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pubsub.c: Set the role for inbound subscriptions
+         correctly. This was causing the AMI show_subscriptions test in
+         the testsuite to fail since all subscriptions were being seen as
+         subscribers instead of notifiers.
+
+       * /, channels/chan_pjsip.c: Move evaluation of set_var options in
+         pjsip to the end of channel initialization. This allows for
+         set_var to override certain defaults such as caller ID and codec
+         values. This also fixes a test suite regression. The "set_var"
+         test suite test attempted to use set_var to override caller ID,
+         but a recent change caused that to no longer work. ........
+         Merged revisions 421565 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-20 13:04 +0000 [r421538]  Kinsey Moore <kmoore@digium.com>
+
+       * include/asterisk/stasis_bridges.h, tests/test_cel.c,
+         res/ari/ari_model_validators.c, main/stasis_bridges.c,
+         res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
+         res/stasis/app.c, main/bridge.c: Stasis: Add information to blind
+         transfer event When a blind transfer occurs that is forced to
+         create a local channel pair to satisfy the transfer request,
+         information about the local channel pair is not published. This
+         adds a field to describe that channel to the blind transfer
+         message struct so that this information is conveyed properly to
+         consumers of the blind transfer message. This also fixes a bug in
+         which Stasis() was unable to properly identify the channel that
+         was replacing an existing Stasis-controlled channel due to a
+         blind transfer. Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3921/ ........ Merged
+         revisions 421537 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-19 20:28 +0000 [r421448-421488]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip.c: Alter documentation for callerid_privacy to
+         use correct values. ........ Merged revisions 421485 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis.c, /: Fix compilation error on certain versions of
+         GCC. ........ Merged revisions 421447 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-19 19:42 +0000 [r421445]  Kinsey Moore <kmoore@digium.com>
+
+       * main/manager.c, /: AMI Docs: Fix Status channel parameter
+         optionality ........ Merged revisions 421442 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421443 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421444 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-19 16:28 +0000 [r421423]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_stasis.c, /: ARI: Fix a bug where
+         /channels/{channelID}/continue doesn't execute PBX If
+         /channels/{channelID}/continue is called on a channel that was
+         originated without a PBX (such as the ARI command POST channel
+         with a stasis application argument), the channel will not start
+         dialplan execution. This patch will now run the PBX out of the
+         stasis execution if the channel doesn't currently have an active
+         PBX upon continuing. ASTERISK-24043 #close Reported by: Krandon
+         Bruse Review: https://reviewboard.asterisk.org/r/3917/ Patches:
+         stasis-continue.diff submitted by Krandon Bruse (license 6631)
+         ........ Merged revisions 421416 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-19 16:11 +0000 [r421403]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_pjsip_caller_id.c, channels/chan_pjsip.c,
+         res/res_pjsip_session.c: chan_pjsip: Fix attended transfer
+         connected line name update. A calls B B answers B SIP attended
+         transfers to C C answers, B and C can see each other's connected
+         line information B completes the transfer A has number but no
+         name connected line information about C while C has the full
+         information about A I examined the incoming and outgoing party id
+         information handling of chan_pjsip and found several issues: *
+         Fixed ast_sip_session_create_outgoing() not setting up the
+         configured endpoint id as the new channel's caller id. This is
+         why party A got default connected line information. * Made
+         update_initial_connected_line() use the channel's CALLERID(id)
+         information. The core, app_dial, or predial routine may have
+         filled in or changed the endpoint caller id information. * Fixed
+         chan_pjsip_new() not setting the full party id information
+         available on the caller id and ANI party id. This includes the
+         configured callerid_tag string and other party id fields. * Fixed
+         accessing channel party id information without the channel lock
+         held. * Fixed using the effective connected line id without doing
+         a deep copy outside of holding the channel lock. Shallow copy
+         string pointers can become stale if the channel lock is not held.
+         * Made queue_connected_line_update() also update the channel's
+         CALLERID(id) information. Moving the channel to another bridge
+         would need the information there for the new bridge peer. * Fixed
+         off nominal memory leak in update_incoming_connected_line(). *
+         Added pjsip.conf callerid_tag string to party id information from
+         enabled trust_inbound endpoint in caller_id_incoming_request().
+         AFS-98 #close Reported by: Mark Michelson Review:
+         https://reviewboard.asterisk.org/r/3913/ ........ Merged
+         revisions 421400 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-18 21:10 +0000 [r421376]  Damien Wedhorn <voip@facts.com.au>
+
+       * channels/chan_skinny.c: Skinny: Fixup compile warning for non
+         dev-mode.
+
+2014-08-18 20:19 +0000 [r421337]  George Joseph <george.joseph@fairview5.com>
+
+       * funcs/func_config.c, /: func_config: Change 'Not Found' message
+         from ERROR to DEBUG When you call the CONFIG dialplan function
+         with the name of a variable that doesn't exist in the target
+         context you get an ERROR. This does nothing but clutter up the
+         logs with messages that may be perfectly acceptable. Just because
+         a variable wasn't in the context doesn't mean it's an error.
+         Maybei t's optional or just needs to be defaulted or ignored.
+         This patch changes the log level from ERROR to DEBUG. If a
+         dialplan developer wants to debug their dialplan they still canby
+         setting the console debug level as needed. Tested by: George
+         Joseph Review: https://reviewboard.asterisk.org/r/3919/ ........
+         Merged revisions 421327 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421328 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421329 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-18 01:13 +0000 [r421230-421312]  Matthew Jordan <mjordan@digium.com>
+
+       * res/ari/resource_channels.c: res/ari/resource_channels: Fix
+         compilation issue Forgot a parameter. Whoops.
+
+       * res/ari/resource_channels.c: res/ari/resource_channels: Don't
+         return allocation failure on failed function If a function fails
+         to execute, it is most likely due to one of two reasons: (1) The
+         function doesn't exist or can't be read from (2) The function is
+         dangerous and is restricted based on the user's permissions
+         Currently we return allocation failure, which is incorrect. This
+         updates the reason code to more accurately reflect why the
+         request failed. ASTERISK-24215
+
+       * /, apps/app_meetme.c: apps/app_meetme: Fix crash when publishing
+         MeetMe messages with no channel The same function,
+         meetme_stasis_generate_msg, handles creating and publishing
+         Stasis message both when there are channels in the MeetMe
+         conference and when there are no channels in the conference. When
+         the performance improvement was made to use cached snapshots,
+         this created a situation where Asterisk would crash: obtaining a
+         cached snapshot is not NULL tolerant. This patch restores the
+         previous implementation, which used a NULL safe set of routines
+         to produce a blob containing the channel snapshot (if available)
+         and information about the MeetMe conference. ASTERISK-24234
+         #close Reported by: Shaun Ruffell Tested by: Shaun Ruffell
+         ........ Merged revisions 421270 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_dial.c, /: apps/app_dial: Fix Dial 'z' option The 'z'
+         option is supposed to disable the dial timeout in the case of a
+         call forward. Unfortunately, the wrong timeout timer was passed
+         to the do_forward function, resulting in the option not working.
+         ASTERISK-24225 #close Reported by: dimitripietro Tested by:
+         dimitripietro patches: jira_asterisk_24225_v1.8.patch uploaded by
+         rmudgett (License 5621) jira_asterisk_24225_v11.patch uploaded by
+         rmudgett (License 5621) ........ Merged revisions 421232 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421233 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421234 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, configure, configure.ac: configure: Undefine FORTIFY_SOURCE
+         prior to defining it for patched gcc Some distributions of Linux
+         patch gcc to define FORTIFY_SOURCE when gcc is executed with
+         optimization. This "help" unfortunately results in re-definition
+         warnings when FORTIFY_SOURCE is later defined in Asterisk's build
+         system. This patch undefines FORTIFY_SOURCE prior to defining it
+         to prevent this warning. Review:
+         https://reviewboard.asterisk.org/r/3912/ ASTERISK-24032 #close
+         Reported by: Kilburn Tested by: Kilburn, wdoekes patches:
+         1.8.diff uploaded by cloos (License 5956) 10.diff uploaded by
+         cloos (License 5956) 11.diff uploaded by cloos (License 5956)
+         12.diff uploaded by cloos (License 5956) 13.diff uploaded by
+         cloos (License 5956) ........ Merged revisions 421227 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421228 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421229 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-17 16:10 +0000 [r421210]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_http_websocket.c: res_http_websocket: Include query
+         parameters in client connection requests. Review:
+         https://reviewboard.asterisk.org/r/3914/
+
+2014-08-15 17:08 +0000 [r421187]  Jonathan Rose <jrose@digium.com>
+
+       * main/channel.c, /: Bridging: Fix a behavioral change when
+         checking if a channel is leaving a bridge r420934 introduced some
+         failures in the test suite. Upon investigating, it was discovered
+         that differences in the way we were evaluating whether a channel
+         was in the process of leaving a bridge were causing some
+         reinvites not to occur (mostly reinvites back to Asterisk when
+         ending a call). This patch fixes that behavioral change.
+         ASTERISK-24027 #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3910/ ........ Merged
+         revisions 421186 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-15 15:45 +0000 [r421042-421166]  Matthew Jordan <mjordan@digium.com>
+
+       * apps/app_voicemail.c, /, main/app.c: app_voicemail/app: Remove
+         test events that were duplicated by r421059 Moving the test event
+         raised when a file is played back (which occurred in r421059)
+         broke the ever loving snot out of the voicemail tests. This
+         caused duplicate test events to get raised, as app_voicemail and
+         main/app were raising events prior to call ast_streamfile. The
+         voicemail tests did not enjoy getting multiple events. Since
+         raising the playback event in ast_streamfile is far more useful
+         to the vast majority of tests, this patch keeps the call there
+         and simply removes the extraneous calls that duplicated the
+         event. ........ Merged revisions 421125 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421164 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421165 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_hep_rtcp.c, /: res/res_hep_rtcp: Remove dependency on
+         PJSIP The res_hep_rtcp module was incorrectly including
+         <pjsip.h>. This didn't need to be included, as the module does
+         not using PJPROJECT any fashion. Unfortunately, because
+         res_hep_rtcp did not include pjsip in its MODULEINFO as a
+         dependency, this also meant that res_hep_rtcp will fail to
+         compile on a system without PJPROJECT. This patch removes the
+         include. Thanks to Damien Wedhorn for pointing this out in
+         #asterisk-dev. ASTERISK-24236 #close Reported by: Damien Wedhorn,
+         Matt Jordan Tested by: Damien Wedhorn ........ Merged revisions
+         421064 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/file.c, main/app.c: main/file: Move test event to emit
+         PLAYBACK event more consistently This is being done in advance of
+         the test for ASTERISK-23953 ........ Merged revisions 421059 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 421060 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 421061 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * tests/test_cel.c, main/cel.c, /: cel: Make sure channels in extra
+         fields include their unique IDs as well CEL typically tracks a
+         lot of information using the unique ID of the channel. This is
+         typically needed due to tying events together using the linked ID
+         of the various channels involved in a "call", which is derived
+         from the channel ID of the oldest channel involved in a bridge
+         (or in the case of a Dial, the parent channel). Previously, we
+         had updated the extra fields to include the involved channel
+         names, but forgot to put in the unique ID. This patch corrects
+         that error. ........ Merged revisions 421037 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-14 16:32 +0000 [r420957-421010]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/ari/resource_channels.c: ARI: Originate to app local
+         channel subscription code optimization. Reduce the scope of
+         local_peer and only get it if the ARI originate is subscribing to
+         the channels. Review: https://reviewboard.asterisk.org/r/3905/
+         ........ Merged revisions 421009 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/channel_internal_api.c, main/channel.c:
+         channel_internal_api.c: Replace some code with ao2_replace(). Use
+         ao2_replace() instead of ao2_cleanup(); ao2_bump(). ao2_replace()
+         has the advantange of not altering the ref count if the replaced
+         pointer is the same. Review:
+         https://reviewboard.asterisk.org/r/3904/
+
+       * /, res/res_pjsip_send_to_voicemail.c:
+         res_pjsip_send_to_voicemail.c: Fix svn file properties. ........
+         Merged revisions 420956 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-13 16:53 +0000 [r420950]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip.c, /: PJSIP: Prevent crash no-URI contacts This
+         prevents a crash from occurring when a contact with no URI is
+         used for the creation of an outbound out-of-dialog request with
+         no associated endpoint. ........ Merged revisions 420949 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-13 16:07 +0000 [r420940]  Jonathan Rose <jrose@digium.com>
+
+       * main/bridge_after.c, main/channel_internal_api.c,
+         include/asterisk/channel.h, apps/app_chanspy.c,
+         apps/app_mixmonitor.c, apps/app_stack.c, main/bridge_channel.c,
+         main/channel.c, main/pbx.c, /, main/framehook.c: Bridges: Fix
+         feature interruption/unintended kick caused by external actions
+         If a manager or CLI user attached a mixmonitor to a call running
+         a dynamic bridge feature while in a bridge, the feature would be
+         interrupted and the channel would be forcibly kicked out of the
+         bridge (usually ending the call during a simple 1 to 1 call).
+         This would also occur during any similar action that could set
+         the unbridge soft hangup flag, so the fix for this was to remove
+         unbridge from the soft hangup flags and make it a separate thing
+         all together. ASTERISK-24027 #close Reported by: mjordan Review:
+         https://reviewboard.asterisk.org/r/3900/ ........ Merged
+         revisions 420934 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-13 14:24 +0000 [r420919]  Kinsey Moore <kmoore@digium.com>
+
+       * main/manager.c: AMI: Improve documentation for Status action
+
+2014-08-13 07:52 +0000 [r420899]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, main/logger.c: logger: Don't store verbose-magic in the log
+         files. In r399267, the verbose2magic stuff was edited. This time
+         it results in magic characters in the log files for multiline
+         messages. In trunk (and 13) this was fixed by the "stripping" of
+         those characters from multiline messages (in r414798). This fix
+         is altered to actually strip the characters and not replace them
+         with blanks. Review: https://reviewboard.asterisk.org/r/3901/
+         Review: https://reviewboard.asterisk.org/r/3902/ ........ Merged
+         revisions 420897 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 420898 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-12 23:43 +0000 [r420879-420881]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_sip.c: chan_sip: Fix type mismatch when the format
+         is changed. Symptom is most likely an invalid ao2 object bad
+         magic number message or a less likely crash.
+
+       * res/res_stasis_snoop.c: res_stasis_snoop.c: Fix off nominial exit
+         path leaving Snoop channel locked and not hungup. * Made use
+         ast_copy_string() instead of strcpy() for snoop uniqueid for
+         safety. There is no guarantee that the max channel uniqueid
+         length will remain the same as the snoop uniqueid space.
+
+2014-08-12 11:17 +0000 [r420856]  Joshua Colp <jcolp@digium.com>
+
+       * apps/app_voicemail.c: app_voicemail: Fix the
+         "test_voicemail_vm_info" unit test.
+
+2014-08-11 20:53 +0000 [r420837]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/stasis/command.c, /: res/stasis/command.c: Fix recent commit
+         using spaces instead of tabs. ........ Merged revisions 420836
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-11 18:50 +0000 [r420808]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/playbacks.json,
+         rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
+         rest-api/resources.json, include/asterisk/manager.h,
+         rest-api/api-docs/bridges.json,
+         rest-api/api-docs/recordings.json,
+         rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/endpoints.json,
+         rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
+         /, rest-api/api-docs/asterisk.json,
+         rest-api/api-docs/applications.json: AMI/ARI: Update version to
+         2.5.0/1.5.0 respectively This is to support the backwards
+         compatible changes made in the next version of Asterisk. ........
+         Merged revisions 420805 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-11 18:46 +0000 [r420796-420803]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_stasis.c: Stasis: Use the correct return value Return
+         the correct value instead of always returning 0 when setting
+         internal status on unreal channels. Reported by: Richard Mudgett
+         ........ Merged revisions 420802 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis.c, res/ari/resource_bridges.c, /,
+         res/stasis/stasis_bridge.c, include/asterisk/stasis_app.h:
+         Stasis: Allow internal channels directly into bridges The patch
+         to catch channels being shoehorned into Stasis() via external
+         mechanisms also happens to catch Announcer and Recorder channels
+         because they aren't known to be stasis-controlled channels in the
+         usual sense. This marks those channels as Stasis()-internal
+         channels and allows them directly into bridges. Review:
+         https://reviewboard.asterisk.org/r/3903/ ........ Merged
+         revisions 420795 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-11 18:32 +0000 [r420758-420794]  Mark Michelson <mmichelson@digium.com>
+
+       * include/asterisk/stasis_app.h, main/stasis_channels.c,
+         res/ari/resource_channels.c, CHANGES, res/res_pjsip_pubsub.c,
+         main/manager_channels.c, apps/app_dial.c, res/stasis/app.c,
+         res/stasis/control.c: Improve call forwarding reporting,
+         especially with regards to ARI. This patch addresses a few
+         issues: 1) The order of Dial events have been changed when
+         performing a call forward. The order has now been altered to 1)
+         Dial begins dialing channel A. 2) When A forwards the call to B,
+         we issue the dial end event to channel A, indicating the dial is
+         being canceled due to a forward to B. 3) When the call to channel
+         B occurs, we then issue a new dial begin to channel B. 2) Call
+         forwards are now reported on the calling channel, not the peer
+         channel. 3) AMI DialEnd events have been altered to display the
+         extension the call is being forwarded to when relevant. 4) You
+         can now get the values of channel variables for channels that are
+         not currently in the Stasis application. This brings the
+         retrieval of channel variables more in line with the rest of
+         channel read operations since they may be performed on channels
+         not in Stasis. ASTERISK-24134 #close Reported by Matt Jordan
+         ASTERISK-24138 #close Reported by Matt Jordan Patches:
+         forward-shenanigans.diff uploaded by Matt Jordan (License #6283)
+         Review: https://reviewboard.asterisk.org/r/3899
+
+       * res/res_pjsip_pubsub.c: Fix crashing unit tests with regards to
+         RLS. The unit tests require a sorcery.conf file that has been set
+         up to store resource lists in memory rather than retrieving from
+         configuration. With a setup that is not conducive to running the
+         tests, a fault in sorcery currently causes Asterisk to crash when
+         attempting to run any of the tests. To get around the crash, this
+         adds a function that verifies the current environment and marks
+         the tests as "not run" if the setup is not correct.
+
+       * res/res_pjsip_pubsub.c: Fix crash encountered by the testsuite.
+         Running testsuite tests locally produced no errors, but when run
+         using the continuous integration framework, crashes occurred. The
+         crashes occurred due to a refcounting error that had been fixed
+         for a similar situation.
+
+2014-08-11 13:57 +0000 [r420742]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_hep.c, res/res_hep_pjsip.c, res/res_hep_rtcp.c: res_hep:
+         Remove disabling of modules These modules were originally
+         specified as being disabled, as they were introduced midstream in
+         Asterisk 12. That makes it nicer for folks who are upgrading to a
+         new release in the middle of Asterisk 12. That's not the case for
+         Asterisk 13: it's a brand new release. There's no reason to have
+         the modules disabled by default in that case.
+
+2014-08-11 10:40 +0000 [r420657-420717]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, main/utils.c: general: Fix memory Corruption in
+         __ast_string_field_ptr_build_va. If the space left in a
+         stringfield is between 0 and
+         (alignof(ast_string_field_allocation)-1) adding new data would
+         cause memory corruption, because we would assume enough space
+         (unsigned underrun). Thanks Arnd Schmitter for reporting and
+         finding out the cause! ASTERISK-23508 #close Reported by: Arnd
+         Schmitter Tested by: Arnd Schmitter, JoshE Review:
+         https://reviewboard.asterisk.org/r/3898/ ........ Merged
+         revisions 420680 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 420715 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 420716 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/tcptls.c, /: tcptls: Avoid compiler warning on non-dev-mode.
+         ........ Merged revisions 420654 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 420655 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 420656 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-11 01:31 +0000 [r420607-420639]  Matthew Jordan <mjordan@digium.com>
+
+       * funcs/func_jitterbuffer.c: funcs/func_jitterbuffer: Tweak
+         documentation This patch merely reformats and cleans up a bit of
+         the jitterbuffer documentation for the wiki.
+
+       * UPGRADE.txt, configs/samples/extconfig.conf.sample, CHANGES,
+         apps/app_queue.c,
+         contrib/ast-db-manage/config/versions/d39508cb8d8_create_queue_rules.py
+         (added), configs/samples/queuerules.conf.sample: app_queue: Add
+         RealTime support for queue rules This patch gives the optional
+         ability to keep queue rules in RealTime. It is important to note
+         that with this patch: (a) Queue rules in RealTime are only
+         examined on module load/reload (b) Queue rules are loaded both
+         from the queuerules.conf file as well as the RealTime backend To
+         inform app_queue to examine RealTime for queue rules, a new
+         setting has been added to queuerules.conf's general section
+         "realtime_rules". RealTime queue rules will only be used when
+         this setting is set to "yes". The schema for the database table
+         supports a rule_name, time, min_penalty, and max_penalty columns.
+         min_penalty and max_penalty can be relative, if a '-' or '+'
+         literal is provided. Otherwise, the penalties are treated as
+         constants. For example: rule_name, time, min_penalty, max_penalty
+         'default', '10', '20', '30' 'test2', '20', '30', '55' 'test2',
+         '25', '-11', '+1111' 'test2', '400', '112', '333' 'test3', '0',
+         '4564', '46546' 'test_rule', '40', '15', '50' which would result
+         in : Rule: default - After 10 seconds, adjust QUEUE_MAX_PENALTY
+         to 30 and adjust QUEUE_MIN_PENALTY to 20 Rule: test2 - After 20
+         seconds, adjust QUEUE_MAX_PENALTY to 55 and adjust
+         QUEUE_MIN_PENALTY to 30 - After 25 seconds, adjust
+         QUEUE_MAX_PENALTY by 1111 and adjust QUEUE_MIN_PENALTY by -11 -
+         After 400 seconds, adjust QUEUE_MAX_PENALTY to 333 and adjust
+         QUEUE_MIN_PENALTY to 112 Rule: test3 - After 0 seconds, adjust
+         QUEUE_MAX_PENALTY to 46546 and adjust QUEUE_MIN_PENALTY to 4564
+         Rule: test_rule - After 40 seconds, adjust QUEUE_MAX_PENALTY to
+         50 and adjust QUEUE_MIN_PENALTY to 15 If you use RealTime, the
+         queue rules will be always reloaded on a module reload, even if
+         the underlying file did not change. With the option disabled, the
+         rules will only be reloaded if the file was modified. Review:
+         https://reviewboard.asterisk.org/r/3607/ ASTERISK-23823 #close
+         Reported by: Michael K patches: app_queue.c_realtime_trunk.patch
+         uploaded by Michael K (License 6621)
+
+       * CHANGES: Update CHANGES file
+
+       * UPGRADE.txt: Update UPGRADE.txt file
+
+2014-08-08 20:08 +0000 [r420577-420592]  Jason Parker <jparker@digium.com>
+
+       * apps/app_voicemail.c: Fix build in devmode.
+
+       * CHANGES, configs/samples/voicemail.conf.sample,
+         apps/app_voicemail.c: app_voicemail: Add the ability to specify
+         multiple email addresses. ASTERISK-24045 Reported by: Jacob
+         Barber Review: https://reviewboard.asterisk.org/r/3833/
+
+2014-08-08 17:53 +0000 [r420534-420562]  Matthew Jordan <mjordan@digium.com>
+
+       * channels/chan_sip.c, channels/sip/security_events.c,
+         channels/sip/dialplan_functions.c, channels/sip/reqresp_parser.c,
+         channels/sip/route.c, channels/sip/utils.c,
+         channels/sip/config_parser.c: chan_sip: Mark chan_sip and its
+         files as extended support
+
+       * rest-api-templates/make_ari_stubs.py: make_ari_stubs: Update wiki
+         prefix to '13'
+
+       * rest-api-templates/res_ari_resource.c.mustache:
+         res_ari_resource.c.mustache: Update template to emit module
+         support level
+
+       * main/message.c, /: main/message: remove debug message ........
+         Merged revisions 420533 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-08 03:03 +0000 [r420514]  Kinsey Moore <kmoore@digium.com>
+
+       * tests/test_cel.c, /: CEL: Update unit tests for additional
+         information This updates the CEL unit tests for the new
+         information contained in the attended transfer CEL extra field.
+         ........ Merged revisions 420513 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-08 01:31 +0000 [r420494-420496]  Matthew Jordan <mjordan@digium.com>
+
+       * UPGRADE.txt: Update UPGRADE file for 13 branch
+
+       * /: Remove old properties
+
+       * / (added): ___ _ _ _ __ _____ / _ \ | | (_) | | / ||____ | / /_\
+         \___| |_ ___ _ __ _ ___| | __ `| | / / | _ / __| __/ _ | '__| /
+         __| |/ / | | \ \ | | | \__ | || __| | | \__ | < _| |.___/ / \_|
+         |_|___/\__\___|_| |_|___|_|\_\ \___\____/
+
+2014-08-07 21:58 +0000 [r420437]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Replace sip_tls_read() and
+         resolve the large SDP poll issue. Replace sip_tls_read() and
+         sip_tcp_read() with a single function and resolve the poll/wait
+         issue with large SDP payloads. ASTERISK-18345 #close Reported by:
+         Stephane Chazelas Patches: tcptls_pollv4.diff (license #5835)
+         patch uploaded by Elazar Broad Review:
+         https://reviewboard.asterisk.org/r/3882/ ........ Merged
+         revisions 420434 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 420435 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 420436 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-07 21:17 +0000 [r420389-420415]  Kinsey Moore <kmoore@digium.com>
+
+       * main/stasis_bridges.c, /: Stasis: Correct blind transfer message
+         generation This fixes the json object creation format string and
+         key name for the BridgeBlindTransfer Stasis event allowing it to
+         be published properly. ........ Merged revisions 420414 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis_bridges.c, /: Stasis: Ensure transfer messages follow
+         validation rules This makes Stasis() event generation for
+         transfer messages follow validation rules. Currently,
+         ast_json_null() is being used in place of omitting a key entirely
+         which falls afoul of these validation rules.
+         https://reviewboard.asterisk.org/r/3892/ ........ Merged
+         revisions 420408 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_pubsub.c: Fix build in dev mode
+
+2014-08-07 19:44 +0000 [r420384-420388]  Mark Michelson <mmichelson@digium.com>
+
+       * /, main/bridge.c: Ensure bridges exist when trying to determine
+         bridged parties when publishing transfer information. ........
+         Merged revisions 420387 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/strings.c, include/asterisk/res_pjsip_presence_xml.h,
+         res/res_pjsip_mwi.c, res/res_pjsip_dialog_info_body_generator.c,
+         res/res_pjsip_xpidf_body_generator.c, include/asterisk/strings.h,
+         res/res_pjsip_pubsub.c, res/res_pjsip_exten_state.c,
+         include/asterisk/res_pjsip_pubsub.h,
+         res/res_pjsip_pidf_body_generator.c: Add support for RFC 4662
+         resource list subscriptions. This commit adds the ability for a
+         user to configure a resource list in pjsip.conf. Subscribing to
+         this list simultaneously subscribes the subscriber to all
+         resources listed. This has the potential to reduce the amount of
+         SIP traffic when loads of subscribers on a system attempt to
+         subscribe to each others' states.
+
+2014-08-07 18:51 +0000 [r420364]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/format_compatibility.h,
+         channels/iax2/format_compatibility.c,
+         channels/iax2/include/codec_pref.h, main/format_compatibility.c,
+         channels/chan_iax2.c, channels/iax2/codec_pref.c,
+         channels/iax2/include/format_compatibility.h: chan_iax2: Several
+         media format fixes. * Fixed the iax.conf bandwidth option. This
+         is the root cause of ASTERISK-24150. * Added checks in
+         iax2_request() to ensure that there are actual formats requested
+         for the new channel to prevent any more fracks from issues like
+         ASTERISK-24150. This is a consequence of the iax.conf bandwidth
+         option not working. * Fixed struct iax2_codec_pref.order member
+         size mismatch issue when converting to and from the codec
+         preference order list passed over the wire. In addition the
+         values sent over the wire are now compatible with previous
+         Asterisk versions. * Fixed several issues dealing with the struct
+         iax2_codec_pref members. Off-by-one, array limit errors, and the
+         order/framing members always need to be updated together. * Made
+         iax2_request() setup the channel's native format preference order
+         according to the user's wishes. The new media format strategy
+         needs the order specified earler. * Fixed usage of
+         ast_format_compatibility_bitfield2format(). The function can
+         return NULL if the bitfield was not associated with a function. *
+         Deleted dead code iax2_codec_pref_getsize() and
+         iax2_codec_pref_setsize(). * Made iax2_parse_allow_disallow() and
+         iax2_codec_pref_string() call iax2_codec_pref_to_cap() instead of
+         inlining it. * Made IAX_CAPABILITY_MEDBANDWIDTH,
+         IAX_CAPABILITY_LOWBANDWIDTH, and IAX_CAPABILITY_LOWFREE constants
+         again as they were in Asterisk v1.8. * Renamed prefs to
+         prefs_global so it won't get confused with the local pref
+         versions. * Fixed too small buffer in
+         handle_cli_iax2_show_peer(). * Fixed ast_cli() calls in
+         handle_cli_iax2_show_peer() to output complete lines. * Changed
+         struct create_addr_info.prefs to be struct iax2_codec_pref as an
+         optimization so iax2_request() and iax2_call() do less work. *
+         Fixed a potential deadlock in ast_iax2_new() on an off-nominal
+         path when the pbx could not get started. * Made set_config()
+         setup a local prefs list along side the local capability format
+         bitfield. Once the config is loaded, then the local copies are
+         put into the global versions. * Fix unininialized codec_buf in
+         function_iaxpeer(). ASTERISK-24150 #close Reported by: Scott
+         Griepentrog Review: https://reviewboard.asterisk.org/r/3890/
+
+2014-08-07 15:30 +0000 [r420338]  Kinsey Moore <kmoore@digium.com>
+
+       * include/asterisk/bridge_features.h, res/res_stasis.c,
+         res/stasis/command.c, rest-api/api-docs/events.json, /,
+         res/stasis/app.c, res/stasis/control.c, main/bridge.c,
+         main/bridge_basic.c, res/stasis/stasis_bridge.c,
+         include/asterisk/stasis_bridges.h, res/stasis/command.h,
+         include/asterisk/stasis_app.h, res/stasis/app.h,
+         res/stasis/control.h, apps/app_queue.c,
+         res/ari/ari_model_validators.c, main/cel.c,
+         main/stasis_bridges.c, res/ari/ari_model_validators.h,
+         main/channel.c, include/asterisk/datastore.h, tests/test_cel.c:
+         Stasis: Convey transfer information to applications This fixes a
+         class of issues where Stasis applications were not made aware
+         that their channels were being manipulated or replaced by
+         external entitiessuch as transfers, AMI commands, or dialplan
+         applications such as Bridge(). Inconsistent information such as
+         StasisEnd events with unknown channels as a result of masquerades
+         has also been corrected. To accomplish these fixes, several new
+         fields were added to blind and attended transfer messages as well
+         as StasisStart and BridgeAttendedTransfer Stasis events.
+         ASTERISK-23941 #close Review:
+         https://reviewboard.asterisk.org/r/3865/ Review:
+         https://reviewboard.asterisk.org/r/3857/ Review:
+         https://reviewboard.asterisk.org/r/3852/ Review:
+         https://reviewboard.asterisk.org/r/3816/ Review:
+         https://reviewboard.asterisk.org/r/3731/ Review:
+         https://reviewboard.asterisk.org/r/3729/ Review:
+         https://reviewboard.asterisk.org/r/3728/ ........ Merged
+         revisions 420325 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-07 14:37 +0000 [r420314-420315]  Joshua Colp <jcolp@digium.com>
+
+       * include/asterisk/res_pjsip_pubsub.h,
+         res/res_pjsip_pubsub.exports.in, res/res_pjsip_publish_asterisk.c
+         (added), res/res_pjsip_pubsub.c: res_pjsip_publish_asterisk: Add
+         support for exchanging device and mailbox state using SIP. This
+         module uses the inbound and outbound PUBLISH support to exchange
+         device and mailbox state between Asterisk instances. Each
+         instance is configured to publish to the other and requires no
+         intermediary server. The functionality provided is similar to the
+         XMPP and Corosync support. Review:
+         https://reviewboard.asterisk.org/r/3780/
+
+       * include/asterisk/res_pjsip_outbound_publish.h (added),
+         res/res_pjsip_outbound_publish.exports.in (added),
+         res/res_pjsip_outbound_publish.c (added):
+         res_pjsip_outbound_publish: Add module which provides outbound
+         PUBLISH support. This module implements the core parts required
+         for doing outbound PUBLISH. It takes care of configuration,
+         lifetime management, and authentication. Additional modules
+         implement the specific events that are published. Review:
+         https://reviewboard.asterisk.org/r/3780/
+
+2014-08-07 14:17 +0000 [r420289-420309]  Matthew Jordan <mjordan@digium.com>
+
+       * main/pbx.c: pbx: Filter out pattern matching hints in responses
+         sent to ExtensionStateList Hints that are a pattern match are
+         technically stored in the hint container in the same fashion as
+         concrete implementations of hints. The pattern matching hints,
+         however, are not "real" in the sense that things can subscribe to
+         them: rather, they are stored in the hints container so that when
+         a subscription is made a "real" hint can be generated for the
+         subscription if one does not yet exist. The extension state core
+         takes care of this correctly by matching against non-pattern
+         matching extensions prior to pattern matching extensions. Because
+         of this, however, the ExtensionStateList AMI action was returning
+         pattern matching hints when executed. These hints are meaningless
+         from the perspective of AMI clients: their state will never
+         change, they cannot be subscribed to, and events would never
+         normally be generated from them. As such, we now filter these out
+         of the response.
+
+       * build_tools/post_process_documentation.py: build_tools: Skip
+         managerEvent combining for AMI action responses AMI action
+         responses can (and will) reference AMI events that they return.
+         These event references and definitions should not be combined
+         with AMI events raised elsewhere in the code, as they are
+         specifically tied to the AMI action that raised them.
+         ASTERISK-24156 #close Reported by: Rusty Newton
+
+2014-08-06 18:12 +0000 [r420212-420237]  Richard Mudgett <rmudgett@digium.com>
+
+       * contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
+         /: Fix alembic script to work properly in offline mode. When run
+         in offline mode, this would attempt to check the database for the
+         presence of a type it was going to try to create. I now check the
+         context to see if we're running in offline mode and change a
+         parameter accordingly. ........ Merged revisions 407567 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * contrib/ast-db-manage/config/versions/3855ee4e5f85_add_missing_pjsip_options.py
+         (added), /: Add alembic script that adds contact user_agent and
+         endpoint message_context. ........ Merged revisions 411514 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * contrib/ast-db-manage/voicemail/versions/39428242f7f5_increase_recording_column_size.py
+         (added), /,
+         contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
+         contrib/ast-db-manage/config.ini.sample,
+         contrib/ast-db-manage/config/versions/1758e8bbf6b_increase_useragent_column_size.py
+         (added),
+         contrib/ast-db-manage/config/versions/5139253c0423_make_q_member_uniqueid_autoinc.py
+         (added), contrib/ast-db-manage/cdr.ini.sample,
+         contrib/ast-db-manage/voicemail.ini.sample: alembic: Adjust
+         sippeers, queue_members, and voicemail_messages tables. *
+         Increased the sippeers useragent max string size to 255. *
+         Changed the queue_members uniqueid to an auto incremented integer
+         instead of a string. * Increased the voicemail_messages BLOB size
+         to LONGBLOB on mysql. * Fixed the add_tables_for_pjsip config
+         change version downgrade actions to drop a table it created. *
+         Adjusted the sample alembic.ini files cdr.ini.sample,
+         config.ini.sample, and voicemail.ini.sample to give a mysql and
+         postgres sqlalchemy.url lines. ASTERISK-23847 #close Reported by:
+         Stephen More ASTERISK-23825 #close Reported by: Stephen More
+         ASTERISK-23909 #close Reported by: Stephen More Review:
+         https://reviewboard.asterisk.org/r/3870/ ........ Merged
+         revisions 420211 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-06 16:12 +0000 [r420149]  George Joseph <george.joseph@fairview5.com>
+
+       * /, pbx/pbx_lua.c, main/pbx.c: pbx_lua: fix regression with global
+         sym export and context clash by pbx_config. ASTERISK-23818 (lua
+         contexts being overwritten by contexts of the same name in
+         pbx_config) surfaced because pbx_lua, having the
+         AST_MODFLAG_GLOBAL_SYMBOLS set, was always force loaded before
+         pbx_config. Since I couldn't find any reason for pbx_lua to
+         export it's symbols to the rest of Asterisk, I simply changed the
+         flag to AST_MODFLAG_DEFAULT. Problem solved. What I didn't
+         realize was that the symbols need to be exported not because
+         Asterisk needs them but because any external Lua modules like
+         luasql.mysql need the base Lua language APIs exported
+         (ASTERISK-17279). Back to ASTERISK-23818... It looks like there's
+         an issue in pbx.c where context_merge was only merging includes,
+         switches and ignore patterns if the context was already existing
+         AND has extensions, or if the context was brand new. If pbx_lua
+         is loaded before pbx_config, the context will exist BUT pbx_lua,
+         being implemented as a switch, will never place extensions in it,
+         just the switch statement. The result is that when pbx_config
+         loads, it never merges the switch statement created by pbx_lua
+         into the final context. This patch sets pbx_lua's modflag back to
+         AST_MODFLAG_GLOBAL_SYMBOLS and adds an "else if" in context_merge
+         that catches the case where an existing context has includes,
+         switchs or ingore patterns but no actual extensions.
+         ASTERISK-23818 #close Reported by: Dennis Guse Reported by: Timo
+         Teräs Tested by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3891/ ........ Merged
+         revisions 420146 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 420147 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 420148 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-06 15:32 +0000 [r420144]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * funcs/func_channel.c: Add documentation to the ability to
+         retrieve the source port of a SIP call. (belongs with r419970)
+         ASTERISK-24040 #close Patches: func_channel.c.diff uploaded by
+         dtryba Review: https://reviewboard.asterisk.org/r/3781/
+
+2014-08-06 12:55 +0000 [r420124]  Kinsey Moore <kmoore@digium.com>
+
+       * configs/samples/stasis.conf.sample (added), main/named_acl.c,
+         apps/app_queue.c, main/stasis_bridges.c, main/loader.c,
+         main/stasis.c, apps/app_forkcdr.c, main/stasis_message.c,
+         funcs/func_cdr.c, res/res_corosync.c, res/res_stun_monitor.c,
+         res/res_stasis_test.c, res/res_stasis.c, apps/app_chanspy.c,
+         main/stasis_cache.c, main/pickup.c, main/security_events.c,
+         include/asterisk/stasis.h, main/devicestate.c, main/core_local.c,
+         res/res_stasis_snoop.c, main/endpoints.c, main/presencestate.c,
+         main/cdr.c, main/channel.c, main/stasis_system.c, main/manager.c,
+         main/test.c, main/file.c, main/app.c, pbx/pbx_realtime.c,
+         main/stasis_channels.c, tests/test_stasis.c,
+         res/parking/parking_manager.c, main/stasis_endpoints.c,
+         main/rtp_engine.c, main/ccss.c, main/bridge.c,
+         tests/test_stasis_channels.c: Stasis: Allow message types to be
+         blocked This introduces stasis.conf and a mechanism to prevent
+         certain message types from being published. Internally, this
+         works by preventing the chosen message types from being created
+         which ensures that those message types can never be published.
+         This patch also adjusts message publishers such that message
+         payloads are not created if the related message type is not
+         available. ASTERISK-23943 #close Review:
+         https://reviewboard.asterisk.org/r/3823/
+
+2014-08-05 21:48 +0000 [r420098-420100]  Matthew Jordan <mjordan@digium.com>
+
+       * res/stasis/messaging.c, /: stasis: Fix compilation issue with ao2
+         tagged objects ........ Merged revisions 420099 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/ari/resource_endpoints.c, rest-api/api-docs/events.json, /,
+         channels/chan_sip.c, res/stasis/app.c, res/stasis/messaging.h
+         (added), res/ari/resource_endpoints.h, res/res_pjsip_messaging.c,
+         tests/test_message.c (added), res/res_xmpp.c,
+         include/asterisk/json.h, CHANGES, include/asterisk/manager.h,
+         res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
+         main/json.c, res/res_ari_endpoints.c, include/asterisk/message.h,
+         res/ari/resource_channels.c, main/message.c, res/res_stasis.c,
+         res/stasis/messaging.c (added), rest-api/api-docs/endpoints.json:
+         Multiple revisions 420089-420090,420097 ........ r420089 |
+         mjordan | 2014-08-05 15:10:52 -0500 (Tue, 05 Aug 2014) | 72 lines
+         ARI: Add channel technology agnostic out of call text messaging
+         This patch adds the ability to send and receive text messages
+         from various technology stacks in Asterisk through ARI. This
+         includes chan_sip (sip), res_pjsip_messaging (pjsip), and
+         res_xmpp (xmpp). Messages are sent using the endpoints resource,
+         and can be sent directly through that resource, or to a
+         particular endpoint. For example, the following would send the
+         message "Hello there" to PJSIP endpoint alice with a display URI
+         of sip:asterisk@mycooldomain.org:
+         ari/endpoints/sendMessage?to=pjsip:alice&from=sip:asterisk@mycooldomain.org&body=Hello+There
+         This is equivalent to the following as well:
+         ari/endpoints/PJSIP/alice/sendMessage?from=sip:asterisk@mycooldomain.org&body=Hello+There
+         Both forms are available for message technologies that allow for
+         arbitrary destinations, such as chan_sip. Inbound messages can
+         now be received over ARI as well. An ARI application that
+         subscribes to endpoints will receive messages from those
+         endpoints: { "type": "TextMessageReceived", "timestamp":
+         "2014-07-12T22:53:13.494-0500", "endpoint": { "technology":
+         "PJSIP", "resource": "alice", "state": "online", "channel_ids":
+         [] }, "message": { "from": "\"alice\" <sip:alice@127.0.0.1>",
+         "to": "pjsip:asterisk@127.0.0.1", "body": "Watson, come here.",
+         "variables": [] }, "application": "testsuite" } The above was
+         made possible due to some rather major changes in the message
+         core. This includes (but is not limited to): - Users of the
+         message API can now register message handlers. A handler has two
+         callbacks: one to determine if the handler has a destination for
+         the message, and another to handle it. - All dialplan
+         functionality of handling a message was moved into a message
+         handler provided by the message API. - Messages can now have the
+         technology/endpoint associated with them. Various other
+         properties are also now more easily accessible. - A number of ao2
+         containers that weren't really needed were replaced with vectors.
+         Iteration over ao2_containers is expensive and pointless when the
+         lifetime of things is well defined and the number of things is
+         very small. res_stasis now has a new file that makes up its
+         structure, messaging. The messaging functionality implements a
+         message handler, and passes received messages that match an
+         interested endpoint over to the app for processing. Note that
+         inadvertently while testing this, I reproduced ASTERISK-23969.
+         res_pjsip_messaging was incorrectly parsing out the 'to' field,
+         such that arbitrary SIP URIs mangled the endpoint lookup. This
+         patch includes the fix for that as well. Review:
+         https://reviewboard.asterisk.org/r/3726 ASTERISK-23692 #close
+         Reported by: Matt Jordan ASTERISK-23969 #close Reported by:
+         Andrew Nagy ........ r420090 | mjordan | 2014-08-05 15:16:37
+         -0500 (Tue, 05 Aug 2014) | 2 lines Remove automerge properties
+         :-( ........ r420097 | mjordan | 2014-08-05 16:36:25 -0500 (Tue,
+         05 Aug 2014) | 2 lines test_message: Fix strict-aliasing
+         compilation issue ........ Merged revisions 420089-420090,420097
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-05 13:59 +0000 [r420028]  Jonathan Rose <jrose@digium.com>
+
+       * main/format.c: chan_iax2: Fix a crash that occurs when using
+         allow=all for an IAX2 peer Or any combination of codecs that
+         includes Opus. ASTERISK-24107 #close Review:
+         https://reviewboard.asterisk.org/r/3885/
+
+2014-08-04 21:00 +0000 [r420007]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/format_cache.c, include/asterisk/format_cache.h: Remove
+         duplicate definitions of ast_format_vp8.
+
+2014-08-04 20:25 +0000 [r419970]  Mark Michelson <mmichelson@digium.com>
+
+       * channels/sip/dialplan_functions.c: Add the ability to retrieve
+         the source port of a SIP call. This adds the ability to call
+         CHANNEL(recvport) on chan_sip channels to see the port on which
+         an INVITE was received. ASTERISK-24040 #close Reported by dtryba
+         Patches: dialplan_functions.patch uploaded by dtryba (License
+         #6628) Review: https://reviewboard.asterisk.org/r/3781
+
+2014-08-04 19:47 +0000 [r419945]  Rusty Newton <rnewton@digium.com>
+
+       * main/manager.c, /: Manager - Improve documentation for manager
+         commands Getvar and Setvar. The documentation for these commands
+         did not make it clear that they could accept expressions and
+         functions. Modified to make this clear, but tried not to be
+         overly explicit. ASTERISK-21178 #close Reported by: Rusty Newton
+         Tested by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/3854 ........ Merged revisions
+         419942 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 419943 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 419944 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-08-02 03:37 +0000 [r419914]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip.c: Manager: Add PJSIPShowEndpoint[s] documentation
+         This adds a large swath of response documentation for
+         PJSIPShowEndpoint and PJSIPShowEndpoints AMI commands. It relies
+         heavily on the existing text in the configInfo documentation via
+         xi:include tags to avoid documentation duplication. Review:
+         https://reviewboard.asterisk.org/r/3888/
+
+2014-08-01 14:48 +0000 [r419888]  Mark Michelson <mmichelson@digium.com>
+
+       * CHANGES, res/res_pjsip/pjsip_options.c: Add ContactStatusDetail
+         to PJSIPShowEndpoint AMI output. Now when running
+         PJSIPShowEndpoint, you will receive a ContactStatusDetail for
+         each bound contact that Asterisk is qualifying. This information
+         includes the URI of the contact, current reachability, and
+         roundtrip time. AFS-91 #close Reported by Mark Michelson Review:
+         https://reviewboard.asterisk.org/r/3797
+
+2014-07-31 16:19 +0000 [r419851]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES, res/res_pjsip_notify.c: PJSIP: Send Notify AMI and CLI
+         commands can now send to URI instead of endpoint Review:
+         https://reviewboard.asterisk.org/r/3817/
+
+2014-07-31 11:57 +0000 [r419822-419825]  Matthew Jordan <mjordan@digium.com>
+
+       * main/rtp_engine.c, /, res/res_hep_rtcp.c (added), CHANGES,
+         channels/chan_pjsip.c, res/res_rtp_asterisk.c: res_hep_rtcp: Add
+         module that sends RTCP information to a Homer Server This patch
+         adds a new module to Asterisk, res_hep_rtcp. The module
+         subscribes to the RTCP topics in Stasis and receives RTCP
+         information back from the message bus. It encodes into HEPv3
+         packets and sends the information to the res_hep module for
+         transmission. Using this, someone with a Homer server can get
+         live call quality monitoring for all RTP-based channels in their
+         Asterisk 12+ systems. In addition, there were a few bugs in the
+         RTP engine, res_rtp_asterisk, and chan_pjsip that were uncovered
+         by the tests written for the Asterisk Test Suite. This patch
+         fixes the following: 1) chan_pjsip failed to set its channel
+         unique ids on its RTP instance on outbound calls. It now does
+         this in the appropriate location, in the serialized call
+         callback. 2) The rtp_engine was overflowing some values when
+         packed into JSON. Specifically, some longs and unsigned ints
+         can't be be packed into integer values, for obvious reasons.
+         Since libjansson only supports integers, floats, strings,
+         booleans, and objects, we print these values into strings. 3)
+         res_rtp_asterisk had a few problems: (a) it would emit a source
+         IP address of 0.0.0.0 if bound to that IP address. We now use
+         ast_find_ourip to get a better IP address, and properly marshal
+         the result into an ast_strdupa'd string. (b) Reports can be
+         generated with no report bodies. In particular, this occurs when
+         a sender is transmitting information to a receiver (who will send
+         no RTP back to the sender). As such, the sender has no report
+         body for what it received. We now properly handle this case, and
+         the sender will emit SR reports with no body. Likewise, if we
+         receive an RTCP packet with no report body, we will still
+         generate the appropriate events. ASTERISK-24119 #close ........
+         Merged revisions 419823 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * funcs/func_jitterbuffer.c, doc/appdocsxml.dtd, main/xmldoc.c:
+         xmldocs: Add support for an <example> tag in the Asterisk XML
+         Documentation This patch adds support for an <example /> tag in
+         the XML documentation schema. For CLI help, this doesn't change
+         the formatting too much: - Preceeding white space is removed -
+         Unlike with para elements, new lines are preserved However,
+         having an <example /> tag in the XML schema allows for the wiki
+         documentation generation script to surround the documentation
+         with {code} or {noformat} tags, generating much better content
+         for the wiki - and allowing us to put dialplan examples (and
+         other code snippets, if desired) into the documentation for an
+         application/function/AMI command/etc. Review:
+         https://reviewboard.asterisk.org/r/3807/
+
+2014-07-30 18:32 +0000 [r419806]  Kinsey Moore <kmoore@digium.com>
+
+       * main/manager.c, res/res_manager_presencestate.c,
+         res/res_manager_devicestate.c, main/pbx.c: manager: Add state
+         list commands This patch adds three new AMI commands: *
+         ExtensionStateList (pbx.c) - list all known extension state hints
+         and their current statuses. Events emitted by the list action are
+         equivalent to the ExtensionStatus events. * PresenceStateList
+         (res_manager_presencestate) - list all known presence state
+         values. Events emitted are generated by the stasis message type,
+         and hence are PresenceStateChange events. * DeviceStateList
+         (res_manager_devicestate) - list all known device state values.
+         Events emitted are generated by the stasis message type, and
+         hence are DeviceStateChange events. Patch-by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3799/
+
+2014-07-29 19:41 +0000 [r419789]  Mark Michelson <mmichelson@digium.com>
+
+       * main/manager.c: Do not omit the first header of a UserEvent AMI
+         action from the corresponding emitted UserEvent. ASTERISK-24124
+         #close Reported by Matt Jordan AFS-131 #close Reported by Matt
+         Jordan Patches: userevent.patch uploaded by Matt Jordan (License
+         #6283)
+
+2014-07-29 10:56 +0000 [r419751-419766]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Fix race condition
+         where redirecting information may not be set. Since the PJSIP
+         INVITE session module is invoked before any session supplements
+         it was possible for it to handle a redirect before the
+         res_pjsip_diversion module interpreted and set redirecting
+         information on the channel. This would cause the redirecting
+         information to get lost. This patch ensures that session
+         supplements are *always* invoked before a redirect occurs by
+         explicitly calling them in the redirect handler. Review:
+         https://reviewboard.asterisk.org/r/3850/ ........ Merged
+         revisions 419764 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_xpidf_body_generator.c,
+         res/res_pjsip_pidf_body_generator.c:
+         res_pjsip_pidf_body_generator / res_pjsip_xpidf_body_generator:
+         Ensure local entity is unquoted. The local entity as provided by
+         PJSIP is quoted within '<' and '>'. As a result placing this
+         value into XML will result in malformed XML being produced. This
+         patch now unquotes the local entity so it can go safely into the
+         XML. Review: https://reviewboard.asterisk.org/r/3851/ ........
+         Merged revisions 419750 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-28 18:58 +0000 [r419688]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_speech_utils.c, main/channel.c, /,
+         funcs/func_frame_trace.c, main/abstract_jb.c: datastores: Audit
+         ast_channel_datastore_remove usage. Audit of v1.8 usage of
+         ast_channel_datastore_remove() for datastore memory leaks. *
+         Fixed leaks in app_speech_utils and func_frame_trace. * Fixed
+         app_speech_utils not locking the channel when accessing the
+         channel datastore list. Review:
+         https://reviewboard.asterisk.org/r/3859/ Audit of v11 usage of
+         ast_channel_datastore_remove() for datastore memory leaks. *
+         Fixed leak in func_jitterbuffer. (Was not in v12) Review:
+         https://reviewboard.asterisk.org/r/3860/ Audit of v12 usage of
+         ast_channel_datastore_remove() for datastore memory leaks. *
+         Fixed leaks in abstract_jb. * Fixed leak in
+         ast_channel_unsuppress(). Used by ARI mute control and
+         res_mutestream. * Fixed ref leak in ast_channel_suppress(). Used
+         by ARI mute control and res_mutestream. Review:
+         https://reviewboard.asterisk.org/r/3861/ ........ Merged
+         revisions 419684 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 419685 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 419686 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-25 18:09 +0000 [r419612]  Joshua Colp <jcolp@digium.com>
+
+       * main/loader.c: loader: Fix an infinite loop when printing modules
+         using "module show". When creating the alphabetical sorted list
+         each module is added to a list temporarily. On the second
+         iteration each module already has a pointer to another module,
+         causing stuff to go into a loop. ASTERISK-24123 #close Reported
+         by: Malcolm Davenport
+
+2014-07-25 16:47 +0000 [r419592]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_ari_sounds.c, res/res_stasis.c, res/res_fax_spandsp.c,
+         res/res_timing_kqueue.c, res/res_odbc.c,
+         res/res_pjsip_transport_websocket.c, apps/app_voicemail.c,
+         res/res_calendar.c, channels/chan_unistim.c, cel/cel_radius.c,
+         channels/chan_multicast_rtp.c, res/res_pjsip_notify.c,
+         res/res_snmp.c, formats/format_sln.c, apps/app_meetme.c,
+         apps/app_dictate.c, codecs/codec_gsm.c, res/res_stasis_snoop.c,
+         res/res_musiconhold.c, res/res_format_attr_h264.c,
+         res/res_http_websocket.c, apps/app_followme.c,
+         res/res_config_sqlite.c, formats/format_siren7.c, cdr/cdr_csv.c,
+         formats/format_ilbc.c, channels/chan_phone.c,
+         apps/app_setcallerid.c, apps/app_osplookup.c, cel/cel_custom.c,
+         apps/app_mp3.c, res/res_agi.c, channels/chan_motif.c,
+         res/res_timing_timerfd.c, apps/app_confbridge.c,
+         res/res_format_attr_silk.c, formats/format_siren14.c,
+         res/res_sorcery_realtime.c, channels/chan_mgcp.c,
+         apps/app_jack.c, codecs/codec_lpc10.c,
+         res/res_pjsip_pidf_body_generator.c, res/res_config_pgsql.c,
+         funcs/func_dialplan.c, apps/app_nbscat.c, cdr/cdr_syslog.c,
+         res/res_pjsip_authenticator_digest.c, apps/app_festival.c,
+         res/res_fax.c, apps/app_waitforsilence.c, res/res_adsi.c,
+         res/res_crypto.c, res/res_ari_applications.c,
+         res/res_hep_pjsip.c, pbx/pbx_lua.c, res/res_pjsip_messaging.c,
+         res/res_pjsip_caller_id.c, channels/chan_console.c,
+         apps/app_getcpeid.c, res/res_stasis_answer.c,
+         channels/chan_oss.c, res/res_pjsip_nat.c,
+         res/res_pjsip_session.c, cdr/cdr_tds.c,
+         res/res_pjsip_header_funcs.c, res/res_parking.c,
+         formats/format_vox.c, res/res_pjsip_rfc3326.c,
+         res/res_ari_endpoints.c, res/res_stun_monitor.c,
+         res/res_pjsip_mwi.c, res/res_stasis_recording.c,
+         res/res_pjsip_xpidf_body_generator.c, apps/app_sms.c,
+         codecs/codec_ulaw.c, channels/chan_nbs.c, apps/app_stack.c,
+         channels/chan_pjsip.c, formats/format_g729.c, cel/cel_pgsql.c,
+         res/res_sorcery_config.c, res/res_ari.c, addons/chan_ooh323.c,
+         cdr/cdr_sqlite3_custom.c, codecs/codec_adpcm.c,
+         res/res_ari_asterisk.c, res/res_calendar_caldav.c,
+         apps/app_image.c, apps/app_ices.c, formats/format_wav_gsm.c,
+         main/cli.c, res/res_format_attr_celt.c, res/res_rtp_multicast.c,
+         channels/chan_dahdi.c, funcs/func_pitchshift.c, res/res_smdi.c,
+         res/res_pjsip_one_touch_record_info.c, pbx/pbx_ael.c,
+         pbx/pbx_realtime.c, apps/app_amd.c, channels/chan_alsa.c,
+         formats/format_h263.c, apps/app_url.c, res/res_pjsip_acl.c,
+         apps/app_externalivr.c, res/res_curl.c, formats/format_gsm.c,
+         res/res_speech.c, cdr/cdr_manager.c, res/res_calendar_exchange.c,
+         codecs/codec_g722.c, res/res_pjsip_multihomed.c,
+         res/res_ari_mailboxes.c, cel/cel_tds.c, res/res_sorcery_memory.c,
+         apps/app_fax.c, codecs/codec_speex.c, res/res_pjsip_sdp_rtp.c,
+         codecs/codec_g726.c, formats/format_ogg_vorbis.c,
+         apps/app_talkdetect.c, res/res_ari_channels.c,
+         res/res_pjsip_exten_state.c, apps/app_speech_utils.c,
+         apps/app_agent_pool.c, apps/app_waitforring.c, res/res_statsd.c,
+         addons/cdr_mysql.c, formats/format_g726.c, res/res_ari_bridges.c,
+         addons/app_mysql.c, res/res_stasis_playback.c,
+         addons/format_mp3.c, res/res_pjsip_endpoint_identifier_ip.c,
+         res/res_phoneprov.c, res/res_pjsip_t38.c,
+         res/res_pjsip_registrar_expire.c, cdr/cdr_pgsql.c,
+         cdr/cdr_radius.c, res/res_chan_stats.c,
+         res/res_format_attr_opus.c, res/res_config_odbc.c,
+         funcs/func_audiohookinherit.c,
+         res/res_pjsip_outbound_registration.c, cel/cel_manager.c,
+         funcs/func_odbc.c, res/res_pjsip_endpoint_identifier_anonymous.c,
+         funcs/func_frame_trace.c, funcs/func_aes.c, cdr/cdr_sqlite.c,
+         apps/app_minivm.c, res/res_pjsip_log_forwarder.c,
+         formats/format_h264.c, res/res_config_ldap.c, apps/app_ivrdemo.c,
+         addons/chan_mobile.c, apps/app_stasis.c,
+         res/res_pjsip_diversion.c, cdr/cdr_custom.c, apps/app_adsiprog.c,
+         res/res_pjsip_dtmf_info.c, res/res_rtp_asterisk.c,
+         res/res_calendar_icalendar.c, res/res_hep.c, channels/chan_sip.c,
+         channels/chan_bridge_media.c, codecs/codec_alaw.c,
+         apps/app_queue.c, res/res_srtp.c, funcs/func_presencestate.c,
+         res/res_timing_pthread.c, res/res_manager_presencestate.c,
+         res/res_corosync.c, apps/app_celgenuserevent.c,
+         cel/cel_sqlite3_custom.c, res/snmp/agent.c, pbx/pbx_dundi.c,
+         formats/format_g723.c, funcs/func_devstate.c,
+         res/res_pjsip_registrar.c,
+         res/res_pjsip_pidf_eyebeam_body_supplement.c,
+         addons/res_config_mysql.c,
+         res/res_pjsip_pidf_digium_body_supplement.c, apps/app_test.c,
+         res/res_timing_dahdi.c, cdr/cdr_adaptive_odbc.c,
+         apps/app_alarmreceiver.c, apps/app_chanisavail.c,
+         res/res_format_attr_h263.c, res/res_pjsip_mwi_body_generator.c,
+         res/res_xmpp.c, res/res_http_post.c, channels/chan_iax2.c,
+         res/res_pjsip_endpoint_identifier_user.c, res/res_pjsip.c,
+         res/res_pktccops.c, res/res_pjsip_send_to_voicemail.c,
+         main/loader.c, cel/cel_odbc.c, res/res_ari_model.c,
+         channels/chan_skinny.c,
+         res/res_pjsip_outbound_authenticator_digest.c,
+         res/res_mwi_external.c, apps/app_skel.c, formats/format_pcm.c,
+         include/asterisk/module.h, res/res_pjsip_path.c,
+         res/res_ari_playbacks.c, res/res_pjsip_pubsub.c, cdr/cdr_odbc.c,
+         funcs/func_periodic_hook.c, res/res_stasis_test.c,
+         formats/format_jpeg.c, res/res_pjsip_refer.c,
+         formats/format_g719.c, res/res_clialiases.c,
+         res/res_config_sqlite3.c, res/res_ari_device_states.c,
+         formats/format_wav.c, apps/app_saycounted.c, apps/app_dahdiras.c,
+         apps/app_morsecode.c, res/res_stasis_mailbox.c,
+         res/res_ael_share.c, res/res_mwi_external_ami.c,
+         res/res_pjsip_logger.c, res/res_stasis_device_state.c,
+         res/res_calendar_ews.c, res/res_monitor.c, apps/app_playback.c,
+         res/res_ari_recordings.c, res/res_manager_devicestate.c,
+         res/res_config_curl.c, channels/chan_misdn.c, funcs/func_curl.c,
+         res/res_ari_events.c, res/res_pjsip_dialog_info_body_generator.c,
+         res/res_sorcery_astdb.c, codecs/codec_dahdi.c,
+         apps/app_zapateller.c, pbx/pbx_config.c: Add module support level
+         to ast_module_info structure. Print it in CLI "module show" .
+         ASTERISK-23919 #close Reported by Malcolm Davenport Review:
+         https://reviewboard.asterisk.org/r/3802
+
+2014-07-25 14:47 +0000 [r419563-419567]  Matthew Jordan <mjordan@digium.com>
+
+       * CHANGES, res/ari/ari_model_validators.c,
+         rest-api/api-docs/recordings.json,
+         res/ari/ari_model_validators.h, /, res/res_stasis_recording.c:
+         Multiple revisions 419565-419566 ........ r419565 | mjordan |
+         2014-07-25 09:41:23 -0500 (Fri, 25 Jul 2014) | 21 lines ARI:
+         report duration values in LiveRecording objects This patch adds
+         three new fields to the LiveRecording model: - total_duration:
+         the total length of the live recording - talking_duration:
+         optional. The duration of talking energy that was detected while
+         the recording was made. - silence_duration: optional. The
+         duration of silence that was detected while the recording was
+         made. These values are reported in the RecordingFinished ARI
+         event. When a DSP is enabled on the channel during the recording
+         - which occurs when the recording is created with
+         max_silence_seconds (indicating that the user actually cares
+         about how much silence is in the file), we will report the
+         talking_duration and silence_duration in addition to the
+         total_duration. Review: https://reviewboard.asterisk.org/r/3770/
+         ASTERISK-24037 #close Reported by: Samuel Galarneau ........
+         r419566 | mjordan | 2014-07-25 09:46:15 -0500 (Fri, 25 Jul 2014)
+         | 1 line Update CHANGES for r419565 ........ Merged revisions
+         419565-419566 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/loader.c, res/res_calendar.c: module loader: Unload modules
+         in reverse order of their start order When Asterisk starts a
+         module (calling its load_module function), it re-orders the
+         module list, sorting it alphabetically. Ostensibly, this was done
+         so that the output of 'module show' listed modules in alphabetic
+         order. This had the unfortunate side effect of making modules
+         with complex usage patterns unloadable. A module that has a large
+         number of modules that depend on it is typically abandoned during
+         the unloading process. This results in its memory not being
+         reclaimed during exit. Generally, this isn't harmful - when the
+         process is destroyed, the operating system will reclaim all
+         memory allocated by the process. Prior to Asterisk 12, we also
+         didn't have many modules with complex dependencies. However, with
+         the advent of ARI and PJSIP, this can make make unloading those
+         modules successfully nearly impossible, and thus tracking memory
+         leaks or ref debug leaks a real pain. While this patch is not a
+         complete overhaul of the module loader - such an effort would be
+         beyond the scope of what could be done for Asterisk 13 - this
+         does make some marginal improvements to the loader such that
+         modules like res_pjsip or res_stasis *may* be made properly
+         un-loadable in the future. 1. The linked list of modules has been
+         replaced with a doubly linked list. This allows traversal of the
+         module list to occur backwards. The module shutdown routine now
+         walks the global list backwards when it attempts to unload
+         modules. 2. The alphabetic reorganization of the module list on
+         startup has been removed. Instead, a started module is placed at
+         the end of the module list. 3. The ast_update_module_list
+         function - which is used by the CLI to display the modules - now
+         does the sorting alphabetically itself. It creates its own linked
+         list and inserts the modules into it in alphabetic order. This
+         allows for the intent of the previous code to be maintained. This
+         patch also contains a fix for res_calendar. Without
+         calendar.conf, the calendar modules were improperly bumping the
+         use count of res_calendar, then failing to load themselves. This
+         patch makes it so that we detect whether or not calendaring is
+         enabled before altering the use count. Review:
+         https://reviewboard.asterisk.org/r/3777/
+
+2014-07-25 10:54 +0000 [r419537-419539]  Joshua Colp <jcolp@digium.com>
+
+       * apps/app_bridgewait.c, /: app_bridgewait: Remove possibility of
+         race condition between channels leaving/joining. Bridges created
+         by app_bridgewait previously had the "dissolve when empty" flag
+         set. This caused the bridge core to destroy them when the last
+         channel had left. This introduced a race condition where we may
+         have a reference to the bridge but it is not actually joinable
+         when we try to join it. This flag has now been removed and the
+         bridge is guaranteed to be joinable at all times. ASTERISK-23987
+         #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3836/ ........ Merged
+         revisions 419538 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/bridge.c: bridge: Make "bridge destroy" only available in
+         developer mode and add "all" to "bridge kick". The "bridge
+         destroy" CLI command is invasive to bridges and can leave them in
+         an unexpected state for the users of them. Since this command may
+         be useful for developers it is now only available when developer
+         mode is available. To take its place "all" has been added as a
+         valid option to the "bridge kick" CLI command. It will kick all
+         of the channels in the bridge out. ASTERISK-23987 Reported by:
+         Matt Jordan Review: https://reviewboard.asterisk.org/r/3840/
+         ........ Merged revisions 419536 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-24 22:48 +0000 [r419520]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/bridge.c, main/bridge_basic.c, main/core_unreal.c,
+         UPGRADE.txt, include/asterisk/channel.h, CHANGES,
+         apps/app_followme.c, apps/app_queue.c, main/cel.c,
+         res/parking/parking_bridge_features.c, apps/app_dial.c,
+         main/channel.c, main/dial.c, main/pbx.c: accountcode: Slightly
+         change accountcode propagation. The previous behavior was to
+         simply set the accountcode of an outgoing channel to the
+         accountcode of the channel initiating the call. It was done this
+         way a long time ago to allow the accountcode set on the SIP/100
+         channel to be propagated to a local channel so the dialplan
+         execution on the Local;2 channel would have the SIP/100
+         accountcode available. SIP/100 -> Local;1/Local;2 -> SIP/200
+         Propagating the SIP/100 accountcode to the local channels is very
+         useful. Without any dialplan manipulation, all channels in this
+         call would have the same accountcode. Using dialplan, you can set
+         a different accountcode on the SIP/200 channel either by setting
+         the accountcode on the Local;2 channel or by the Dial
+         application's b(pre-dial), M(macro) or U(gosub) options, or by
+         the FollowMe application's b(pre-dial) option, or by the Queue
+         application's macro or gosub options. Before Asterisk v12, the
+         altered accountcode on SIP/200 will remain until the local
+         channels optimize out and the accountcode would change to the
+         SIP/100 accountcode. Asterisk v1.8 attempted to add peeraccount
+         support but ultimately had to punt on the support. The
+         peeraccount support was rendered useless because of how the CDR
+         code needed to unconditionally force the caller's accountcode
+         onto the peer channel's accountcode. The CEL events were thus
+         intentionally made to always use the channel's accountcode as the
+         peeraccount value. With the arrival of Asterisk v12, the
+         situation has improved somewhat so peeraccount support can be
+         made to work. Using the indicated example, the the accountcode
+         values become as follows when the peeraccount is set on SIP/100
+         before calling SIP/200: SIP/100 ---> Local;1 ---- Local;2 --->
+         SIP/200 acct: 100 \/ acct: 200 \/ acct: 100 \/ acct: 200 peer:
+         200 /\ peer: 100 /\ peer: 200 /\ peer: 100 If a channel already
+         has an accountcode it can only change by the following explicit
+         user actions: 1) A channel originate method that can specify an
+         accountcode to use. 2) The calling channel propagating its
+         non-empty peeraccount or its non-empty accountcode if the
+         peeraccount was empty to the outgoing channel's accountcode
+         before initiating the dial. e.g., Dial and FollowMe. The
+         exception to this propagation method is Queue. Queue will only
+         propagate peeraccounts this way only if the outgoing channel does
+         not have an accountcode. 3) Dialplan using CHANNEL(accountcode).
+         4) Dialplan using CHANNEL(peeraccount) on the other end of a
+         local channel pair. If a channel does not have an accountcode it
+         can get one from the following places: 1) The channel driver's
+         configuration at channel creation. 2) Explicit user action as
+         already indicated. 3) Entering a basic or stasis-mixing bridge
+         from a peer channel's peeraccount value. You can specify the
+         accountcode for an outgoing channel by setting the
+         CHANNEL(peeraccount) before using the Dial, FollowMe, and Queue
+         applications. Queue adds the wrinkle that it will not overwrite
+         an existing accountcode on the outgoing channel with the calling
+         channels values. Accountcode and peeraccount values propagate to
+         an outgoing channel before dialing. Accountcodes also propagate
+         when channels enter or leave a basic or stasis-mixing bridge. The
+         peeraccount value only makes sense for mixing bridges with two
+         channels; it is meaningless otherwise. * Made peeraccount
+         functional by changing accountcode propagation as described
+         above. * Fixed CEL extracting the wrong ie value for the
+         peeraccount. This was done intentionally in Asterisk v1.8 when
+         that version had to punt on peeraccount. * Fixed a few places
+         dealing with accountcodes that were reading from channels without
+         the lock held. AFS-65 #close Review:
+         https://reviewboard.asterisk.org/r/3601/
+
+2014-07-24 21:01 +0000 [r419504]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * main/db.c, include/asterisk/astdb.h: core/db: Revert Patch Added
+         In Attempt To Improve I/O Performance Reverting the patch since
+         it was causing a regression and after fixing the regression,
+         there were no performance gains. At least based on my method for
+         measurement. ASTERISK-24050 Review:
+         https://reviewboard.asterisk.org/r/3841/
+
+2014-07-24 17:50 +0000 [r419438-419439]  Corey Farrell <git@cfware.com>
+
+       * include/asterisk/astobj.h: Deprecate astobj.h This flags astobj.h
+         as deprecated, warns people to use astobj2.h instead. Only
+         netsock.c (also deprecated) still uses astobj.h. ASTERISK-24069
+         #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3818/
+
+       * channels/sip/include/sip.h, channels/chan_sip.c: chan_sip:
+         complete upgrade to ao2 This change upgrades sip_registry and
+         sip_subscription_mwi to astobj2. ASTERISK-24067 #close Reported
+         by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3759/
+
+2014-07-24 16:52 +0000 [r419377]  Jason Parker <jparker@digium.com>
+
+       * addons/chan_ooh323.c, /: Don't cause Asterisk to exit if
+         ooh323.conf not found. (closes issue ASTERISK-23814) ........
+         Merged revisions 419374 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 419375 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 419376 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-24 15:20 +0000 [r419358]  Matthew Jordan <mjordan@digium.com>
+
+       * main/devicestate.c, channels/chan_pjsip.c: device state: Update
+         the core to report ONHOLD if a channel is on hold In Asterisk, it
+         is possible for a device to have a status of ONHOLD. This is not
+         typically an easy thing to determine, as a channel being on hold
+         is not a direct channel state. Typically, this has to be
+         calculated outside of the core independently in channel drivers,
+         notably, chan_sip and chan_pjsip. Both of these channel drivers
+         already have to calculate device state in a fashion more complex
+         than the core can handle, as they aggregate all state of all
+         channels associated with a peer/endpoint; they also independently
+         track whether or not one of those channels is currently on hold
+         and mark the device state appropriately. In 12+, we now have the
+         ability to report an AST_DEVICE_ONHOLD state for all channels
+         that defer their device state to the core. This is due to channel
+         hold state actually now being tracked on the channel itself. If a
+         channel driver defers its device state to the core (which many,
+         such as DAHDI, IAX2, and others do in most situations), the
+         device state core already goes out to get a channel associated
+         with the device. As such, it can now also factor the channel hold
+         state in its calculation. This patch adds this logic to the
+         device state core. It also uses an existing mapping between
+         device state and channel state to handle more channel states.
+         chan_pjsip has been updated slightly as well to make use of this
+         (as it was, for some reason, reporting a channel state of BUSY as
+         a device state of INUSE, which feels slightly wrong). Review:
+         https://reviewboard.asterisk.org/r/3771/ ASTERISK-24038 #close
+
+2014-07-24 13:00 +0000 [r419342]  Kinsey Moore <kmoore@digium.com>
+
+       * include/asterisk/manager.h, doc/appdocsxml.dtd, main/xmldoc.c,
+         main/manager_bridges.c, main/manager.c,
+         include/asterisk/xmldoc.h, main/config_options.c: AMI: Allow for
+         command response documentation Allow for responses to AMI
+         actions/commands to be documented properly in XML and displayed
+         via the CLI. Response events are documented exactly as standard
+         AMI events are documented. Review:
+         https://reviewboard.asterisk.org/r/3812/
+
+2014-07-23 16:46 +0000 [r419319]  Matthew Jordan <mjordan@digium.com>
+
+       * main/endpoints.c, tests/test_stasis_endpoints.c, /: endpoints:
+         Fix failing unit tests from r419196 This patch does two things:
+         (1) It updates the unit tests to expect additional stasis
+         messages. More messages are now sent to the endpoint topic, due
+         to forwarding all channel messages and the forwarding
+         relationship set up between endpoints themselves. (2) Remove the
+         technology forwarding subscription during ast_endpoint_shutdown.
+         This prevents an improper double shutdown of an endpoint from
+         occurring. ........ Merged revisions 419318 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-23 14:00 +0000 [r419286]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * apps/app_voicemail.c, /: app_voicemail: use a consistent
+         generator string When updating voicemail.conf when a user changes
+         their pin, change the generator string to be the same as the
+         module name when reading so that the same config_hook will be
+         called. Review: https://reviewboard.asterisk.org/r/3837/ ........
+         Merged revisions 419284 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 419285 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-23 01:28 +0000 [r419268]  Corey Farrell <git@cfware.com>
+
+       * main/manager.c, res/res_fax.c: res_fax: unregister manager
+         actions on unload * Unregister manager actions FAXSessions,
+         FAXSession and FAXStats at unload. * Update ast_manager_register2
+         use ao2_t_alloc tagged with the action name. ASTERISK-24058
+         #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3831/
+
+2014-07-22 20:22 +0000 [r419222-419252]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * CHANGES, main/bridge_channel.c: core/bridge_channel: Substitute
+         Variables In Features Application Map Say you wanted to include
+         variables in an application map and have those variables
+         substituted and passed along to the application being executed;
+         currently this does not happen. This patch adds this ability to
+         pass channel variable values to an application before being
+         executed. ASTERISK-22608 #close Reported by: Michael L. Young
+         patches: features_substitute_arguments_v2.diff uploaded by
+         Michael L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/3819/
+
+       * CHANGES, apps/app_mixmonitor.c: apps/app_mixmonitor: Add Options
+         To Play Beep At Start Or Stop We have a new periodic beep feature
+         but sometimes a user needs some sort of feedback, without the
+         need to have a periodic beep during the recording, to let them
+         know that MixMonitor started recording or ended the recording.
+         The use case where this patch is being used is when using Dynamic
+         Features to start and end MixMonitor. This patch adds an option
+         to play a beep when MixMonitor starts and an option to play a
+         beep when MixMonitor ends. ASTERISK-24051 #close Reported by:
+         Michael L. Young patches: mixmonitor-play-beep-start-stop.diff
+         uploaded by Michael L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/3820/
+
+       * main/db.c, include/asterisk/astdb.h: core/db: Improve I/O When
+         Updating Rows When updating a row, we are currently doing an
+         INSERT OR REPLACE INTO. The downside to this is that the row is
+         deleted if it exists and then a new row is inserted. So, we are
+         hitting the disk twice. One for the deletion and one for the
+         insertion. This patch changes this statement to an INSERT INTO
+         and if the insert fails because a row with that key exists, we
+         will IGNORE the failure. Then we will attempt to perform an
+         UPDATE on the existing row if that row wasn't just INSERTed.
+         ASTERISK-24050 #close Reported by: Michael L. Young patches:
+         astdb-insert-update-io-help_trunk_v2.diff uploaded by Michael L.
+         Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/3815/
+
+2014-07-22 17:10 +0000 [r419206]  Richard Mudgett <rmudgett@digium.com>
+
+       * codecs/codec_speex.c: codec_speex: Fix trashing normal static
+         frame for AST_FRAME_CNG. Made use a local static frame to
+         generate the AST_FRAME_CNG frame when silence starts. I don't
+         think the handling of the AST_FRAME_CNG has ever really worked
+         because there doesn't seem to be any consumers of it. Review:
+         https://reviewboard.asterisk.org/r/3813/
+
+2014-07-22 16:20 +0000 [r419203]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/endpoints.h,
+         rest-api/api-docs/applications.json, include/asterisk/xmpp.h,
+         main/channel_internal_api.c, channels/chan_motif.c,
+         include/asterisk/channel.h, res/ari/resource_applications.h,
+         res/res_xmpp.c, channels/chan_iax2.c, main/endpoints.c,
+         channels/chan_pjsip.c, main/channel.c,
+         res/ari/resource_endpoints.c, /, channels/chan_sip.c: ARI: Fix
+         endpoint/channel subscription issues; allow for subscriptions to
+         tech This patch serves two purposes: (1) It fixes some bugs with
+         endpoint subscriptions not reporting all of the channel events
+         (2) It serves as the preliminary work needed for ASTERISK-23692,
+         which allows for sending/receiving arbitrary out of call text
+         messages through ARI in a technology agnostic fashion. The
+         messaging functionality described on ASTERISK-23692 requires two
+         things: (1) The ability to send/receive messages associated with
+         an endpoint. This is relatively straight forwards with the
+         endpoint core in Asterisk now. (2) The ability to send/receive
+         messages associated with a technology and an arbitrary technology
+         defined URI. This is less straight forward, as endpoints are
+         formed from a tech + resource pair. We don't have a mechanism to
+         note that a technology that *may* have endpoints exists. This
+         patch provides such a mechanism, and fixes a few bugs along the
+         way. The first major bug this patch fixes is the forwarding of
+         channel messages to their respective endpoints. Prior to this
+         patch, there were two problems: (1) Channel caching messages
+         weren't forwarded. Thus, the endpoints missed most of the
+         interesting bits (such as channel creation, destruction, state
+         changes, etc.) (2) Channels weren't associated with their
+         endpoint until after creation. This resulted in endpoints missing
+         the channel creation message, which limited the usefulness of the
+         subscription in the first place (a major use case being 'tell me
+         when this endpoint has a channel'). Unfortunately, this meant
+         another parameter to ast_channel_alloc. Since not all channel
+         technologies support an ast_endpoint, this patch makes such a
+         call optional and opts for a new function,
+         ast_channel_alloc_with_endpoint. When endpoints are created, they
+         will implicitly create a technology endpoint for their technology
+         (if one does not already exist). A technology endpoint is special
+         in that it has no state, cannot have channels created for it,
+         cannot be created explicitly, and cannot be destroyed except on
+         shutdown. It does, however, have all messages from other
+         endpoints in its technology forwarded to it. Combined with the
+         bug fixes, we now have Stasis messages being properly forwarded.
+         Consider the following scenario: two PJSIP endpoints (foo and
+         bar), where bar has a single channel associated with it and foo
+         has two channels associated with it. The messages would be
+         forwarded as follows: channel PJSIP/foo-1 -- \ --> endpoint
+         PJSIP/foo -- / \ channel PJSIP/foo-2 -- \ ---- > endpoint PJSIP /
+         channel PJSIP/bar-1 -----> endpoint PJSIP/bar -- ARI, through the
+         applications resource, can: - subscribe to endpoint:PJSIP/foo and
+         get notifications for channels PJSIP/foo-1,PJSIP/foo-2 and
+         endpoint PJSIP/foo - subscribe to endpoint:PJSIP/bar and get
+         notifications for channels PJSIP/bar-1 and endpoint PJSIP/bar -
+         subscribe to endpoint:PJSIP and get notifications for channels
+         PJSIP/foo-1,PJSIP/foo-2,PJSIP/bar-1 and endpoints
+         PJSIP/foo,PJSIP/bar Note that since endpoint PJSIP never changes,
+         it never has events itself. It merely provides an aggregation
+         point for all other endpoints in its technology (which in turn
+         aggregate all channel messages associated with that endpoint).
+         This patch also adds endpoints to res_xmpp and chan_motif,
+         because the actual messaging work will need it (messaging without
+         XMPP is just sad). Review:
+         https://reviewboard.asterisk.org/r/3760/ ASTERISK-23692 ........
+         Merged revisions 419196 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-22 14:36 +0000 [r419180]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_iax2.c: chan_iax2: Restore previous behavior of
+         iax2_best_codec. The iax2_best_codec function was changed to
+         convert the formats into a format compatibilities structure and
+         grab the first format from it. The resulting order differs from
+         the previous order of iax2_best_codec which causes unexpected
+         formats to get chosen (such as g723). This commit brings back the
+         old behavior of iax2_best_codec by having a specified preference
+         list. Review: https://reviewboard.asterisk.org/r/3835/
+
+2014-07-22 14:22 +0000 [r419110-419175]  Kinsey Moore <kmoore@digium.com>
+
+       * addons/ooh323c/src/printHandler.c, tests/test_sorcery_realtime.c,
+         tests/test_json.c, addons/ooh323c/src/ooq931.c,
+         tests/test_astobj2_thrash.c, addons/chan_ooh323.c, /,
+         tests/test_optional_api.c, tests/test_abstract_jb.c,
+         apps/app_meetme.c, tests/test_logger.c, tests/test_event.c,
+         tests/test_hashtab_thrash.c, res/res_mwi_external_ami.c,
+         tests/test_sorcery.c, res/res_corosync.c,
+         tests/test_voicemail_api.c, tests/test_aoc.c,
+         tests/test_astobj2.c, tests/test_config.c: Fix more dev-mode
+         build issues ........ Merged revisions 419129 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 419162 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 419163 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/dial.c: Dial API: Prevent crash on NULL cap This prevents a
+         crash in the Dial API triggered by use of the Page() application
+         where a format capability struct was used before checking whether
+         it was NULL. ASTERISK-24074 #close
+
+       * channels/chan_skinny.c, tests/test_core_format.c: Fix build in
+         dev-mode
+
+2014-07-21 16:26 +0000 [r419109]  Jonathan Rose <jrose@digium.com>
+
+       * channels/chan_iax2.c: chan_iax2: Restore codec choice behavior
+         from media formats branch After merging the media formats branch,
+         chan_iax2 was discarding codec preferences for the purpose of
+         choosing which codec a channel would use once a call started.
+         This patch restores the Asterisk 1.8-12 codec choice behaviors.
+         ASTERISK-23958 #close Review:
+         https://reviewboard.asterisk.org/r/3800/
+
+2014-07-21 16:09 +0000 [r419093]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_iax2.c: chan_iax2: Only send mini frames if the
+         underlying format has not changed, not if it has. ASTERISK-24072
+         #close Reported by: Matt Jordan
+
+2014-07-21 14:49 +0000 [r419077]  Sean Bright <sean@malleable.com>
+
+       * configure, configure.ac: Fix build when pjproject is installed in
+         a non-standard location. When configuring Asterisk to build
+         against a version of pjproject installed in a non-standard
+         location, the checks for "PJSIP Transaction Group Lock Support"
+         and "PJSIP Media Stream Replacement Support" fail. This is
+         because these secondary checks are not taking the CFLAGS and LIBS
+         returned by the pkg-config check into account. Review:
+         https://reviewboard.asterisk.org/r/3830
+
+2014-07-21 08:41 +0000 [r419060]  Corey Farrell <git@cfware.com>
+
+       * channels/sig_analog.c, res/res_smdi.c, channels/chan_motif.c,
+         include/asterisk/smdi.h, apps/app_voicemail.c,
+         channels/chan_dahdi.c: res_smdi: convert to astobj2 Remove
+         functions: ast_smdi_interface_unref ast_smdi_md_message_putback
+         ast_smdi_mwi_message_putback ast_smdi_md_message destructor
+         ast_smdi_mwi_message destructor Includes for astobj.h are removed
+         everywhere it's possible. ASTERISK-24066 #close Review:
+         https://reviewboard.asterisk.org/r/3758/
+
+2014-07-20 22:06 +0000 [r419044]  Matthew Jordan <mjordan@digium.com>
+
+       * apps/app_confbridge.c, res/ari/resource_channels.c,
+         include/asterisk/rtp_engine.h, include/asterisk/slinfactory.h,
+         res/res_calendar.c, codecs/codec_g722.c,
+         include/asterisk/res_pjsip_session.h, main/frame.c,
+         codecs/ex_lpc10.h, apps/app_dictate.c, res/res_fax.c,
+         apps/app_echo.c, include/asterisk/slin.h, codecs/codec_g726.c,
+         formats/format_ogg_vorbis.c, codecs/codec_gsm.c,
+         codecs/ex_alaw.h, formats/format_wav_gsm.c,
+         channels/iax2/provision.c, channels/chan_iax2.c,
+         res/res_format_attr_h264.c, main/data.c, main/manager.c,
+         include/asterisk/audiohook.h, formats/format_pcm.c,
+         main/config_options.c, res/res_format_attr_silk.c,
+         main/bridge_channel.c, res/res_speech.c, channels/chan_pjsip.c,
+         res/res_clioriginate.c, formats/format_g729.c,
+         channels/chan_unistim.c, res/res_rtp_asterisk.c,
+         include/asterisk/smoother.h (added), main/rtp_engine.c,
+         addons/format_mp3.c, formats/format_wav.c,
+         apps/confbridge/conf_chan_record.c, include/asterisk/speech.h,
+         codecs/ex_adpcm.h, channels/iax2/codec_pref.c (added),
+         include/asterisk/codec.h (added), formats/format_siren7.c,
+         include/asterisk/file.h, channels/chan_dahdi.c,
+         include/asterisk/image.h, funcs/func_channel.c,
+         main/abstract_jb.c, formats/format_h263.c, codecs/codec_dahdi.c,
+         main/dsp.c, apps/app_voicemail.c, apps/app_jack.c,
+         funcs/func_talkdetect.c, channels/chan_vpb.cc,
+         channels/chan_sip.c, formats/format_sln.c,
+         tests/test_abstract_jb.c, codecs/codec_alaw.c, UPGRADE.txt,
+         main/smoother.c (added), codecs/ex_speex.h,
+         channels/chan_console.c, apps/app_talkdetect.c,
+         main/format_pref.c (removed), main/indications.c,
+         include/asterisk/format_cap.h, main/media_index.c,
+         apps/app_agent_pool.c, res/res_pjsip_session.c, main/cli.c,
+         res/res_format_attr_celt.c, channels/chan_skinny.c,
+         tests/test_core_format.c (added), funcs/func_frame_trace.c,
+         res/res_pjsip/pjsip_configuration.c, main/file.c,
+         include/asterisk/frame.h, formats/format_g726.c,
+         apps/app_mixmonitor.c, channels/chan_mgcp.c, main/sorcery.c,
+         codecs/ex_ilbc.h, codecs/codec_lpc10.c, tests/test_format_cache.c
+         (added), apps/app_meetme.c, main/translate.c,
+         apps/app_originate.c, res/parking/parking_applications.c,
+         apps/app_ices.c, channels/iax2/parser.c, res/res_rtp_multicast.c,
+         pbx/pbx_spool.c, funcs/func_pitchshift.c, formats/format_vox.c,
+         main/format_cap.c, tests/test_cel.c, include/asterisk/format.h,
+         formats/format_h264.c, apps/app_chanspy.c, apps/app_nbscat.c,
+         addons/chan_ooh323.c, bridges/bridge_holding.c,
+         channels/iax2/include/codec_pref.h (added), codecs/codec_adpcm.c,
+         apps/app_waitforsilence.c, res/res_pjsip_sdp_rtp.c,
+         addons/chan_ooh323.h, bridges/bridge_simple.c,
+         apps/app_alarmreceiver.c, bridges/bridge_softmix.c,
+         res/res_stasis_snoop.c, main/sounds_index.c, main/core_local.c,
+         main/codec_builtin.c (added), include/asterisk/format_cache.h
+         (added), apps/app_speech_utils.c, res/res_format_attr_opus.c,
+         include/asterisk/abstract_jb.h, main/channel.c,
+         include/asterisk/format_compatibility.h (added), apps/app_mp3.c,
+         tests/test_voicemail_api.c, channels/chan_alsa.c, main/app.c,
+         formats/format_g723.c, codecs/codec_ilbc.c, tests/test_config.c,
+         formats/format_gsm.c, apps/app_milliwatt.c, codecs/ex_ulaw.h,
+         main/asterisk.c, include/asterisk/res_pjsip.h, main/format.c,
+         main/ccss.c, main/bridge.c, codecs/codec_speex.c,
+         include/asterisk/format_pref.h (removed), apps/app_record.c,
+         main/slinfactory.c, res/res_adsi.c, main/core_unreal.c,
+         res/ari/resource_bridges.c, include/asterisk/callerid.h,
+         channels/pjsip/dialplan_functions.c, main/dial.c,
+         channels/dahdi/bridge_native_dahdi.c, main/format_cache.c
+         (added), include/asterisk/mod_format.h, apps/app_sms.c,
+         codecs/codec_resample.c, main/format_compatibility.c (added),
+         main/audiohook.c, formats/format_jpeg.c, res/res_stasis.c,
+         formats/format_g719.c, include/asterisk/translate.h,
+         funcs/func_speex.c, codecs/codec_a_mu.c,
+         channels/iax2/format_compatibility.c (added),
+         apps/app_festival.c, main/channel_internal_api.c,
+         tests/test_format_api.c (removed), codecs/ex_g722.h,
+         main/utils.c, res/ari/resource_sounds.c,
+         res/res_format_attr_h263.c, codecs/ex_g726.h,
+         include/asterisk/_private.h, channels/chan_oss.c,
+         channels/chan_misdn.c, main/codec.c (added), main/callerid.c,
+         addons/ooh323cDriver.c, apps/app_amd.c, codecs/codec_ulaw.c,
+         main/image.c, channels/chan_nbs.c, bridges/bridge_native_rtp.c,
+         channels/iax2/include/format_compatibility.h (added),
+         formats/format_siren14.c, res/res_fax_spandsp.c,
+         addons/chan_mobile.c, addons/ooh323cDriver.h,
+         channels/sip/include/sip.h, tests/test_format_cap.c (added),
+         channels/chan_multicast_rtp.c, include/asterisk/vector.h,
+         channels/chan_bridge_media.c, apps/app_fax.c,
+         main/bridge_basic.c, apps/app_test.c, include/asterisk/channel.h,
+         include/asterisk/data.h, tests/test_core_codec.c (added),
+         res/res_musiconhold.c, codecs/ex_gsm.h, formats/format_ilbc.c,
+         include/asterisk/config_options.h, channels/chan_phone.c,
+         include/asterisk/bridge_channel.h, apps/app_dumpchan.c,
+         channels/chan_motif.c, res/res_agi.c: media formats: re-architect
+         handling of media for performance improvements In the old times
+         media formats were represented using a bit field. This was fast
+         but had a few limitations. 1. Asterisk was limited in how many
+         formats it could handle. 2. Formats, being a bit field, could not
+         include any attribute information. A format was strictly its
+         type, e.g., "this is ulaw". This was changed in Asterisk 10 (see
+         https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal
+         for notes on that work) which led to the creation of the
+         ast_format structure. This structure allowed Asterisk to handle
+         attributes and bundle information with a format. Additionally,
+         ast_format_cap was created to act as a container for multiple
+         formats that, together, formed the capability of some entity.
+         Another mechanism was added to allow logic to be registered which
+         performed format attribute negotiation. Everywhere throughout the
+         codebase Asterisk was changed to use this strategy.
+         Unfortunately, in software, there is no free lunch. These new
+         capabilities came at a cost. Performance analysis and profiling
+         showed that we spend an inordinate amount of time comparing,
+         copying, and generally manipulating formats and their related
+         structures. Basic prototyping has shown that a reasonably large
+         performance improvement could be made in this area. This patch is
+         the result of that project, which overhauled the media format
+         architecture and its usage in Asterisk to improve performance.
+         Generally, the new philosophy for handling formats is as follows:
+         * The ast_format structure is reference counted. This removed a
+         large amount of the memory allocations and copying that was done
+         in prior versions. * In order to prevent race conditions while
+         keeping things performant, the ast_format structure is immutable
+         by convention and lock-free. Violate this tenet at your peril! *
+         Because formats are reference counted, codecs are also reference
+         counted. The Asterisk core generally provides built-in codecs and
+         caches the ast_format structures created to represent them.
+         Generally, to prevent inordinate amounts of module reference
+         bumping, codecs and formats can be added at run-time but cannot
+         be removed. * All compatibility with the bit field representation
+         of codecs/formats has been moved to a compatibility API. The
+         primary user of this representation is chan_iax2, which must
+         continue to maintain its bit-field usage of formats for
+         interoperability concerns. * When a format is negotiated with
+         attributes, or when a format cannot be represented by one of the
+         cached formats, a new format object is created or cloned from an
+         existing format. That format may have the same codec underlying
+         it, but is a different format than a version of the format with
+         different attributes or without attributes. * While formats are
+         reference counted objects, the reference count maintained on the
+         format should be manipulated with care. Formats are generally
+         cached and will persist for the lifetime of Asterisk and do not
+         explicitly need to have their lifetime modified. An exception to
+         this is when the user of a format does not know where the format
+         came from *and* the user may outlive the provider of the format.
+         This occurs, for example, when a format is read from a channel:
+         the channel may have a format with attributes (hence, non-cached)
+         and the user of the format may last longer than the channel (if
+         the reference to the channel is released prior to the format's
+         reference). For more information on this work, see the API design
+         notes:
+         https://wiki.asterisk.org/wiki/display/AST/Media+Format+Rewrite
+         Finally, this work was the culmination of a large number of
+         developer's efforts. Extra thanks goes to Corey Farrell, who took
+         on a large amount of the work in the Asterisk core, chan_sip, and
+         was an invaluable resource in peer reviews throughout this
+         project. There were a substantial number of patches contributed
+         during this work; the following issues/patch names simply reflect
+         some of the work (and will cause the release scripts to give
+         attribution to the individuals who work on them). Reviews:
+         https://reviewboard.asterisk.org/r/3814
+         https://reviewboard.asterisk.org/r/3808
+         https://reviewboard.asterisk.org/r/3805
+         https://reviewboard.asterisk.org/r/3803
+         https://reviewboard.asterisk.org/r/3801
+         https://reviewboard.asterisk.org/r/3798
+         https://reviewboard.asterisk.org/r/3800
+         https://reviewboard.asterisk.org/r/3794
+         https://reviewboard.asterisk.org/r/3793
+         https://reviewboard.asterisk.org/r/3792
+         https://reviewboard.asterisk.org/r/3791
+         https://reviewboard.asterisk.org/r/3790
+         https://reviewboard.asterisk.org/r/3789
+         https://reviewboard.asterisk.org/r/3788
+         https://reviewboard.asterisk.org/r/3787
+         https://reviewboard.asterisk.org/r/3786
+         https://reviewboard.asterisk.org/r/3784
+         https://reviewboard.asterisk.org/r/3783
+         https://reviewboard.asterisk.org/r/3778
+         https://reviewboard.asterisk.org/r/3774
+         https://reviewboard.asterisk.org/r/3775
+         https://reviewboard.asterisk.org/r/3772
+         https://reviewboard.asterisk.org/r/3761
+         https://reviewboard.asterisk.org/r/3754
+         https://reviewboard.asterisk.org/r/3753
+         https://reviewboard.asterisk.org/r/3751
+         https://reviewboard.asterisk.org/r/3750
+         https://reviewboard.asterisk.org/r/3748
+         https://reviewboard.asterisk.org/r/3747
+         https://reviewboard.asterisk.org/r/3746
+         https://reviewboard.asterisk.org/r/3742
+         https://reviewboard.asterisk.org/r/3740
+         https://reviewboard.asterisk.org/r/3739
+         https://reviewboard.asterisk.org/r/3738
+         https://reviewboard.asterisk.org/r/3737
+         https://reviewboard.asterisk.org/r/3736
+         https://reviewboard.asterisk.org/r/3734
+         https://reviewboard.asterisk.org/r/3722
+         https://reviewboard.asterisk.org/r/3713
+         https://reviewboard.asterisk.org/r/3703
+         https://reviewboard.asterisk.org/r/3689
+         https://reviewboard.asterisk.org/r/3687
+         https://reviewboard.asterisk.org/r/3674
+         https://reviewboard.asterisk.org/r/3671
+         https://reviewboard.asterisk.org/r/3667
+         https://reviewboard.asterisk.org/r/3665
+         https://reviewboard.asterisk.org/r/3625
+         https://reviewboard.asterisk.org/r/3602
+         https://reviewboard.asterisk.org/r/3519
+         https://reviewboard.asterisk.org/r/3518
+         https://reviewboard.asterisk.org/r/3516
+         https://reviewboard.asterisk.org/r/3515
+         https://reviewboard.asterisk.org/r/3512
+         https://reviewboard.asterisk.org/r/3506
+         https://reviewboard.asterisk.org/r/3413
+         https://reviewboard.asterisk.org/r/3410
+         https://reviewboard.asterisk.org/r/3387
+         https://reviewboard.asterisk.org/r/3388
+         https://reviewboard.asterisk.org/r/3389
+         https://reviewboard.asterisk.org/r/3390
+         https://reviewboard.asterisk.org/r/3321
+         https://reviewboard.asterisk.org/r/3320
+         https://reviewboard.asterisk.org/r/3319
+         https://reviewboard.asterisk.org/r/3318
+         https://reviewboard.asterisk.org/r/3266
+         https://reviewboard.asterisk.org/r/3265
+         https://reviewboard.asterisk.org/r/3234
+         https://reviewboard.asterisk.org/r/3178 ASTERISK-23114 #close
+         Reported by: mjordan media_formats_translation_core.diff uploaded
+         by kharwell (License 6464) rb3506.diff uploaded by mjordan
+         (License 6283) media_format_app_file.diff uploaded by kharwell
+         (License 6464) misc-2.diff uploaded by file (License 5000)
+         chan_mild-3.diff uploaded by file (License 5000)
+         chan_obscure.diff uploaded by file (License 5000) jingle.diff
+         uploaded by file (License 5000) funcs.diff uploaded by file
+         (License 5000) formats.diff uploaded by file (License 5000)
+         core.diff uploaded by file (License 5000) bridges.diff uploaded
+         by file (License 5000) mf-codecs-2.diff uploaded by file (License
+         5000) mf-app_fax.diff uploaded by file (License 5000)
+         mf-apps-3.diff uploaded by file (License 5000)
+         media-formats-3.diff uploaded by file (License 5000)
+         ASTERISK-23715 rb3713.patch uploaded by coreyfarrell (License
+         5909) rb3689.patch uploaded by mjordan (License 6283)
+         ASTERISK-23957 rb3722.patch uploaded by mjordan (License 6283)
+         mf-attributes-3.diff uploaded by file (License 5000)
+         ASTERISK-23958 Tested by: jrose rb3822.patch uploaded by
+         coreyfarrell (License 5909) rb3800.patch uploaded by jrose
+         (License 6182) chan_sip.diff uploaded by mjordan (License 6283)
+         rb3747.patch uploaded by jrose (License 6182) ASTERISK-23959
+         #close Tested by: sgriepentrog, mjordan, coreyfarrell
+         sip_cleanup.diff uploaded by opticron (License 6273)
+         chan_sip_caps.diff uploaded by mjordan (License 6283)
+         rb3751.patch uploaded by coreyfarrell (License 5909)
+         chan_sip-3.diff uploaded by file (License 5000) ASTERISK-23960
+         #close Tested by: opticron direct_media.diff uploaded by opticron
+         (License 6273) pjsip-direct-media.diff uploaded by file (License
+         5000) format_cap_remove.diff uploaded by opticron (License 6273)
+         media_format_fixes.diff uploaded by opticron (License 6273)
+         chan_pjsip-2.diff uploaded by file (License 5000) ASTERISK-23966
+         #close Tested by: rmudgett rb3803.patch uploaded by rmudgetti
+         (License 5621) chan_dahdi.diff uploaded by file (License 5000)
+         ASTERISK-24064 #close Tested by: coreyfarrell, mjordan, opticron,
+         file, rmudgett, sgriepentrog, jrose rb3814.patch uploaded by
+         rmudgett (License 5621) moh_cleanup.diff uploaded by opticron
+         (License 6273) bridge_leak.diff uploaded by opticron (License
+         6273) translate.diff uploaded by file (License 5000) rb3795.patch
+         uploaded by rmudgett (License 5621) tls_fix.diff uploaded by
+         mjordan (License 6283) fax-mf-fix-2.diff uploaded by file
+         (License 5000) rtp_transfer_stuff uploaded by mjordan (License
+         6283) rb3787.patch uploaded by rmudgett (License 5621)
+         media-formats-explicit-translate-format-3.diff uploaded by file
+         (License 5000) format_cache_case_fix.diff uploaded by opticron
+         (License 6273) rb3774.patch uploaded by rmudgett (License 5621)
+         rb3775.patch uploaded by rmudgett (License 5621)
+         rtp_engine_fix.diff uploaded by opticron (License 6273)
+         rtp_crash_fix.diff uploaded by opticron (License 6273)
+         rb3753.patch uploaded by mjordan (License 6283) rb3750.patch
+         uploaded by mjordan (License 6283) rb3748.patch uploaded by
+         rmudgett (License 5621) media_format_fixes.diff uploaded by
+         opticron (License 6273) rb3740.patch uploaded by mjordan (License
+         6283) rb3739.patch uploaded by mjordan (License 6283)
+         rb3734.patch uploaded by mjordan (License 6283) rb3689.patch
+         uploaded by mjordan (License 6283) rb3674.patch uploaded by
+         coreyfarrell (License 5909) rb3671.patch uploaded by coreyfarrell
+         (License 5909) rb3667.patch uploaded by coreyfarrell (License
+         5909) rb3665.patch uploaded by mjordan (License 6283)
+         rb3625.patch uploaded by coreyfarrell (License 5909) rb3602.patch
+         uploaded by coreyfarrell (License 5909)
+         format_compatibility-2.diff uploaded by file (License 5000)
+         core.diff uploaded by file (License 5000)
+
+2014-07-18 21:48 +0000 [r419022]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
+         res/stasis_recording/stored.c, res/res_ari_recordings.c, /,
+         include/asterisk/stasis_app_recording.h,
+         res/ari/resource_recordings.h, CHANGES: ari: Add a copy operation
+         for stored recordings This patch adds a new operation for stored
+         recordings, copy. It takes an existing stored recording and makes
+         a copy of it in the same directory or a relative directory under
+         the stored recording directory.
+         /ari/recordings/stored/{recordingName}/copy?destinationRecordingName={copy_name}
+         This is particularly useful for voicemail-esque applications,
+         which may need to copy or move recordings around a directory
+         structure. Review: https://reviewboard.asterisk.org/r/3768/
+         ASTERISK-24036 #close Reported by: Sam Galarneau Tested by: Sam
+         Galarneau ........ Merged revisions 419021 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-18 21:25 +0000 [r418997-419020]  Corey Farrell <git@cfware.com>
+
+       * main/stasis_message_router.c, /: stasis: fix call to ao2_t_alloc
+         for stasis_message_router_create This fixes a build failure
+         introduced by r3821. struct stasis_topic is opaque, so
+         topic->name is unavailable. Switch to using stasis_topic_name().
+         ........ Merged revisions 419019 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis.c, main/stasis_cache_pattern.c,
+         main/stasis_message.c, main/stasis_message_router.c, /: stasis:
+         use ao2_t_alloc for certain object allocators Add tags to stasis
+         objects using the name. This makes it easier to track the source
+         of certain stasis ref leaks. Review:
+         https://reviewboard.asterisk.org/r/3821/ ........ Merged
+         revisions 418996 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-18 19:07 +0000 [r418980]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_fax_spandsp.c: Fix build in dev-mode
+
+2014-07-18 17:55 +0000 [r418961-418963]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * res/res_pjsip_pubsub.c, main/astobj2.c,
+         include/asterisk/astobj2.h, main/logger.c, main/utils.c: astobj2:
+         assert on invalid ref and backtrace cleanup If a reference count
+         goes negative, instead of just logging that fact, be more helpful
+         with a backtrace and an assert that will DO_CRASH. This patch
+         also removes the duplicate ao2_bt() function and cleans up
+         extraneous usage of the ast_log_backtrace() call. Review:
+         https://reviewboard.asterisk.org/r/3765/
+
+       * /, channels/chan_sip.c: media formats: fix ref leak of peer for
+         mwi subscription Holding a reference to the peer during mwi
+         subscriptions resulted in a circular reference because the final
+         event message would not be sent until destruction of the peer.
+         Instead, pass the name of the peer to the event callback so that
+         it can fail gracefully after the peer has gone. ASTERISK-23959
+         Review: https://reviewboard.asterisk.org/r/3754/ ........ Merged
+         revisions 418636 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/features_config.c: feature_config: insure featuregroups
+         and applicationmaps are initialized If the features.conf is
+         missing, the cfg->featurgroups and cfg->applicationmaps is not
+         initialized, resulting in assert on ao2_find of a null container.
+         This patch changes the initialization call and adds asserts for a
+         safeguard. Review: https://reviewboard.asterisk.org/r/3809/
+         ........ Merged revisions 418886 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-18 16:47 +0000 [r418938]  Richard Mudgett <rmudgett@digium.com>
+
+       * funcs/func_audiohookinherit.c, /: func_audiohookinherit.c: Fixup
+         some XML documentation wording. ........ Merged revisions 418937
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-18 16:28 +0000 [r418911-418936]  Jonathan Rose <jrose@digium.com>
+
+       * main/channel.c, funcs/func_audiohookinherit.c, /,
+         include/asterisk/audiohook.h, main/framehook.c, res/res_fax.c,
+         main/bridge_basic.c, include/asterisk/res_fax.h,
+         bridges/bridge_native_rtp.c, main/audiohook.c, CHANGES,
+         include/asterisk/framehook.h, res/res_pjsip_refer.c: Channels:
+         Masquerades to automatically move frame/audio hooks Whenever
+         possible, audiohooks and framehooks will now be copied over to
+         the channel that the masquerading channel gets cloned into. This
+         should occur for all audiohooks and most framehooks. As a result,
+         in Asterisk 12.5 and up, the AUDIOHOOK_INHERIT function is now
+         deprecated and its behavior is essentially the new default for
+         all audiohooks, plus some additional audiohooks/framehooks.
+         Review: https://reviewboard.asterisk.org/r/3721/ ........ Merged
+         revisions 418914 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_fax.c, include/asterisk/res_fax.h, CHANGES,
+         res/res_fax.exports.in, res/res_fax_spandsp.c: res_fax: Provide
+         AMI equivalents for fax CLI commands Specifically the following
+         equivalents were created: fax show session -> FAXSession fax show
+         sessions -> FAXSessions fax show stats -> FAXStats Review:
+         https://reviewboard.asterisk.org/r/3666/
+
+2014-07-18 00:11 +0000 [r418893-418895]  Sean Bright <sean@malleable.com>
+
+       * config.sub, menuselect/config.guess, menuselect/config.sub,
+         config.guess: Update config.guess and config.sub
+
+       * autoconf/ast_ext_tool_check.m4: Add missing file from previous
+         commit.
+
+       * menuselect/aclocal.m4, menuselect/configure,
+         menuselect/acinclude.m4 (removed), menuselect/bootstrap.sh,
+         menuselect/autoconfig.h.in: Import Asterisk's autoconf magic
+         instead of using our own.
+
+2014-07-17 21:17 +0000 [r418832-418870]  Matthew Jordan <mjordan@digium.com>
+
+       * configs/samples/acl.conf.sample (added),
+         configs/samples/extensions.conf.sample (added),
+         configs/res_parking.conf.sample (removed),
+         configs/samples/cel_sqlite3_custom.conf.sample (added),
+         configs/cdr_sqlite3_custom.conf.sample (removed),
+         configs/modules.conf.sample (removed),
+         configs/samples/cli_aliases.conf.sample (added),
+         configs/meetme.conf.sample (removed),
+         configs/cdr_pgsql.conf.sample (removed),
+         configs/samples/extensions.ael.sample (added),
+         configs/samples/cdr_adaptive_odbc.conf.sample (added),
+         configs/samples/motif.conf.sample (added),
+         configs/samples/extensions_minivm.conf.sample (added),
+         configs/samples/res_curl.conf.sample (added),
+         configs/res_config_sqlite3.conf.sample (removed),
+         configs/mgcp.conf.sample (removed), configs/dsp.conf.sample
+         (removed), configs/udptl.conf.sample (removed),
+         configs/sip.conf.sample (removed), configs/dbsep.conf.sample
+         (removed), configs/queuerules.conf.sample (removed),
+         configs/samples/cdr_mysql.conf.sample (added),
+         configs/confbridge.conf.sample (removed),
+         configs/samples/cdr_odbc.conf.sample (added),
+         configs/samples/minivm.conf.sample (added),
+         configs/enum.conf.sample (removed),
+         configs/samples/codecs.conf.sample (added),
+         configs/samples/chan_dahdi.conf.sample (added),
+         configs/samples/cdr_custom.conf.sample (added),
+         configs/samples/res_config_mysql.conf.sample (added),
+         configs/samples/dundi.conf.sample (added),
+         configs/samples/oss.conf.sample (added),
+         configs/samples/app_mysql.conf.sample (added),
+         configs/samples/queues.conf.sample (added),
+         configs/samples/cdr.conf.sample (added),
+         configs/samples/cdr_syslog.conf.sample (added),
+         configs/festival.conf.sample (removed),
+         configs/samples/cel_pgsql.conf.sample (added),
+         configs/http.conf.sample (removed), configs/phoneprov.conf.sample
+         (removed), configs/alarmreceiver.conf.sample (removed),
+         configs/samples/features.conf.sample (added),
+         configs/cdr_tds.conf.sample (removed),
+         configs/func_odbc.conf.sample (removed),
+         configs/samples/logger.conf.sample (added),
+         configs/samples/res_odbc.conf.sample (added),
+         configs/samples/agents.conf.sample (added),
+         configs/res_fax.conf.sample (removed),
+         configs/samples/xmpp.conf.sample (added),
+         configs/iaxprov.conf.sample (removed),
+         configs/res_pgsql.conf.sample (removed),
+         configs/extensions.conf.sample (removed),
+         configs/chan_mobile.conf.sample (removed), configs/asterisk.adsi
+         (removed), configs/cel_sqlite3_custom.conf.sample (removed),
+         configs/users.conf.sample (removed),
+         configs/samples/res_pktccops.conf.sample (added),
+         configs/samples/amd.conf.sample (added), configs/rtp.conf.sample
+         (removed), configs/samples/res_parking.conf.sample (added),
+         configs/hep.conf.sample (removed),
+         configs/samples/modules.conf.sample (added),
+         configs/cel_tds.conf.sample (removed),
+         configs/res_curl.conf.sample (removed),
+         configs/samples/skinny.conf.sample (added),
+         configs/samples/cdr_pgsql.conf.sample (added),
+         configs/samples/sip_notify.conf.sample (added),
+         configs/samples/test_sorcery.conf.sample (added),
+         configs/samples/dsp.conf.sample (added),
+         configs/ss7.timers.sample (removed),
+         configs/samples/udptl.conf.sample (added),
+         configs/cdr_odbc.conf.sample (removed),
+         configs/samples/sip.conf.sample (added),
+         configs/minivm.conf.sample (removed),
+         configs/res_config_sqlite.conf.sample (removed),
+         configs/codecs.conf.sample (removed), configs/osp.conf.sample
+         (removed), configs/samples/cel_custom.conf.sample (added),
+         configs/samples/dbsep.conf.sample (added),
+         configs/samples/app_skel.conf.sample (added),
+         configs/console.conf.sample (removed),
+         configs/cdr_manager.conf.sample (removed),
+         configs/cdr_custom.conf.sample (removed),
+         configs/chan_dahdi.conf.sample (removed),
+         configs/res_config_mysql.conf.sample (removed),
+         configs/samples/statsd.conf.sample (added),
+         configs/cli.conf.sample (removed), configs/queues.conf.sample
+         (removed), configs/cdr_syslog.conf.sample (removed), UPGRADE.txt,
+         configs/manager.conf.sample (removed),
+         configs/samples/res_corosync.conf.sample (added),
+         configs/features.conf.sample (removed), configs/sla.conf.sample
+         (removed), configs/logger.conf.sample (removed),
+         configs/res_odbc.conf.sample (removed),
+         configs/agents.conf.sample (removed),
+         configs/samples/ooh323.conf.sample (added), Makefile,
+         configs/xmpp.conf.sample (removed),
+         configs/samples/phoneprov.conf.sample (added),
+         configs/samples/alarmreceiver.conf.sample (added),
+         configs/samples/cdr_tds.conf.sample (added),
+         configs/extconfig.conf.sample (removed),
+         configs/samples/func_odbc.conf.sample (added),
+         configs/samples/res_fax.conf.sample (added),
+         configs/samples/iaxprov.conf.sample (added),
+         configs/samples/res_ldap.conf.sample (added),
+         configs/samples/dnsmgr.conf.sample (added),
+         configs/res_pktccops.conf.sample (removed),
+         configs/cel.conf.sample (removed),
+         configs/samples/res_pgsql.conf.sample (added),
+         configs/samples/chan_mobile.conf.sample (added),
+         configs/samples/asterisk.adsi (added),
+         configs/samples/users.conf.sample (added),
+         configs/samples/rtp.conf.sample (added),
+         configs/phone.conf.sample (removed), configs/skinny.conf.sample
+         (removed), configs/muted.conf.sample (removed),
+         configs/samples/hep.conf.sample (added), configs/iax.conf.sample
+         (removed), configs/samples/cel_tds.conf.sample (added),
+         configs/sip_notify.conf.sample (removed),
+         configs/samples/telcordia-1.adsi (added),
+         configs/samples/alsa.conf.sample (added),
+         configs/samples/adsi.conf.sample (added),
+         configs/test_sorcery.conf.sample (removed),
+         configs/samples/followme.conf.sample (added),
+         configs/samples/asterisk.conf.sample (added),
+         configs/extensions.lua.sample (removed), configs/say.conf.sample
+         (removed), configs/cel_custom.conf.sample (removed),
+         configs/samples/ss7.timers.sample (added),
+         configs/samples/cel_odbc.conf.sample (added),
+         configs/app_skel.conf.sample (removed),
+         configs/samples/ccss.conf.sample (added),
+         configs/cli_permissions.conf.sample (removed),
+         configs/statsd.conf.sample (removed),
+         configs/samples/res_config_sqlite.conf.sample (added),
+         configs/config_test.conf.sample (removed),
+         configs/indications.conf.sample (removed),
+         configs/samples/osp.conf.sample (added),
+         configs/samples/cdr_manager.conf.sample (added),
+         configs/samples/console.conf.sample (added),
+         configs/voicemail.conf.sample (removed),
+         configs/res_corosync.conf.sample (removed),
+         configs/misdn.conf.sample (removed),
+         configs/samples/cli.conf.sample (added), configs/ari.conf.sample
+         (removed), configs/ooh323.conf.sample (removed),
+         configs/samples/calendar.conf.sample (added),
+         configs/samples/res_stun_monitor.conf.sample (added),
+         configs/samples/manager.conf.sample (added),
+         configs/samples/pjsip_notify.conf.sample (added),
+         configs/samples/sla.conf.sample (added),
+         configs/musiconhold.conf.sample (removed),
+         configs/pjsip.conf.sample (removed), configs/sorcery.conf.sample
+         (removed), configs/vpb.conf.sample (removed),
+         configs/unistim.conf.sample (removed),
+         configs/res_ldap.conf.sample (removed),
+         configs/dnsmgr.conf.sample (removed),
+         configs/samples/extconfig.conf.sample (added),
+         configs/samples/res_snmp.conf.sample (added),
+         configs/acl.conf.sample (removed),
+         configs/samples/smdi.conf.sample (added),
+         configs/samples/cel.conf.sample (added),
+         configs/cli_aliases.conf.sample (removed),
+         configs/samples/cdr_sqlite3_custom.conf.sample (added),
+         configs/extensions.ael.sample (removed),
+         configs/cdr_adaptive_odbc.conf.sample (removed),
+         configs/samples/phone.conf.sample (added),
+         configs/extensions_minivm.conf.sample (removed),
+         configs/motif.conf.sample (removed), configs/telcordia-1.adsi
+         (removed), configs/samples/meetme.conf.sample (added),
+         configs/adsi.conf.sample (removed), configs/alsa.conf.sample
+         (removed), configs/samples/muted.conf.sample (added),
+         configs/followme.conf.sample (removed),
+         configs/asterisk.conf.sample (removed),
+         configs/samples/iax.conf.sample (added),
+         configs/samples/res_config_sqlite3.conf.sample (added),
+         configs/samples/mgcp.conf.sample (added),
+         configs/cel_odbc.conf.sample (removed), configs/ccss.conf.sample
+         (removed), configs/cdr_mysql.conf.sample (removed),
+         configs/samples/extensions.lua.sample (added),
+         configs/samples/say.conf.sample (added),
+         configs/dundi.conf.sample (removed),
+         configs/samples/queuerules.conf.sample (added),
+         configs/oss.conf.sample (removed), configs/app_mysql.conf.sample
+         (removed), configs/samples/confbridge.conf.sample (added),
+         configs/samples/cli_permissions.conf.sample (added),
+         configs/samples/enum.conf.sample (added),
+         configs/samples/config_test.conf.sample (added),
+         configs/cdr.conf.sample (removed),
+         configs/samples/indications.conf.sample (added),
+         configs/cel_pgsql.conf.sample (removed),
+         configs/res_stun_monitor.conf.sample (removed),
+         configs/calendar.conf.sample (removed),
+         configs/samples/voicemail.conf.sample (added),
+         configs/pjsip_notify.conf.sample (removed),
+         configs/samples/misdn.conf.sample (added),
+         configs/samples/ari.conf.sample (added),
+         configs/samples/festival.conf.sample (added),
+         configs/samples/http.conf.sample (added),
+         configs/res_snmp.conf.sample (removed),
+         configs/samples/musiconhold.conf.sample (added),
+         configs/samples/pjsip.conf.sample (added),
+         configs/samples/sorcery.conf.sample (added),
+         configs/samples/vpb.conf.sample (added), configs/smdi.conf.sample
+         (removed), configs/samples/unistim.conf.sample (added),
+         configs/samples (added), configs/amd.conf.sample (removed):
+         configs: Move sample config files into a subdirectory of configs
+         This moves all samples configs from configs/ to configs/samples.
+         This allows for additional sets of sample configuration files to
+         be added in the future. Review:
+         https://reviewboard.asterisk.org/r/3804/
+
+       * channels/chan_sip.c, UPGRADE.txt: chan_sip: Make
+         progressinband=never really mean 'never' progressinband=never in
+         sip.conf is easily defeated if an onward trunk sends a progress
+         indication of its own. This is almost certain to happen if the
+         onward trunk is ISDN or IAX as these technologies send a progress
+         indication even if early media is not required. This progress
+         message is passed to the caller, and causes the "never" option to
+         be rather badly named. This patch changes the behaviour of this
+         setting in the following ways: 1) In sip_write(), do not pass the
+         media unless we have either progressed beyond INV_EARLY_MEDIA, or
+         we are in INV_EARLY_MEDIA state, and early media is both set-up
+         and wanted. This helps resolve double-ringing on some buggy
+         handsets. 2) In sip_indicate(), if we see AST_CONTROL_PROGRESS,
+         but SIP_PROG_INBAND_NEVER is set, send a 180 Ringing instead to
+         avoid implicitly enabling early media. Avoid sending double ring
+         indications. NOTE: the meaning of the SIP_PROGRESS_SENT flag
+         changes slightly in this patch to also encapsulate the fact that
+         a channel has *sent or received* a 183 Progress indication. This
+         makes the updated code in sip_write() much more simple. Review:
+         https://reviewboard.asterisk.org/r/3700 ASTERISK-23972 #close
+         Reported by: Steve Davies patches:
+         inband_never_present_early_media2 uploaded by Steve Davies
+         (License 5012)
+
+       * menuselect: Add svn:ignore property
+
+       * UPGRADE.txt, menuselect/configure, menuselect/configure.ac,
+         configure, configure.ac: configure: Fix libxml2 development
+         library dependency checking The commit that added libxml2 support
+         didn't fully check for the libxml2 development script in the
+         Asterisk configure file. As a result, Asterisk could be
+         configured, then fail on menuselect. This patch fixes it so that
+         Asterisk should detect the libxml2 dependency failure first.
+
+       * menuselect/makeopts.in, menuselect/autoconfig.h.in,
+         menuselect/menuselect.h, menuselect/example_menuselect-tree,
+         configure, include/asterisk/autoconfig.h.in, menuselect/Makefile,
+         menuselect/README, menuselect/aclocal.m4, configure.ac,
+         UPGRADE.txt, menuselect/configure, menuselect/configure.ac,
+         menuselect/menuselect.c, menuselect/acinclude.m4: menuselect: Add
+         libxml2 support (Patch 3) This is the final patch in adding
+         menuselect to Asterisk. - The first patch (r418832) added
+         menuselect along with mxml - The second patch (r418833) removed
+         mxml from menuselect This patch adds support for libxml2 to
+         menuselect, and makes libxml2 a required library for Asterisk.
+         Note that the libxml2 portion of this patch was written by Sean
+         Bright, and was made available on a team branch:
+         http://svn.digium.com/svn/menuselect/team/seanbright/libxml2/
+         Review: https://reviewboard.asterisk.org/r/3773/ ASTERISK-20703
+         #close patches: some_mysterious_team_branch uploaded by
+         seanbright (License 5060)
+
+       * menuselect/mxml (removed): menuselect: Remove mxml from
+         menuselect (Patch 2) This is the second patch that adds
+         menuselect to Asterisk trunk. The previous commit (r418832) added
+         menuselect along with mxml; this patch removes mxml completely
+         from Menuselect. A subsequent patch will switch menuselect over
+         to using libxml2, and make libxml2 a required dependency for
+         Asterisk. ASTERISK-20703
+
+       * menuselect/mxml/configure.in (added), menuselect/acinclude.m4
+         (added), menuselect/mxml/mxml.list.in (added),
+         menuselect/mxml/README (added), menuselect/linkedlists.h (added),
+         menuselect/mxml (added), menuselect/mxml/config.h.in (added),
+         menuselect/aclocal.m4 (added), menuselect/install-sh (added),
+         menuselect/mxml/mxml-string.c (added),
+         menuselect/menuselect_stub.c (added), menuselect/make_version
+         (added), menuselect/mxml/mxml-entity.c (added),
+         menuselect/bootstrap.sh (added), menuselect/makeopts.in (added),
+         menuselect/autoconfig.h.in (added), menuselect/config.guess
+         (added), menuselect/mxml/install-sh (added),
+         menuselect/test/build_tools/menuselect-deps (added), /,
+         menuselect/contrib/menuselect-dummy (added),
+         menuselect/config.sub (added), menuselect/mxml/configure (added),
+         menuselect/mxml/Makefile.in (added), menuselect (added),
+         menuselect/contrib (added), menuselect/mxml/mxml.pc.in (added),
+         menuselect/configure.ac (added), menuselect/mxml/mxml-set.c
+         (added), menuselect/contrib/Makefile-dummy (added),
+         menuselect/mxml/ANNOUNCEMENT (added), menuselect/missing (added),
+         menuselect/menuselect_curses.c (added),
+         menuselect/example_menuselect-tree (added), menuselect/Makefile
+         (added), menuselect/mxml/mxml-search.c (added), menuselect/test
+         (added), menuselect/test/menuselect-tree (added),
+         menuselect/mxml/mxml.h (added), menuselect/mxml/mxml-index.c
+         (added), menuselect/configure (added),
+         menuselect/menuselect_newt.c (added), menuselect/mxml/mxml-attr.c
+         (added), menuselect/mxml/mxml-private.c (added),
+         menuselect/menuselect.c (added), menuselect/mxml/CHANGES (added),
+         menuselect/mxml/COPYING (added), menuselect/mxml/mxml-file.c
+         (added), menuselect/menuselect.h (added),
+         menuselect/menuselect_gtk.c (added), menuselect/README (added),
+         menuselect/strcompat.c (added), menuselect/mxml/mxml-node.c
+         (added), menuselect/test/build_tools (added): menuselect: Add
+         menuselect to Asterisk trunk (Patch 1) This is the first patch
+         that adds menuselect to Asterisk trunk, and removes the
+         svn:externals property. This is being done for two reasons: (1)
+         The removal of external repositories eases a future migration to
+         git (2) Asterisk is now the only thing that uses menuselect; as a
+         result, there's little need to keep it in an external repository
+         Subsequent patches will remove the mxml dependency from
+         menuselect and tidy up the build system. ASTERISK-20703
+
+2014-07-17 14:28 +0000 [r418811]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/bridge_channel.c: TEST_FRAMEWORK: Fix threewaytransfer
+         reporting Ensure that three-way transfers can be reported even if
+         featuremap is non-NULL. ........ Merged revisions 418810 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-16 23:08 +0000 [r418788]  Corey Farrell <git@cfware.com>
+
+       * /, channels/dahdi/bridge_native_dahdi.c: Remove include of
+         astobj.h from channels/dahdi/bridge_native_dahdi.c. The include
+         was unneeded, this is split off from r3758 as it applies to 12.
+         ........ Merged revisions 418787 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-16 14:03 +0000 [r418717-418757]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip/pjsip_configuration.c, CHANGES, res/res_pjsip.c,
+         channels/chan_pjsip.c, include/asterisk/res_pjsip.h,
+         contrib/ast-db-manage/config/versions/1d50859ed02e_create_accountcode.py
+         (added), /, configs/pjsip.conf.sample: res_pjsip: Support setting
+         a default accountcode on endpoints Most channel drivers let you
+         specify a default accountcode to be set on channels associated
+         with a particular peer/endpoint/object. Prior to this patch,
+         chan_pjsip/res_pjsip did not support such a setting. This patch
+         adds a new setting to the res_pjsip endpoint object,
+         'accountcode'. When a channel is created that is associated with
+         an endpoint with this value set, the channel will automatically
+         have its accountcode property set to the value configured for the
+         endpoint. Review: https://reviewboard.asterisk.org/r/3724/
+         ASTERISK-24000 #close Reported by: Matt Jordan ........ Merged
+         revisions 418756 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * cdr/cdr_pgsql.c, CHANGES, configs/cdr_pgsql.conf.sample,
+         configs/res_pgsql.conf.sample, cel/cel_pgsql.c,
+         res/res_config_pgsql.c, configs/cel_pgsql.conf.sample: cel_pgsql,
+         cdr_pgsql, res_config_pgsql: Add PostgreSQL application_name
+         support This patch adds support for the PostgreSQL
+         application_name connection setting. When the appropriate
+         PostgreSQL module's configuration is set with an application
+         name, the name will be passed to PostgreSQL on connection and
+         displayed in the database's pg_stat_activity view, as well as in
+         CSV logs. This aids in managing which applications/servers are
+         connected to a PostgreSQL database, as well as tracing the
+         activity of those connections. Review:
+         https://reviewboard.asterisk.org/r/3591 ASTERISK-23737 #close
+         Reported by: Gergely Domodi patches: pgsql_application_name.patch
+         uploaded by Gergely Domodi (License 6610)
+
+       * codecs/codec_adpcm.c, main/format.c: codec_adpcm: Change
+         description of codec "ADPCM" to "Dialogic ADPCM" Technically,
+         ADPCM is a method that can be applied to several codecs.
+         Asterisk's ADPCM codec is the Dialogic ADPCM or VOX codec. See
+         http://en.wikipedia.org/wiki/Dialogic_ADPCM for more information
+         about said codec. Review: https://reviewboard.asterisk.org/r/3744
+         patches: rb3744.patch uploaded by dennis.guse (License 6513)
+
+       * UPGRADE.txt, main/manager.c, /: manager: Return ActionID on
+         nominal responses to PresenceState action When the PresenceState
+         action is executed, the nominal path fails to include the
+         ActionID in the successful response. This patch adds a call to
+         astman_start_ack, which guarantees that an ActionID (if provided)
+         will be sent back to the AMI client. Unlike the Asterisk 11 and
+         12 patches, this patch also deprecates the duplicate Message key
+         in the response to the action, replacing it with the key
+         'PresenceMessage'. Review:
+         https://reviewboard.asterisk.org/r/3776/ ASTERISK-23985 #close
+         ........ Merged revisions 418713 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 418714 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-15 23:03 +0000 [r418716]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/bridge_channel.c: TEST_FRAMEWORK: Fix ref leak in feature
+         activation This fixes two reference leaks that would occur when
+         TEST_FRAMEWORK was enabled and features were successfully
+         executed. ........ Merged revisions 418715 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-15 17:57 +0000 [r418654]  Jonathan Rose <jrose@digium.com>
+
+       * funcs/func_uri.c, /: func_uri: URIENCODE/URIDECODE - allow empty
+         strings as argument Previously these two dialplan functions would
+         issue warnings and return failure when an empty string is used as
+         the argument. Now they will not issue a warning and will
+         successfully return an empty string. ASTERISK-23911 #close
+         Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3745/ ........ Merged
+         revisions 418641 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 418649 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 418650 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-15 12:11 +0000 [r418616]  Sean Bright <sean@malleable.com>
+
+       * main/asterisk.c: Update Asterisk copyright year in
+         main/asterisk.c It's been 2014 for like... 6 months.
+
+2014-07-14 14:55 +0000 [r418566-418587]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/logger.h, /: logger.h: Extract DEBUG_ATLEAST()
+         to complement VERBOSITY_ATLEAST(). ........ Merged revisions
+         418586 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/jabber.h (removed), include/asterisk/jingle.h
+         (removed), include/asterisk/frame_defs.h (removed),
+         configs/h323.conf.sample (removed): Actually delete the removed
+         files.
+
+2014-07-13 21:57 +0000 [r418507]  Corey Farrell <git@cfware.com>
+
+       * /, main/astobj2.c, contrib/scripts/refcounter.py: astobj2: work
+         around REF_DEBUG race which causes out of order log entries *
+         Update refcounter.py to use delta's to track the current
+         reference count. * Use result from internal_ao2_ref to write
+         old_refcount to refs_log. Review:
+         https://reviewboard.asterisk.org/r/3756/ ........ Merged
+         revisions 418504 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 418505 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 418506 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-13 20:08 +0000 [r418488]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * include/asterisk/astobj2.h: astobj2: correct define for
+         ao2_t_cleanup This change maps the ao2_t_cleanup() function to
+         the correct debug function so that it can be used. Review:
+         https://reviewboard.asterisk.org/r/3764/
+
+2014-07-13 16:48 +0000 [r418448-418467]  Corey Farrell <git@cfware.com>
+
+       * main/manager.c, /, apps/app_skel.c: Fix minor reference leaks in
+         app_skel and TEST_FRAMEWORK * Cleanup games object in app_skel. *
+         Cleanup stasis subscription to TEST_FRAMEWORK in manager.c (12+).
+         Review: https://reviewboard.asterisk.org/r/3757/ ........ Merged
+         revisions 418465 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 418466 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/jabber.h, include/asterisk/jingle.h,
+         configs/h323.conf.sample: Remove files left behind on removal of
+         h323, jingle and jabber. This change removes h323.conf.sample,
+         jingle.h, jabber.h left behind by r3698. Review:
+         https://reviewboard.asterisk.org/r/3755/
+
+2014-07-11 23:00 +0000 [r418419]  Matthew Jordan <mjordan@digium.com>
+
+       * main/astobj2.c, include/asterisk/astobj2.h: astobj2: Add tag
+         variants for ao2_bump, ao2_cleanup, and ao2_replace Tags are
+         useful in hunting down ref imbalances; this patch adds tag
+         variants for these commonly used macros/functions. Review:
+         https://reviewboard.asterisk.org/r/3750/
+
+2014-07-11 21:10 +0000 [r418397]  Corey Farrell <git@cfware.com>
+
+       * /, include/asterisk/astobj2.h: astobj2: tweak ao2_replace to do
+         nothing when it would be a NoOp This change causes ao2_replace to
+         do nothing when src == dst. This avoids REF_DEBUG logging when
+         we're not actually doing anything. Review:
+         https://reviewboard.asterisk.org/r/3743/ ........ Merged
+         revisions 418396 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-11 16:42 +0000 [r418370]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, main/config.c: config: inform config hook of change when
+         writing file When updated configuration is written back to the
+         conf file - for example when a user changes their voicemail pin,
+         make sure that any config hook that wants to know of changes is
+         informed. Review: https://reviewboard.asterisk.org/r/3708/
+         ........ Merged revisions 418366 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 418369 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-10 15:36 +0000 [r418325]  Matthew Jordan <mjordan@digium.com>
+
+       * /, include/asterisk/xmpp.h: include/asterisk/xmpp.h: Convert
+         indentation to tabs This is a whitespace only change. ........
+         Merged revisions 418323 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 418324 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-10 01:59 +0000 [r418226-418264]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/sig_pri.c, /: chan_dahdi/sig_pri: Fix type mismatch in
+         the idledial feature's channel creation. Square pegs in round
+         holes don't work very well. ........ Merged revisions 418261 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 418262 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 418263 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/stasis/stasis_bridge.h (added), main/bridge_channel.c,
+         res/res_stasis.c, /, res/stasis/stasis_bridge.c (added),
+         include/asterisk/bridge_channel.h, main/bridge_basic.c: ARI: Make
+         mixing bridges propagate linkedids and accountcodes. * Create a
+         Stasis bridge sub-class to propagate linkedids and accountcodes.
+         * Fixed the basic bridge sub-class to update peeraccount codes
+         when the number of channels in the bridge drops back down to two
+         parties. * Refactored ast_bridge_channel_update_accountcodes() to
+         handle channels joining/leaving the bridge. * Fixed the basic
+         bridge sub-class to not call the base bridge class pull method
+         twice. AFS-105 #close ASTERISK-23852 #close Reported by: Richard
+         Mudgett Review: https://reviewboard.asterisk.org/r/3720/ ........
+         Merged revisions 418225 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-08 14:48 +0000 [r418174-418183]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/endpoints.json,
+         rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
+         /, rest-api/api-docs/asterisk.json,
+         rest-api/api-docs/applications.json,
+         rest-api/api-docs/playbacks.json,
+         rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
+         rest-api/resources.json, include/asterisk/manager.h,
+         rest-api/api-docs/bridges.json,
+         rest-api/api-docs/recordings.json: manager/ARI: Update version to
+         2.4.0/1.4.0; Update UPGRADE.txt ........ Merged revisions 418182
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix undefined
+         function when PJPROJECT is not installed The
+         dtls_perform_handshake function was mistakenly placed under the
+         guards for USE_PJPROJECT. If PJPROJECT was not installed, the
+         function would not be defined, while other functions would
+         attempt to still use it. This prevented res_rtp_asterisk from
+         being loaded. ASTERISK-24001 #close Reported by: Don Fanning
+         ........ Merged revisions 418172 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-07 16:08 +0000 [r418117]  Joshua Colp <jcolp@digium.com>
+
+       * include/asterisk/res_pjsip_body_generator_types.h,
+         res/res_pjsip_dialog_info_body_generator.c (added),
+         res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c, /,
+         include/asterisk/res_pjsip_presence_xml.h:
+         res_pjsip_dialog_info_body_generator: Add dialog-info+xml support
+         for presence. This module implements dialog-info+xml for the
+         purposes of presence. This means that phones such as Grandstreams
+         can now subscribe to receive presence information for an
+         extension. ASTERISK-21443 #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3705/ ........ Merged
+         revisions 418116 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-07 02:15 +0000 [r418090]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/stasis_app.h, res/ari/resource_channels.c,
+         res/res_stasis.c, /, res/stasis/app.c: ARI/res_stasis: Subscribe
+         to both Local channel halves when originating to app This patch
+         fixes two bugs: 1. When originating a channel into a Stasis
+         application, we already create a subscription for the channel
+         that is going into our Stasis app. Unfortunately, when you create
+         a Local channel and pass it off to a Stasis app, you really
+         aren't creating just one channel: you're creating two. This patch
+         snags the second half of the Local channel pair (assuming it is a
+         Local channel pair, but luckily core_local is kind about such
+         assumptions) and subscribes to it as well. 2. Subscriptions are a
+         bit sticky right now. If a subscription is made, the 'interest'
+         count gets bumped on the Stasis subscription - but unless
+         something explicitly unsubscribes the channel, said subscription
+         sticks around. This is not much of a problem is a user is
+         creating the subscription - if they made it, they must want it.
+         However, when we are creating implicit subscriptions, we need to
+         make sure something clears them out. This patch takes a
+         pessimistic approach: it watches the cache updates coming from
+         Stasis and, if we notice that the cache just cleared out an
+         object, we delete our subscription object. This keeps our ao2
+         container of Stasis forwards in an application from growing out
+         of hand; it also is a bit more forgiving for end users who may
+         not realize they were supposed to unsubscribe from that channel
+         that just hung up. Review:
+         https://reviewboard.asterisk.org/r/3710/ #ASTERISK-23939 #close
+         ........ Merged revisions 418089 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-07 01:22 +0000 [r418067-418084]  Kinsey Moore <kmoore@digium.com>
+
+       * tests/test_cel.c, main/cel.c, channels/chan_pjsip.c,
+         res/res_pjsip_session.c, /: CEL: Fix incorrect/missing extra
+         field information This corrects two issues with the extra field
+         information in Asterisk 12+ in channel event logs. It is possible
+         to inject custom values into the dialstatus provided by
+         ast_channel_dial_type() Stasis messages that fall outside the
+         enumeration allowed for the DIALSTATUS channel variable. CEL now
+         filters for the allowed values and ignores other values. The
+         "hangupsource" extra field key is always blank if the far end
+         channel is a chan_pjsip channel. This is because the hangupsource
+         is never set for the pjsip channel driver. This change sets the
+         hangupsource whenever a hangup is queued for chan_pjsip channels.
+         This corrects an issue with the pjsip channel driver where the
+         hangupcause information was not being set properly. Review:
+         https://reviewboard.asterisk.org/r/3690/ ........ Merged
+         revisions 418071 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/http.c: HTTP: Fix build for gcc 4.10 ........ Merged
+         revisions 418066 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-04 15:26 +0000 [r418019-418050]  Matthew Jordan <mjordan@digium.com>
+
+       * main/Makefile: main/Makefile: fix compilation error of buildinfo
+         occurring on 'make install' Egads. Another bad deletion of too
+         much when attempting to remove h323 stuff.
+
+       * configure.ac, build_tools/menuselect-deps.in, configure,
+         main/Makefile: configure: Remove last vestiges of h323; DO create
+         menuselect-deps The previous patch (r418034) fixed the 'glitch'
+         that the channels/h323 Makefile no longer existed. Unfortunately,
+         removing the entire line was a bit of a blunder, as it meant that
+         build_tools/menuselect-deps was never generated. Hilarity ensued
+         when actually trying to compile. But hey! At least configure
+         worked. This patch fixes *that* glitch, and removes some more of
+         the vestiges of h323. (It had tendrils in the main Makefile?
+         Crazy.)
+
+       * configure.ac, configure: configure: Update script to pass if
+         channels/h323/Makefile.in does not exist This simply removes that
+         check from the configure script, as r418019 removed chan_h323.
+
+       * apps/app_dahdibarge.c (removed), configs/gtalk.conf.sample
+         (removed), main/pbx.c, apps/app_readfile.c (removed),
+         channels/chan_sip.c, configs/jingle.conf.sample (removed),
+         UPGRADE.txt, res/res_musiconhold.c, channels/chan_gtalk.c
+         (removed), channels/Makefile, CHANGES, res/res_jabber.c
+         (removed), channels/h323 (removed), utils/conf2ael.c,
+         channels/chan_jingle.c (removed), res/ael/pval.c,
+         configs/jabber.conf.sample (removed),
+         configs/asterisk.conf.sample, res/res_agi.c, channels/chan_h323.c
+         (removed), addons/Makefile, pbx/pbx_realtime.c, utils/ael_main.c,
+         include/asterisk/options.h, main/asterisk.c,
+         addons/app_saycountpl.c (removed): Remove many deprecated modules
+         Billing records are fair, To get paid is quite bright, You should
+         really use ODBC; Good-bye cdr_sqlite. Microsoft did once push
+         H.323, Hell, we all remember NetMeeting. But try to compile
+         chan_h323 now And you will take quite a beating. The XMPP and SIP
+         war was fierce, And in the distant fray Was birthed
+         res_jabber/chan_jingle; But neither to stay. For everyone did
+         care and chase what Google professed. "Free Internet Calling" was
+         what devotees cried, But Google did change the specs so often
+         That the developers were happy the day chan_gtalk died. And then
+         there was that odd application Dedicated to the Polish tongue.
+         app_saycountpl was subsumed by Say; One could say its bell was
+         rung. To read and parse a file from the dialplan You could (I
+         guess) use an application. app_readfile did fill that purpose,
+         but I think A function is perhaps better in its creation. Barging
+         is rude, I'm not sure why we do it. Inwardly, the caller will
+         probably sigh. But if you really must do it, Don't use
+         app_dahdibarge, use ChanSpy. We all despise the sound of tinny
+         robots It makes our queues so cold. To control such an
+         abomination It's better to not use Wait/SetMusicOnHold. It's
+         often nice to know properties of a channel It makes our calls
+         right We have a nice function called CHANNEL And so SIPCHANINFO
+         is sent off into the night. And now things get odd; Apparently
+         one could delimit with a colon Properties from the SIPPEER
+         function! Commas are in; all others are done. Finally, a word on
+         pipes and commas. We're sorry. We can't say it enough. But those
+         compatibility options in asterisk.conf; To maintain them forever
+         was just too tough. This patch removes: * cdr_sqlite * chan_gtalk
+         * chan_jingle * chan_h323 * res_jabber * app_saycountpl *
+         app_readfile * app_dahdibarge It removes the following
+         applications/functions: * WaitMusicOnHold * SetMusicOnHold *
+         SIPCHANINFO It removes the colon delimiter from the SIPPEER
+         function. Finally, it also removes all compatibility options that
+         were configurable from asterisk.conf, as these all applied to
+         compatibility with Asterisk 1.4 systems. Review:
+         https://reviewboard.asterisk.org/r/3698/
+
+2014-07-03 22:22 +0000 [r417933-417976]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/sig_pri.h, channels/chan_dahdi.c,
+         configs/chan_dahdi.conf.sample, /, UPGRADE.txt,
+         channels/sig_pri.c: chan_dahdi: Add inband_on_setup_ack
+         compatibility option. The new inband_on_setup_ack option causes
+         Asterisk to assume inband audio may be present when a
+         SETUP_ACKNOWLEDGE message is received. Q.931 Section 5.1.3 says
+         that in scenarios with overlap dialing, when a dialtone is sent
+         from the network side, progress indicator 8 "Inband info now
+         available" MAY be sent to the CPE if no digits were received with
+         the SETUP. It is thus implied that the ie is mandatory if digits
+         came with the SETUP and dialtone is needed. This option should be
+         enabled, when the network sends dialtone and you want to hear it,
+         but the network doesn't send the progress indicator when needed.
+         NOTE: For Q.SIG setups this option should be enabled when
+         outgoing overlap dialing is also enabled because Q.SIG does not
+         send the progress indicator with the SETUP ACK. The commit
+         -r413714 (AST-1338) which causes this issue was dealing with a
+         SIP-to-ISDN interoperability issue. This commit is a merge of the
+         two patches indicated below. ASTERISK-23897 #close Reported by:
+         Pavel Troller Patches: pri-4.diff (license #6302) patch uploaded
+         by Pavel Troller jira_asterisk_23897_v11.patch (license #5621)
+         patch uploaded by rmudgett Review:
+         https://reviewboard.asterisk.org/r/3633/ ........ Merged
+         revisions 417956 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 417957 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417958 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/ari/resource_channels.c, res/res_ari.c, main/manager.c, /:
+         res_ari: Fix some off-nominal paths just dropping the HTTP
+         connection. * Removed some incorrect newlines on ast_http_error()
+         messages in manager.c. * Removed an incorrect newline in
+         res_ari_channels.c. Addendum to ASTERISK-23552 ........ Merged
+         revisions 417932 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-03 17:34 +0000 [r417910-417916]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES, channels/chan_dahdi.c: chan_dahdi: Add AMI commands for
+         controlling PRI debugging output Adds the following AMI commands:
+         PRIDebugSet - Set PRI debug levels for a specific span
+         PRIDebugFileSet - Set the file used for PRI debug message output
+         PRIDebugFileUnset - Disables file output for PRI debug messages
+         Review: https://reviewboard.asterisk.org/r/3681/
+
+       * CHANGES, pbx/pbx_config.c, main/pbx.c: pbx_config: Add manager
+         actions to add/remove extensions Adds two new manager commands to
+         pbx_config - DialplanExtensionAdd and DialplanExtensionRemove
+         which allow manager users to create and delete extensions
+         respectively. Review: https://reviewboard.asterisk.org/r/3650/
+
+2014-07-03 17:16 +0000 [r417901]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_phoneprov.c, main/http.c, UPGRADE.txt,
+         include/asterisk/tcptls.h, res/res_http_post.c,
+         res/res_http_websocket.c, configs/http.conf.sample,
+         include/asterisk/http.h, main/tcptls.c, res/res_ari.c,
+         main/manager.c, /: HTTP: Add persistent connection support.
+         Persistent HTTP connection support is needed due to the increased
+         usage of the Asterisk core HTTP transport and the frequency at
+         which REST API calls are going to be issued. * Add http.conf
+         session_keep_alive option to enable persistent connections. *
+         Parse and discard optional chunked body extension information and
+         trailing request headers. * Increased the maximum
+         application/json and application/x-www-form-urlencoded body size
+         allowed to 4k. The previous 1k was kind of small. * Removed a
+         couple inlined versions of ast_http_manid_from_vars() by calling
+         the function. manager.c:generic_http_callback() and
+         res_http_post.c:http_post_callback() * Add missing va_end() in
+         ast_ari_response_error(). * Eliminated unnecessary RAII_VAR() use
+         in http.c:auth_create(). ASTERISK-23552 #close Reported by: Scott
+         Griepentrog Review: https://reviewboard.asterisk.org/r/3691/
+         ........ Merged revisions 417880 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-03 16:55 +0000 [r417900]  Matthew Jordan <mjordan@digium.com>
+
+       * main/tcptls.c, configure, include/asterisk/autoconfig.h.in,
+         configure.ac: main/tcptls: Add checks for OpenSSL Elliptic Curve
+         support The patch for ASTERISK-23905 that added PFS support in
+         Asterisk depends on the elliptic curve library support being
+         present in OpenSSL. As it turns out, some versions of OpenSSL
+         don't have this library - notably the version running on our
+         build agents. This patch fixes the build by providing a configure
+         check for the specific library calls that the PFS patch relies
+         on. Review: https://reviewboard.asterisk.org/r/3709/
+
+2014-07-03 16:14 +0000 [r417877-417879]  sgalarneau <sgalarneau@localhost>:
+
+       * res/ari/resource_events.h, rest-api/api-docs/channels.json,
+         res/ari/resource_channels.h, rest-api/api-docs/events.json, /:
+         ARI: Improvements to body parameters documentation The variables
+         body parameter under the originate and originate with id
+         operations of the channel resource showed invalid JSON in its
+         description. The variables body parameter under the userEvent
+         operation of the event resource made no mention that the custom
+         key/value pairs should be wrapped in a variables key in order to
+         be added to the custom user event. ASTERISK-23975 #close Review:
+         https://reviewboard.asterisk.org/r/3692/ ........ Merged
+         revisions 417878 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * rest-api-templates/api.wiki.mustache,
+         rest-api-templates/swagger_model.py, /: api.wiki.mustache: Update
+         wiki template to support body parameters This patch updates the
+         api.wiki.mustache template and the swagger_model python script to
+         understand if an operation has a body parameter. If an operation
+         does have a body parameter, it will now be displayed in the
+         corresponding wiki entry. ........ Merged revisions 407389 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-03 14:08 +0000 [r417863]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * Makefile, contrib/scripts/dahdi_span_config_hook (added):
+         dahdi_span_config_hook: automatically register new dahdi channels
+         Install a hook script for DAHDI to register new spans with
+         Asterisk automatically by running: asterisk -rx 'dahdi create
+         channel FIRST LAST' Review:
+         https://reviewboard.asterisk.org/r/3157/
+
+2014-07-03 12:10 +0000 [r417800-417803]  Matthew Jordan <mjordan@digium.com>
+
+       * main/tcptls.c, CHANGES: main/tcptls: Add support for Perfect
+         Forward Secrecy This patch enables Perfect Forward Secrecy (PFS)
+         in Asterisk's core TLS API. Modules that wish to enable PFS
+         should consider the following: - Ephemeral ECDH (ECDHE) is
+         enabled by default. To disable it, do not specify a ECDHE cipher
+         suite in a module's configuration, for example:
+         tlscipher=AES128-SHA:DES-CBC3-SHA - Ephemeral DH (DHE) is
+         disabled by default. To enable it, add DH parameters into the
+         private key file, i.e., tlsprivatekey. For an example, see the
+         default dh2048.pem at
+         http://www.opensource.apple.com/source/OpenSSL098/OpenSSL098-35.1/src/apps/dh2048.pem?txt
+         - Because clients expect the server to prefer PFS, and because
+         OpenSSL sorts its cipher suites by bit strength, (see "openssl
+         ciphers -v DEFAULT") consider re-ordering your cipher suites in
+         the conf file. For example:
+         tlscipher=AES128+kEECDH:AES128+kEDH:3DES+kEDH:AES128-SHA:DES-CBC3-SHA:-ADH:-AECDH
+         will use PFS when offered by the client. Clients which do not
+         offer PFS fall-back to AES-128 (or even 3DES as recommend by RFC
+         3261). Review: https://reviewboard.asterisk.org/r/3647/
+         ASTERISK-23905 #close Reported by: Alexander Traud patches:
+         tlsPFS_for_HEAD.patch uploaded by Alexander Traud (License 6520)
+         tlsPFS.patch uploaded by Alexander Traud (License 6520)
+
+       * /, main/utils.c: main/untils: Prevent potential infinite loop in
+         ast_careful_fwrite A loop in ast_careful_fwrite exists that will
+         continually attempt to write to a file stream, even in the
+         presence of EAGAIN/EINTR errors. However, if a connection that
+         uses ast_careful_fwrite closes suddenly, ast_careful_fwrite's
+         call to fflush may return EAGAIN/EINTER along with EOF. A
+         subsequent call to fflush will return EOF but not clear errno,
+         resulting in an infinite loop. This patch clears errno after it
+         is detected and handled the loop, such that any subsequent call
+         to fflush will not get erroneously stuck. Review:
+         https://reviewboard.asterisk.org/r/3704 #ASTERISK-23984 #close
+         Reported by: Steve Davies patches: fflush_loop_fix uploaded by
+         one47 (License 5012) ........ Merged revisions 417797 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 417798 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417799 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-02 21:13 +0000 [r417770]  Jonathan Rose <jrose@digium.com>
+
+       * res/ari/resource_events.h, res/ari/resource_asterisk.h,
+         res/ari/resource_applications.h, res/ari/resource_playbacks.h,
+         res/ari/resource_channels.h, res/ari/resource_sounds.h, /,
+         res/ari/resource_bridges.h, res/ari/resource_recordings.h,
+         rest-api-templates/ari_resource.h.mustache,
+         res/ari/resource_device_states.h, res/ari/resource_endpoints.h,
+         res/ari/resource_mailboxes.h: ARI: Remove unnecessary \briefs
+         from automatically generated documentation Review:
+         https://reviewboard.asterisk.org/r/3440/ ........ Merged
+         revisions 412653 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-07-01 14:42 +0000 [r417679-417706]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Don't leak memory or
+         reset state if DTLS configuration is set multiple times. ........
+         Merged revisions 417705 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_rtp_asterisk.c,
+         contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py
+         (added), include/asterisk/res_pjsip_session.h, main/rtp_engine.c,
+         /, channels/chan_sip.c, main/sdp_srtp.c, res/res_pjsip_sdp_rtp.c,
+         res/res_pjsip/pjsip_configuration.c, configs/sip.conf.sample,
+         include/asterisk/rtp_engine.h, res/res_pjsip.c,
+         channels/sip/include/sip.h, include/asterisk/res_pjsip.h,
+         include/asterisk/sdp_srtp.h: Recorded merge of revisions 417677
+         from http://svn.asterisk.org/svn/asterisk/branches/11 ........
+         res_rtp_asterisk: Add SHA-256 support for DTLS and perform DTLS
+         negotiation on RTCP. This change fixes up DTLS support in
+         res_rtp_asterisk so it can accept and provide a SHA-256
+         fingerprint, so it occurs on RTCP, and so it occurs after ICE
+         negotiation completes. Configuration options to chan_sip and
+         chan_pjsip have also been added to allow behavior to be tweaked
+         (such as forcing the AVP type media transports in SDP).
+         ASTERISK-22961 #close Reported by: Jay Jideliov Review:
+         https://reviewboard.asterisk.org/r/3679/ Review:
+         https://reviewboard.asterisk.org/r/3686/ ........ Merged
+         revisions 417678 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-30 18:39 +0000 [r417663]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pubsub.c: Reverse logic during subscription
+         persistence recreation. In the abstraction effort, this bit of
+         logic got messed up. We want to recreate the persistence if
+         things go well, not if things fail.
+
+2014-06-30 13:02 +0000 [r417590-417649]  Matthew Jordan <mjordan@digium.com>
+
+       * apps/app_voicemail.c: apps/app_voicemail: Fix compilation error
+         introduced in r417591 Not sure why that change to
+         ast_channel_alloc was made but ... okay.
+
+       * apps/app_voicemail.c, main/say.c, CHANGES: app_voicemail, say:
+         Add support for Japanese Language This patch adds support for the
+         Japanese language to both the say family of applications, as well
+         as for VoiceMail and VoiceMailMain. A new pack of language sounds
+         will be released at the same time as the next major version of
+         Asterisk to support the new language features. The language
+         features can be enabled using a language code of 'ja'. Review:
+         https://reviewboard.asterisk.org/r/3477 ASTERISK-23324 #close
+         Reported by: Kevin McCoy patches:
+         app_voicemail.c.20140226.jb.patch uploaded by Kevin McCoy
+         (License 6586) say.c.20140226.jb.patch uploaded by Kevin McCoy
+         (License 6586)
+
+       * /, channels/chan_sip.c: chan_sip: be more tolerant of whitespace
+         between attributes in SDP fmtp line This patch is essentially a
+         backport of a small portion of r397526 from ASTERISK-21981. In
+         that patch, pass through support and format attribute negotiation
+         was added for Opus. Part of that included being more tolerant to
+         whitespace in the fmtp line of an SDP; that part of the patch is
+         being applied here. As the author of the backport pointed out, in
+         SDP, the fmtp line is allowed to include whitespace between
+         attributes. RFC 3267 chapter 8.3 (from 2001) includes an example
+         for this. This was not removed in the updated RFC 4867 in 2007.
+         Review: https://reviewboard.asterisk.org/r/3658 #ASTERISK-23916
+         #close Reported by: Alexander Traud patches:
+         sdpFMTPspace_Asterisk11.patch uploaded by Alexander Traud
+         (License 6520) ........ Merged revisions 417587 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 417588 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417589 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-27 23:21 +0000 [r417571]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/event.c: event.c: Fix type mismatch errors in ie_maps[].
+         In v12+ the type values from the table are only used by the CEL
+         unit tests. Since the unit tests were only comparing a generated
+         expected event with a real event to see if the ie contents
+         matched and using the same table IE_PLTYPE values to read the
+         event contents, the type mismatches were not detected. ........
+         Merged revisions 417565 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-27 19:27 +0000 [r417485-417511]  Corey Farrell <git@cfware.com>
+
+       * /, main/astobj2.c: Ensure REF_DEBUG records entrys for attempts
+         to ao2_ref an invalid object This change ensures that
+         __ao2_ref_debug writes to ref_log when given a non-NULL pointer
+         to an invalid ao2 object. This is to ensure that we record any
+         attempt manipulate references of already freed objects.
+         ASTERISK-23948 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3677/ ........ Merged
+         revisions 417500 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 417505 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417509 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, contrib/scripts/refcounter.py: refcounter.py: prevent use of
+         excessive RAM with large refs logs When processing a 212MB refs
+         file, refcounter.py used over 3GB of RAM. This change greatly
+         reduces memory usage in two ways: * Saving object history in
+         whole lines instead of separated values. * Not saving
+         normal/skewed/leaked object lists unless they are requested.
+         ASTERISK-23921 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3668/ ........ Merged
+         revisions 417480 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 417481 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417483 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-27 13:50 +0000 [r417461]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip/pjsip_configuration.c, res/res_pjsip_pubsub.c,
+         res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h, /,
+         res/res_pjsip_outbound_registration.c: res_pjsip: Add ActionID to
+         events created as a result of PJSIP AMI actions A number of
+         various PJSIP AMI actions were failing to parse out and place the
+         ActionID into their responses. This patch updates the various
+         PJSIP actions such that the passed in ActionID is emitted on any
+         event list complete events, as well as any intermediate events
+         created as a result of the action. #ASTERISK-23947 #close
+         Reported by: Mark Michelson Review:
+         https://reviewboard.asterisk.org/r/3675/ ........ Merged
+         revisions 417460 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-27 02:04 +0000 [r417423-417447]  Kinsey Moore <kmoore@digium.com>
+
+       * tests/test_cel.c: CEL: Update unit tests for bridge tech field
+         Update the CEL unit tests that handle BRIDGE_ENTER and
+         BRIDGE_EXIT events to expect the "bridge_technology" extra field
+         key.
+
+       * CHANGES: CHANGES: Add missing changes Add missing CHANGES changes
+         from r417361 and r417383.
+
+2014-06-26 18:27 +0000 [r417400-417421]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_http_websocket.exports.in, /: res_http_websocket: Export
+         symbol for ast_websocket_set_timeout Thanks to Sean Bright for
+         pointing out that this was missed in #asterisk-dev. ........
+         Merged revisions 417419 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417420 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_pjsip.c, /: chan_pjsip: Add a test event for fast
+         picture updates This will drive the test on review r3419. Note
+         that the patch for this was done by Ben Ford, although it was
+         slightly modified for this commit. ASTERISK-23562 Reported by:
+         Matt Jordan ........ Merged revisions 417399 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-26 14:48 +0000 [r417361-417383]  Kinsey Moore <kmoore@digium.com>
+
+       * main/cel.c: CEL: Add bridge tech to relevant CEL records Add the
+         "bridge_technology" extra field key to BRIDGE_ENTER and
+         BRIDGE_EXIT CEL events to convey the bridge technology in use at
+         the time the record was generated.
+
+       * main/bridge.c, include/asterisk/channel.h,
+         include/asterisk/bridge_features.h,
+         tests/test_channel_feature_hooks.c (added),
+         main/bridge_channel.c, main/channel.c: Bridging: Allow channels
+         to define bridging hooks This patch allows the current owner of a
+         channel to define various feature hooks to be made available once
+         the channel has entered a bridge. This includes any hooks that
+         are setup on the ast_bridge_features struct such as DTMF hooks,
+         bridge event hooks (join, leave, etc.), and interval hooks.
+         Review: https://reviewboard.asterisk.org/r/3649/
+
+2014-06-26 12:43 +0000 [r417317-417360]  Matthew Jordan <mjordan@digium.com>
+
+       * CHANGES, apps/app_jack.c: app_jack: Support audio with a sampling
+         rate higher than 8kHz This patch enables the jack-audiohook to
+         cope with dynamic sampling rates from and to Asterisk.
+         Information from the channel is taken to derive the channel's
+         sampling rate, suiting SLINxx format and frame->datalen. There
+         are stil a few limitations after this patch: * Required
+         information is taken from the channel during initialization as
+         the audiohook does not provide this information.
+         Audiohook.internal_sampl_rate(...) is set later, but no callback
+         is available to inform app_jack. * Frame.datalen is computed
+         using "rate / 50" assuming a ptime of 20ms. There is no internal
+         API available to determine datalen for a SLINxx. * Ringbuffer
+         size is now dynamic depending on the value of frame.datalen (see
+         above) and the number of frames, which are in
+         RINGBUFFER_FRAME_CAPACITY, that need to fit. Review:
+         https://reviewboard.asterisk.org/r/3618 Note that the patch being
+         committed here is based on the patch posted on ASTERISK-23836.
+         However, Matthis Schmieder also provided a patch to enable this
+         functionality, and that patch is noted below. ASTERISK-20696
+         #close Reported by: Matthis Schmieder patches: app_jack.patch
+         uploaded by Matthis Schmieder (License 6445) ASTERISK-23836
+         #close Reported by: Dennis Guse patches: patch-app_jack.c
+         uploaded by Dennis Guse (License 6513)
+
+       * main/udptl.c, /: udptl: Correct FEC to not consider negative
+         sequence numbers as missing When using FEC, with span=3 and
+         entries=4 Asterisk will attempt to repair the packet with
+         sequence number 5, as it will see that packet -4 is missing. The
+         result is Asterisk sending garbage packets that can kill a fax.
+         This patch adds a check to see if the sequence number is valid
+         before checking if the packet is missing. Review:
+         https://reviewboard.asterisk.org/r/3657/ #ASTERISK-23908 #close
+         Reported by: Torrey Searle patches: udptl_fec.patch uploaded by
+         Torrey Searle (License 5334) ........ Merged revisions 417318
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 417320 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417324 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/ari/internal.h, configs/ari.conf.sample,
+         res/res_http_websocket.c, res/res_pjsip.c,
+         configs/pjsip.conf.sample, include/asterisk/http_websocket.h,
+         configs/sip.conf.sample, res/res_pjsip/config_transport.c,
+         res/ari/ari_websockets.c, res/res_pjsip_transport_websocket.c,
+         res/ari/config.c, channels/sip/include/sip.h,
+         include/asterisk/res_pjsip.h, res/res_ari.c, /,
+         channels/chan_sip.c, UPGRADE.txt: res_http_websocket: Close
+         websocket correctly and use careful fwrite When a client takes a
+         long time to process information received from Asterisk, a write
+         operation using fwrite may fail to write all information. This
+         causes the underlying file stream to be in an unknown state, such
+         that the socket must be disconnected. Unfortunately, there are
+         two problems with this in Asterisk's existing websocket code: 1.
+         Periodically, during the read loop, Asterisk must write to the
+         connected websocket to respond to pings. As such, Asterisk
+         maintains a reference to the session during the loop. When
+         ast_http_websocket_write fails, it may cause the session to
+         decrement its ref count, but this in and of itself does not break
+         the read loop. The read loop's write, on the other hand, does not
+         break the loop if it fails. This causes the socket to get in a
+         'stuck' state, preventing the client from reconnecting to the
+         server. 2. More importantly, however, is that the fwrite in
+         ast_http_websocket_write fails with a large volume of data when
+         the client takes awhile to process the information. When it does
+         fail, it fails writing only a portion of the bytes. With some
+         debugging, it was shown that this was failing in a similar
+         fashion to ASTERISK-12767. Switching this over to
+         ast_careful_fwrite with a long enough timeout solved the problem.
+         Note that this version of the patch, unlike r417310 in Asterisk
+         11, exposes configuration options beyond just chan_sip's
+         sip.conf. Configuration options to configure the write timeout
+         have also been added to pjsip.conf and ari.conf. #ASTERISK-23917
+         #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3624/ ........ Merged
+         revisions 417310 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417311 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-26 10:06 +0000 [r417251]  Corey Farrell <git@cfware.com>
+
+       * /, channels/chan_sip.c: chan_sip: Fix handling of "From" headers
+         longer than 256 characters From headers were processed using a
+         256 character buffer on the stack. This change replaces that with
+         a heap allocation by ast_strdup. ASTERISK-23790 #close Reported
+         by: uniken1 Tested by: uniken1 Review:
+         https://reviewboard.asterisk.org/r/3669/ Patches:
+         chan_sip-large-from-header-1.8-r3.patch uploaded by wdoekes
+         (license 5674) ........ Merged revisions 417248 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 417249 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 417250 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-25 20:57 +0000 [r417233]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pubsub.c, res/res_pjsip_exten_state.c,
+         include/asterisk/res_pjsip_pubsub.h,
+         res/res_pjsip_pidf_body_generator.c,
+         res/res_pjsip_pubsub.exports.in, res/res_pjsip_mwi.c,
+         res/res_pjsip_xpidf_body_generator.c: Abstract PJSIP-specific
+         elements from the pubsub API. This helps to pave the way for RLS
+         work that is to come. Since this is a self-contained change and
+         subscription tests still pass, this work is being committed
+         directly to trunk instead of a working branch. ASTERISK-23865
+         #close Review: https://reviewboard.asterisk.org/r/3628
+
+2014-06-25 18:57 +0000 [r417213]  Corey Farrell <git@cfware.com>
+
+       * main/astobj2_container.c, /: ao2_container node object ignores
+         REF_DEBUG in all places except one Almost every reference
+         operation against container node's uses __ao2_alloc or __ao2_ref,
+         thereby preventing ref logging for the nodes. One node reference
+         is released with ao2_t_ref, causing refcounter.py to falsely
+         report skews and leaks for many nodes. ASTERISK-23922 #close
+         Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3670/ ........ Merged
+         revisions 417212 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-25 00:45 +0000 [r417193]  Damien Wedhorn <voip@facts.com.au>
+
+       * channels/chan_skinny.c: Skinny: cleanup some log messages around
+         sessions.
+
+2014-06-24 02:50 +0000 [r417167]  Corey Farrell <git@cfware.com>
+
+       * include/asterisk/netsock.h, main/utils.c, main/netsock.c,
+         include/asterisk/res_pjsip_session.h: Move eid functions to
+         utils.c, mark netsock.h deprecated Move eid functions from
+         netsock.c to utils.c. These functions were already published by
+         utils.h. Flag netsock.h as deprecated and switch
+         res_pjsip_session.h to use netsock2.h. The only code that still
+         uses netsock.h is chan_iax2. ASTERISK-23920 #close Reported by:
+         Corey Farrell Review: https://reviewboard.asterisk.org/r/3661/
+
+2014-06-23 18:50 +0000 [r417143]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Return the length of
+         data written when sending via ICE instead of 0. ASTERISK-23834
+         #close Reported by: Richard Kenner ........ Merged revisions
+         417141 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........ Merged revisions 417142 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-23 16:04 +0000 [r417120]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/core_unreal.c: core_unreal: Fix off by one buffer
+         overwrite error. Appending the ;2 to the user supplied ;1
+         uniqueid to create the ;2 version if the user did not also supply
+         an extra uniqueid for the ;2 channel resulted in allocating a
+         buffer that was one byte too small. * Fix off by one error in
+         ast_unreal_new_channels() when generating the ;2 uniqueid from
+         the user suppled ;1 version. * Pulled some long assignment lines
+         from if tests to improve line break readability in
+         ast_unreal_new_channels(). ........ Merged revisions 417119 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-23 07:44 +0000 [r417059]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c:
+         suspended destructions of pri spans on events If a DAHDI span
+         disappears, we wish for its representation in Asterisk to be
+         destroyed as well. The information about the span's removal may
+         come from several paths: 1. DAHDI sends DAHDI_EVENT_REMOVE on
+         every channel. 2. An extra DAHDI_EVENT_REMOVED is sent on every
+         subsequent call to DAHDI_GET_EVENT. 3. Every read (including the
+         internal one by libpri on the D-channel) returns -ENODEV.
+         Asterisk responsds to DAHDI_EVENT_REMOVE on a channel by
+         destroying it. Destroying a channel requires holding the channel
+         list lock (iflock). Destroying a channel that is part of a span
+         requires holding the span's lock. Destroying a channel from a
+         context that holds the span lock, while at the same time another
+         channel is destroyed directly, leads to a deadlock. Solution:
+         don't destroy span while holding the channels list lock. Thus
+         changes in this patch: * Deferring removal of PRI spans in
+         response to events: doomed spans are collected on a list. *
+         Doomed spans are removed periodically by the monitor thread. *
+         ENODEV reads from the D-channel will warant the same deferred
+         removal. Review: https://reviewboard.asterisk.org/r/3548/
+
+2014-06-22 18:53 +0000 [r416996]  George Joseph <george.joseph@fairview5.com>
+
+       * include/asterisk/astobj2.h, Makefile.rules, Makefile, /: astobj2:
+         Add an ao2_replace macro to astobj2.h This macro replaces one
+         object reference with another cleaning up the original. param dst
+         Pointer to the object that will be cleaned up. param src Pointer
+         to the object replacing it. src's ref count is bumped if it's
+         non-NULL. dst's ref count is decremented if it's non-NULL. src is
+         assigned to dst, This patch was reviewed on IRC by coreyfarrell
+         and mjordan. Tested by: George Joseph ........ Merged revisions
+         416995 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-20 23:18 +0000 [r416872-416935]  George Joseph <george.joseph@fairview5.com>
+
+       * /, configure, include/asterisk/autoconfig.h.in: build: Allow
+         autoconf/ast_ext_tool_check to handle cross-compiling better.
+         ast_ext_tool_check.m4 isn't handling cases where a path to a
+         package is provided (E.G. --with-mysqlclient=/some/sysroot) and
+         the package has a config tool (E.G. mysql_config) and the package
+         has its own subdirectories in include or lib. For example,
+         mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
+         ast_ext_tool_check sets MYSQLCLIENT_LIB to
+         ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
+         includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
+         directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
+         fail and there are others in the same boat. The problem is caused
+         by logic in ast_ext_tool_check that overrides the result of the
+         config tool's --cflags and --libs options if package_DIR is set.
+         This patch prepends package_DIR (if specified) to the -L and -I
+         results from the package's config tool instead of overriding
+         them. A regenerated ./configure and
+         include/asterisk/autoconfig.h.in are included but can be
+         regenerated by running ./bootstrap.sh at any time. Tested by:
+         George Joseph Tested by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3550/ ........ Merged
+         revisions 416929 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 416930 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416931 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * autoconf/ast_ext_tool_check.m4, /: build: Allow
+         autoconf/ast_ext_tool_check to handle cross-compiling better.
+         ast_ext_tool_check.m4 isn't handling cases where a path to a
+         package is provided (E.G. --with-mysqlclient=/some/sysroot) and
+         the package has a config tool (E.G. mysql_config) and the package
+         has its own subdirectories in include or lib. For example,
+         mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
+         ast_ext_tool_check sets MYSQLCLIENT_LIB to
+         ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
+         includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
+         directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
+         fail and there are others in the same boat. The problem is caused
+         by logic in ast_ext_tool_check that overrides the result of the
+         config tool's --cflags and --libs options if package_DIR is set.
+         This patch prepends package_DIR (if specified) to the -L and -I
+         results from the package's config tool instead of overriding
+         them. Tested by: George Joseph Tested by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3550/ ........ Merged
+         revisions 416870 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416871 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-20 20:57 +0000 [r416848-416850]  Jonathan Rose <jrose@digium.com>
+
+       * res/parking/parking_manager.c, /: res_parking: Make manager
+         commands register with module information Previously module
+         information was not included due to an oversight. Review:
+         https://reviewboard.asterisk.org/r/3626/ ........ Merged
+         revisions 416849 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/logger.c, CHANGES, include/asterisk/logger.h,
+         main/manager.c: Logger: Add manager command 'LoggerRotate' to
+         rotate logger Part of a series of AMI command equivalents to
+         existing CLI commands Review:
+         https://reviewboard.asterisk.org/r/3651/
+
+2014-06-20 17:06 +0000 [r416830]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_voicemail.c, include/asterisk/app.h, main/app.c,
+         apps/app_directory.c, apps/app_chanspy.c: voicemail API
+         callbacks: Extract the sayname API call to its own registerd
+         callback. * Extract the sayname API call to its own registerd
+         callback. This allows the app_directory and app_chanspy
+         applications to say a mailbox owner's name using an alternate
+         provider when app_voicemail is not available because you are
+         using res_mwi_external. app_directory still uses the
+         voicemail.conf file. AFS-64 #close Reported by: Mark Michelson
+
+2014-06-20 15:27 +0000 [r416738-416807]  George Joseph <george.joseph@fairview5.com>
+
+       * main/astobj2_private.h, main/astobj2_container_private.h,
+         main/astobj2_container.c, main/astobj2_hash.c,
+         main/astobj2_rbtree.c, build_tools/cflags.xml, /,
+         tests/test_astobj2.c: astobj2: Additional refactoring to push
+         impl specific code down into the impls. Move some implementation
+         specific code from astobj2_container.c into astobj2_hash.c and
+         astobj2_rbtree.c. This completely removes the need for
+         astobj2_container to switch on RTTI and it no longer has any
+         knowledge of the implementation details. Also adds AO2_DEBUG as a
+         new compile option in menuselect which controls astobj2 debugging
+         independently of AST_DEVMODE and REF_DEBUG. Tested by: George
+         Joseph Review: https://reviewboard.asterisk.org/r/3593/ ........
+         Merged revisions 416806 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_endpoint_identifier_ip.c, main/acl.c,
+         include/asterisk/netsock2.h, include/asterisk/acl.h,
+         main/netsock2.c: pjsip cli: Change Identify to show CIDR notation
+         instead of netmasks. * Added ast_sockaddr_cidr_bits() to count
+         the 1 bits in an ast_sockaddr. * Added ast_ha_join_cidr() which
+         uses ast_sockaddr_cidr_bits() for the netmask instead of
+         ast_sockaddr_stringify_addr. * Changed
+         res_pjsip_endpoint_identifier_ip to call ast_ha_join_cidr()
+         instead of ast_ha_join() for the CLI output. This is a CLI change
+         only. AMI was not affected. Tested by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3652/ ........ Merged
+         revisions 416737 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-19 19:40 +0000 [r416736]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/bridge.c, res/parking/parking_tests.c,
+         channels/sip/reqresp_parser.c, main/logger.c, main/test.c: Fix
+         build warnings with TEST_FRAMEWORK enabled ........ Merged
+         revisions 416732 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 416733 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416734 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-19 16:04 +0000 [r416589-416670]  George Joseph <george.joseph@fairview5.com>
+
+       * pbx/pbx_lua.c, /: Remove the problematic and unneeded
+         AST_MODFLAG_GLOBAL_SYMBOLS from pbx_lua.c
+         AST_MODFLAG_GLOBAL_SYMBOLS was causing the module to be
+         incorrectly loaded before pbx_config. pbx_config was therefore
+         blowing away contexts that were created by pbx_lua. With
+         AST_MODFLAG_DEFAULT the load order is now correct and contexs are
+         being properly merged. AST_MODFLAG_GLOBAL_SYMBOLS was not needed
+         anyway since no other modules needed its global symbols that
+         early. ASTERISK-23818 #close Reported by: Dennis Guse Tested by:
+         Dennis Guse Tested by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3629/ ........ Merged
+         revisions 416668 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416669 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * configs/extensions.lua.sample, /: Update extensions.lua.sample
+         with naming conflict guidance. The sample extensions.lua was
+         causing pbx_lua to fail to load when parsing 'app.goto("default",
+         "s", 1)' because in Lua 5.2, 'goto' is now a reserved word. This
+         patch adds guidance to extensions.lua.sample and changed
+         'app.goto("default", "s", 1)' to 'app.['goto']("default", "s",
+         1)'. ASTERISK-23844 #close Reported by: rnewton Tested by:
+         gtjoseph Review: https://reviewboard.asterisk.org/r/3627/
+         ........ Merged revisions 416581 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416582 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-18 04:22 +0000 [r416561]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/stasis_channels.c: stasis_channels: Update the stasis
+         cache if manager variables are needed In r416211, the publishing
+         of variable changes was modified such that a cached channel
+         snapshot was used if manager variables were not requested with
+         each AMI event. This was done to reduce the amount of channel
+         snapshots created. However, an assumption was made that
+         generating a channel snapshot and publishing the snapshot to the
+         channel topic was sufficient to ensure that the cache would be
+         updated; this is not the case. The channel snapshot type must be
+         used to force a snapshot update. This patch updates the
+         publication of channel variables such that the cache is updated
+         prior to publication of the channel variable message if manager
+         variables are in use. This ensures that all AMI events receive
+         the variable update when they are supposed to. Note that this
+         issue was caught by the Asterisk Test Suite (go go testing)
+         ........ Merged revisions 416557 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-17 18:45 +0000 [r416444-416503]  Mark Michelson <mmichelson@digium.com>
+
+       * /, funcs/func_strings.c: Allow the PUSH and UNSHIFT functions to
+         set inheritable channel variables. ........ Merged revisions
+         416500 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 416501 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416502 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_pidf_body_generator.c, /,
+         res/res_pjsip_xpidf_body_generator.c: Fix string growth algorithm
+         for XML presence bodies. pjpidf_print() does not return < 0 if
+         there is not enough room for the document to be printed. Rather,
+         it returns 39, the length of the XML prolog. The algorithm also
+         had a bug in that it would return if it attempted to grow the
+         string larger. ........ Merged revisions 416442 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-17 16:33 +0000 [r416443]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_musiconhold.c, /: MoH: Don't restart stream on repeated
+         start calls Currently, music on hold will stop and then start
+         again from the beginning if ast_moh_start() is called multiple
+         times. This can happen if a call is put on hold repeatedly (the
+         channel receives multiple HOLD control frames) and can be
+         triggered from ARI by starting MoH on a channel multiple times.
+         This is fairly jarring/annoying to users. This change prevents
+         MoH from being restarted if the requested music class is the same
+         as the one currently playing. This includes an extra check to
+         prevent the errors previously experienced in the testsuite and
+         has 100+ test runs behind it. Review:
+         https://reviewboard.asterisk.org/r/3615/ ........ Merged
+         revisions 416439 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 416440 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416441 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-16 18:27 +0000 [r416416]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
+         channels/sig_ss7.h, configure, channels/chan_dahdi.h,
+         configure.ac, UPGRADE.txt, configs/ss7.timers.sample (added),
+         CHANGES, channels/sig_ss7.c: chan_dahdi: Adds support for major
+         update to libss7. * SS7 support now requires libss7 v2.0 or
+         later. The new libss7 is not backwards compatible. * Added SS7
+         support for connected line and redirecting. * Most SS7 CLI
+         commands are reworked as well as new SS7 commands added. See
+         online CLI help. * Added several SS7 config option parameters
+         described in chan_dahdi.conf.sample. * ISUP timer support
+         reworked and now requires explicit configuration. See
+         ss7.timers.sample. Special thanks to Kaloyan Kovachev for his
+         support and persistence in getting the original patch by adomjan
+         updated and ready for release. SS7-27 #close Reported by: adomjan
+
+2014-06-16 16:22 +0000 [r416394]  Kevin Harwell <kharwell@digium.com>
+
+       * include/asterisk/http_websocket.h, tests/test_websocket_client.c,
+         res/res_http_websocket.c: res_http_websocket: read/write string
+         fixup There was a problem when reading a string from the
+         websocket. It assumed the received data had a null terminator and
+         tried to write the data to an ast_str. This of course could/would
+         read past the end of the given buffer while writing the data to
+         the internal buffer of ast_str. Modified the the code to
+         correctly place a null terminator on the result string.
+
+2014-06-16 09:04 +0000 [r416339]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>
+
+       * cel/cel_sqlite3_custom.c, main/db.c, res/res_config_sqlite3.c,
+         cdr/cdr_sqlite3_custom.c, /: We have faced situation when using
+         CDR and CEL by sqlite3 modules. With system having high load
+         (~100 concurrent calls created by sipp) we found many cdr and cel
+         records missed. There is special finction in sqlite3, that make
+         able to fix this situation - sqlite3_wait_timeout, that also can
+         replace awful code cdr_sqlite3 ad cel_sqlite3 modules. Also this
+         function can be used for aastdb and res_config_sqlite3 to avoid
+         missed writes to sqlite db. #ASTERISK-23766 #close Reported by:
+         Igor Goncharovsky Review:
+         https://reviewboard.asterisk.org/r/3559/ ........ Merged
+         revisions 416336 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 416337 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416338 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-16 02:40 +0000 [r416267-416319]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: channels/chan_sip: Forbid remote bridging
+         if T.38 is negotiated When a framehook is removed - such as the
+         fax gateway framehook - the bridge framework will re-evaluate the
+         bridge mixing technologies to see if it can improve the bridging.
+         When this occurs, get_rtp_info will be called to determine if
+         local or remote bridging can be used. Using remote bridging will
+         cause a fax to fail, as direct media negotiation will cause some
+         small number of packets to not arrive at the remote endpoint.
+         This patch forces local native bridging if T.38 negotiation is in
+         progress or has been established. ........ Merged revisions
+         416318 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/channel_internal_api.c: channel_internal_api: Publish a
+         snapshot change when linkedids change Snapshots are now not
+         published *quite* as much as they used to. One instance where
+         they are not published any longer is during bridge enter and exit
+         - the state of the channel doesn't change, the bridge does.
+         However, channels are changed when a linkedid is propagated;
+         previously, the channel's state would be updated and published
+         during the bridge enter event. Now this must be explicitly done.
+         ........ Merged revisions 416300 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, tests/test_stasis_endpoints.c: test_stasis_endpoints: Remove
+         expected channel snapshot We no longer publish a channel snapshot
+         when it is associated with an endpoint; after all, the channel
+         itself hasn't changed - the endpoint state has changed. This
+         updates the channel_messages unit test accordingly. ........
+         Merged revisions 416298 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_musiconhold.c: MoH: Undo commit r416150 (1.8) This
+         patch reverts r416150. When the comparison between mohclass->name
+         and state->class->name is made, you are not guaranteed that (a)
+         state->class is non-NULL or that state or state->class are in a
+         safe state. Crashes caught by the bridges/transfer_capabilities
+         test. ........ Merged revisions 416251 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 416252 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416255 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-14 19:26 +0000 [r416237]  Corey Farrell <git@cfware.com>
+
+       * res/res_manager_devicestate.c, res/res_manager_presencestate.c:
+         res_manager_devicestate and res_manager_presencestate missing
+         support level Add MODULEINFO comment block to define support
+         level core for these new modules. Review:
+         https://reviewboard.asterisk.org/r/3620/
+
+2014-06-13 18:24 +0000 [r416216]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_agi.c, res/res_pjsip/pjsip_configuration.c,
+         main/stasis_channels.c, res/ari/resource_channels.c,
+         main/bridge_channel.c, main/pbx.c, main/stasis_cache.c, /,
+         apps/app_meetme.c, main/pickup.c, main/channel_internal_api.c,
+         include/asterisk/channel.h, main/core_local.c, main/aoc.c,
+         main/endpoints.c, main/cel.c, apps/app_queue.c,
+         main/stasis_bridges.c, apps/app_agent_pool.c, main/cli.c,
+         main/channel.c, main/dial.c, main/manager.c,
+         include/asterisk/stasis_channels.h: stasis: Reduce creation of
+         channel snapshots to improve performance During some performance
+         testing of Asterisk with AGI, ARI, and lots of Local channels, we
+         noticed that there's quite a hit in performance during channel
+         creation and releasing to the dialplan (ARI continue). After
+         investigating the performance spike that occurs during channel
+         creation, we discovered that we create a lot of channel snapshots
+         that are technically unnecessary. This includes creating
+         snapshots during: * AGI execution * Returning objects for ARI
+         commands * During some Local channel operations * During some
+         dialling operations * During variable setting * During some
+         bridging operations And more. This patch does the following: - It
+         removes a number of fields from channel snapshots. These fields
+         were rarely used, were expensive to have on the snapshot, and
+         hurt performance. This included formats, translation paths, Log
+         Call ID, callgroup, pickup group, and all channel variables. As a
+         result, AMI Status, "core show channel", "core show channelvar",
+         and "pjsip show channel" were modified to either hit the live
+         channel or not show certain pieces of data. While this is
+         unfortunate, the performance gain from this patch is worth the
+         loss in behaviour. - It adds a mechanism to publish a cached
+         snapshot + blob. A large number of publications were changed to
+         use this, including: - During Dial begin - During Variable
+         assignment (if no AMI variables are emitted - if AMI variables
+         are set, we have to make snapshots when a variable is changed) -
+         During channel pickup - When a channel is put on hold/unhold -
+         When a DTMF digit is begun/ended - When creating a bridge
+         snapshot - When an AOC event is raised - During Local channel
+         optimization/Local bridging - When endpoint snapshots are
+         generated - All AGI events - All ARI responses that return a
+         channel - Events in the AgentPool, MeetMe, and some in Queue -
+         Additionally, some extraneous channel snapshots were being made
+         that were unnecessary. These were removed. - The result of
+         ast_hashtab_hash_string is now cached in stasis_cache. This
+         reduces a large number of calls to ast_hashtab_hash_string, which
+         reduced the amount of time spent in this function in gprof by
+         around 50%. #ASTERISK-23811 #close Reported by: Matt Jordan
+         Review: https://reviewboard.asterisk.org/r/3568/ ........ Merged
+         revisions 416211 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-13 13:11 +0000 [r416149-416153]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_musiconhold.c, /: MoH: Don't restart stream on repeated
+         start calls Currently, music on hold will stop and then start
+         again from the beginning if ast_moh_start() is called multiple
+         times. This can happen if a call is put on hold repeatedly (the
+         channel receives multiple HOLD control frames) and can be
+         triggered from ARI by starting MoH on a channel multiple times.
+         This is fairly jarring/annoying to users. This change prevents
+         MoH from being restarted if the requested music class is the same
+         as the one currently playing. Review:
+         https://reviewboard.asterisk.org/r/3615/ ........ Merged
+         revisions 416150 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 416151 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416152 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cel.c, /: CEL: Expose parking retreiver in extra field This
+         exposes the retreiver of a parked call under the "retreiver" key
+         of the extra field when this information is available. Review:
+         https://reviewboard.asterisk.org/r/3608/ ........ Merged
+         revisions 416148 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-13 05:16 +0000 [r416071]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/http.c, include/asterisk/tcptls.h, main/tcptls.c,
+         main/manager.c, /, channels/chan_sip.c: AST-2014-007: Fix of fix
+         to allow AMI and SIP TCP to send messages. ASTERISK-23673 #close
+         Reported by: Richard Mudgett Review:
+         https://reviewboard.asterisk.org/r/3617/ ........ Merged
+         revisions 416066 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 416067 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 416070 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 21:27 +0000 [r416024]  Rusty Newton <rnewton@digium.com>
+
+       * main/pbx.c: main/pbx - documentation - enhance 'core show hints'
+         and 'core show hint' help text Adds descriptive help text to
+         'core show hints' and 'core show hint'. The text describes the
+         various columns for the sake of clarity. It takes into account
+         recent changes to the content displayed by the commands
+         https://reviewboard.asterisk.org/r/3604/ and
+         https://reviewboard.asterisk.org/r/3611/. ASTERISK-23764 Review:
+         https://reviewboard.asterisk.org/r/3610/
+
+2014-06-12 20:17 +0000 [r415982]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip_pubsub.c, /: Fix build in devmode for GCC 4.10
+         ........ Merged revisions 415980 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 17:00 +0000 [r415907]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/utils.h, main/tcptls.c, main/manager.c, /,
+         channels/chan_sip.c, main/http.c, UPGRADE.txt, main/utils.c,
+         include/asterisk/tcptls.h, res/res_http_websocket.c,
+         configs/http.conf.sample: AST-2014-007: Fix DOS by consuming the
+         number of allowed HTTP connections. Simply establishing a TCP
+         connection and never sending anything to the configured HTTP port
+         in http.conf will tie up a HTTP connection. Since there is a
+         maximum number of open HTTP sessions allowed at a time you can
+         block legitimate connections. A similar problem exists if a HTTP
+         request is started but never finished. * Added http.conf
+         session_inactivity timer option to close HTTP connections that
+         aren't doing anything. Defaults to 30000 ms. * Removed the
+         undocumented manager.conf block-sockets option. It interferes
+         with TCP/TLS inactivity timeouts. * AMI and SIP TLS connections
+         now have better authentication timeout protection. Though I
+         didn't remove the bizzare TLS timeout polling code from chan_sip.
+         * chan_sip can now handle SSL certificate renegotiations in the
+         middle of a session. It couldn't do that before because the
+         socket was non-blocking and the SSL calls were not restarted as
+         documented by the OpenSSL documentation. * Fixed an off nominal
+         leak of the ssl struct in handle_tcptls_connection() if the FILE
+         stream failed to open and the SSL certificate negotiations
+         failed. The patch creates a custom FILE stream handler to give
+         the created FILE streams inactivity timeout and timeout after a
+         specific moment in time capability. This approach eliminates the
+         need for code using the FILE stream to be redesigned to deal with
+         the timeouts. This patch indirectly fixes most of ASTERISK-18345
+         by fixing the usage of the SSL_read/SSL_write operations.
+         ASTERISK-23673 #close Reported by: Richard Mudgett ........
+         Merged revisions 415841 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415854 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415896 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 15:50 +0000 [r415839]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, apps/app_queue.c: app_queue: delayed state can cause early
+         leavewhenempty ringing In app_queue, device state changes arrive
+         in event messages and update the queue member status value. That
+         value is checked in get_member_status() to decide that the caller
+         should leave when there are no available members. Although event
+         messages can be delayed by other activity, there is no adverse
+         affect by lagged status except in one specific case: there is
+         only one available member, it was just rung, and leavewhenempty
+         is enabled set for ringing members. This change adds a direct
+         check of the device state only under this condition where the
+         caller may be dropped incorrectly, resolving this issue without
+         affecting performance of app_queue normally. AST-1248 #close
+         Review: https://reviewboard.asterisk.org/r/3595/ Reported by:
+         Thomas Arimont ........ Merged revisions 415833 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415835 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415836 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 15:39 +0000 [r415834]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_mixmonitor.c, /, UPGRADE.txt: MixMontior: Add class
+         authorization requirements to MixMonitor AMI commands MixMonitor
+         AMI commands StartMixMonitor and StopMixMonitor lacked class
+         authorization. StopMixMonitor now requires that the manager user
+         either have the call or system class authorization.
+         StartMixMonitor is a slightly larger issue since it can execute
+         shell commands if the right arguments are passed into it, and we
+         consider this a permission escalation. A security release will be
+         issued for problem this shortly. ASTERISK-23609 #close Reported
+         by: Corey Farrell ........ Merged revisions 415825 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415832 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 14:39 +0000 [r415813]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_pubsub.c, /: res_pjsip_pubsub: unauthenticated
+         remote crash in PJSIP pub/sub framework A remotely exploitable
+         crash vulnerability exists in the PJSIP channel driver's pub/sub
+         framework. If an attempt is made to unsubscribe when not
+         currently subscribed and the endpoint's "sub_min_expiry" is set
+         to zero, Asterisk tries to create an expiration timer with zero
+         seconds, which is not allowed, so an assertion raised. The fix
+         was to reject a subscription that is attempting to unsubscribe
+         when not being already subscribed. Asterisk now checks for this
+         situation appropriately and responds with a 400 instead of
+         crashing. AST-2014-005 ASTERISK-23489 #close ........ Merged
+         revisions 415812 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 14:15 +0000 [r415795]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip.c, /: Fix potential deadlock situation in
+         res_pjsip. SIP transaction timeouts are handled in the PJSIP
+         monitor thread. When this happens on a subscription, and the
+         subscription is destroyed, the subscription destruction is
+         dispatched synchronously to the threadpool. The issue is that the
+         PJSIP dialog is locked by the monitor thread, and then the
+         dispatched task attempts to lock the dialog. This leads to a
+         deadlock that causes SIP traffic to no longer be accepted on the
+         Asterisk server. The fix here is to treat the monitor thread as
+         if it were a threadpool thread when it attempts to dispatch
+         synchronous tasks. This way, the dispatched task turns into a
+         simple function call within the same thread, and the locking
+         issue is averted. AST-2014-008 ASTERISK-23802 #close ........
+         Merged revisions 415794 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 11:34 +0000 [r415767]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip.c, res/res_pjsip_pubsub.c,
+         res/res_pjsip_exten_state.c, include/asterisk/res_pjsip.h,
+         include/asterisk/res_pjsip_pubsub.h,
+         res/res_pjsip_pubsub.exports.in, /,
+         contrib/ast-db-manage/config/versions/c6d929b23a8_create_pjsip_subscription_persistence_.py
+         (added), res/res_pjsip_mwi.c: res_pjsip_pubsub: Persist
+         subscriptions in sorcery so they are recreated on startup. This
+         change makes res_pjsip_pubsub persist inbound subscriptions in
+         sorcery. By default this uses the local astdb but it can also be
+         configured to store within an outside database. When Asterisk is
+         started these subscriptions are recreated if they have not
+         expired. Notifications are sent to the devices which have
+         subscribed and they are none the wiser that the system has
+         restarted. Review: https://reviewboard.asterisk.org/r/3598/
+         ........ Merged revisions 415766 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-12 07:52 +0000 [r415749]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * UPGRADE.txt, contrib/scripts/safe_asterisk, Makefile, /:
+         safe_asterisk: Overwrite old safe_asterisk on make install. From
+         now on, make install will overwrite safe_asterisk with the latest
+         version. You need to move any local modifications to files inside
+         /etc/asterisk/startup.d, if you have any. See also commits
+         r394939 and r397938. ASTERISK-21965 #close Patches:
+         safe_asterisk.patch uploaded by jkister (License 6232, modified
+         by me) ........ Merged revisions 415748 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-11 23:01 +0000 [r415730]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/format.c, /: format.c: Fix misuse of hash container
+         function. The supplied hash function to a container must be
+         idempotent given the object's key value to figure out which
+         container bucket the object belongs in. Returning a random number
+         or the current container count is not idempotent. The "computed
+         hash" value doesn't help find the object later in those cases. *
+         Fixed the format_list container to actually be a list since that
+         is how the container is used. Conceptually, if more than 283
+         formats were added to the format_list then odd things may have
+         happened before the fix. ........ Merged revisions 415728 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415729 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-11 20:22 +0000 [r415698-415715]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/pbx.c: CLI: correct presence information on core show hints
+         Adds presence to core show hint and changes presence string
+         conversion to use the correct function. ASTERISK-23858 #close
+         Review: https://reviewboard.asterisk.org/r/3611/
+
+       * main/pbx.c: CLI: add presence information to core show hints Adds
+         presence state value to output of core show hints. Also reformats
+         the output slightly so it doesn't use as much space as it would
+         otherwise. Was: 1000@demo : SIP/1000 State:Unavailable Watchers 0
+         Now: 1000@demo : SIP/1000 State:Unavailable Presence:Idle
+         Watchers 0 AFS-53 #close Review:
+         https://reviewboard.asterisk.org/r/3604/
+
+2014-06-10 18:32 +0000 [r415679]  Kinsey Moore <kmoore@digium.com>
+
+       * main/channel.c, /: Fix build in dev mode due to signed/unsigned
+         mismatch ........ Merged revisions 415678 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-10 16:06 +0000 [r415659]  Jonathan Rose <jrose@digium.com>
+
+       * main/message.c, /, res/res_pjsip_notify.c: PJSIP: PJSIPNotify -
+         Strip content-length headers and add documentation Documentation
+         for how to add custom headers/content to notifies created with
+         the PJSIPNotify manager action was a little sparse and it also
+         wasn't vetting application of Content-length headers like its
+         chan_sip equivalent was (so two Content-length headers could be
+         applied... and PJSIP determines the content length anyway, so it
+         just opens people up for error). This patch also flips the
+         variable order so that the variables are interpreted in the same
+         order as they are put in the AMI action. Review:
+         https://reviewboard.asterisk.org/r/3587/ ........ Merged
+         revisions 415658 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-10 09:28 +0000 [r415630]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/chan_ooh323.c, /: chan_ooh323: fix loading module failure
+         if there no accessible h323_log or ooh323 config file change
+         return 1 to return AST_MODULE_LOAD_FAILURE on module load routine
+         few cosmetic changes ASTERISK-23814 #close (closes issue
+         ASTERISK-23814) Reported by: Igor Goncharovsky Patches:
+         ASTERISK-23814-ast11.patch ........ Merged revisions 415599 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415602 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-09 20:21 +0000 [r415580]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_header_funcs.c, /: chan_pjsip: Fix bug where custom
+         SIP headers could be duplicated on outgoing INVITEs. When using
+         PJSIP_HEADER() to add custom headers to outgoing INVITE requests,
+         certain situations could result in the headers being duplicated.
+         For instance, if the request were retransmitted, or if the INVITE
+         were re-sent with authentication credentials, the custom headers
+         would be re-added to the request. The fix here is to, after
+         adding the custom headers to the outbound INVITE, remove the
+         datastore that holds the custom headers to add. This way, there
+         is no risk in accidentally adding them if the session supplement
+         is called into a second or third time. ........ Merged revisions
+         415579 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-09 12:12 +0000 [r415524]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, UPGRADE.txt, contrib/scripts/safe_asterisk: safe_asterisk:
+         Cleanup additions to r415132. * Replaced a stray echo that
+         should've been a message call in safe_asterisk. This replaces a
+         conditional log message by a slightly different message. Please
+         update your log parsing scripts. * Made the $NOTIFY mail Subject
+         more verbose by adding the machine name and exitstatus. (Note
+         that a 'make install' still won't overwrite your old
+         safe_asterisk if it exists. See ASTERISK-21965.) ASTERISK-23492
+         #close ........ Merged revisions 415521 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415522 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415523 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-09 03:50 +0000 [r415466]  Corey Farrell <git@cfware.com>
+
+       * /, main/autoservice.c: autoservice: stop thread on graceful
+         shutdown This change adds thread shutdown to autoservice for
+         graceful shutdowns only. ast_register_cleanup is backported to
+         1.8 to allow this. The logger callid is also released on shutdown
+         in 11+. ASTERISK-23827 #close Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3594/ ........ Merged
+         revisions 415463 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415464 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415465 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-08 18:12 +0000 [r415444]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/channel.h, bridges/bridge_native_rtp.c,
+         main/bridge_channel.c, main/channel.c, main/pbx.c, /,
+         main/framehook.c, main/bridge_after.c: bridges/bridge_native_rtp:
+         Reconfigure bridge on removal of framehook This patch is a re-do
+         of r414122. When r414122 was merged, a major problem with it was
+         uncovered. UNBRIDGE soft hangup flags have a catastrophic effect
+         on the pbx core if they leak out from the bridge layer: the
+         channel gets hung up. With the number of threads involved in a
+         blind transfer, and with the initial patch, it was likely that
+         this would occur. This caused a large number of test failures
+         This patch is nearly identical with the one proposed in r414122,
+         save for the following changes: - We explicitly clear the
+         UNBRIDGE flag when setting an after goto on a channel in a bridge
+         - Defensively, if we encounter an UNBRIDGE flag in the pbx core,
+         we handle it https://reviewboard.asterisk.org/r/3585/ ........
+         Merged revisions 415443 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-07 00:42 +0000 [r415428]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/bridge.h, /: bridge.h: Remove redundant struct
+         ast_bridge_channel forward declaration. ........ Merged revisions
+         415427 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-06 21:44 +0000 [r415411]  Jonathan Rose <jrose@digium.com>
+
+       * include/asterisk/manager.h, main/config.c, main/manager.c, /,
+         channels/chan_sip.c, include/asterisk/config.h: chan_sip: Fix
+         order of variables specified in SIPNotify action Prior to this
+         patch, sequential variables would be ordered in reverse from the
+         order specified in the manager action. Review:
+         https://reviewboard.asterisk.org/r/3588/ ........ Merged
+         revisions 415359 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415390 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415410 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-06 20:45 +0000 [r415358]  Kevin Harwell <kharwell@digium.com>
+
+       * main/uri.c, tests/test_websocket_client.c: core uri: Custom uri
+         parsing error when no query parameters If using the custom URI
+         parsing code (not external uriparser lib) and there was no query
+         parameters the resulting pointer would be NULL and then an
+         attempt was made to subtract from it. The pointer is now set to a
+         valid value if there is no query parameter(s). Also, in the
+         'ast_uri_make_host_with_port' function when setting the
+         terminator on the resulting string it was writing it one past the
+         end of allocated memory. It now writes the string terminator
+         appropriately.
+
+2014-06-06 19:13 +0000 [r415343]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_pjsip_sdp_rtp.c: PJSIP: Remove premature write of raw
+         formats Currently, there are situations that can occur when using
+         chan_pjsip and certain dialplan applications (notably ChanSpy())
+         that can cause the channel to get no audio with scrolling
+         warnings about format mismatches. This is caused by a failure to
+         update translation paths on a mid-call native format update since
+         the raw formats have already been updated by res_pjsip_sdp_rtp.c
+         in set_caps(). Removing the premature raw format updates allows
+         the translation paths to be setup correctly and the raw read and
+         write formats with them. AFS-63 #close ........ Merged revisions
+         415342 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-06 14:12 +0000 [r415319]  George Joseph <george.joseph@fairview5.com>
+
+       * tests/test_astobj2.c, main/astobj2_private.h (added),
+         main/astobj2.c, main/astobj2_container_private.h (added),
+         main/astobj2_container.c (added), main/astobj2_hash.c (added),
+         main/astobj2_rbtree.c (added), /, include/asterisk/astobj2.h:
+         Split astobj2.c into more maintainable components. Split
+         astobj2.c into the following files to improve maintainability.
+         astobj2.c - object primitives, object primitive misc and
+         initialization code. astobj2_private.h - internal object
+         declarations needed by the containers. astobj2_container.c -
+         generic conainer and container misc code.
+         astobj2_container_hash.c - hash container specific code.
+         astobj2_container_rbtree.c - rbtree container specific code.
+         astobj2_container_private.h - generic container definitions and
+         rtti prototypes. https://reviewboard.asterisk.org/r/3576/
+         ........ Merged revisions 415317 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-06 12:49 +0000 [r415302]  Rusty Newton <rnewton@digium.com>
+
+       * /, configs/cli_aliases.conf.sample: configs/cli_aliases.conf: Two
+         new aliases, plus enhancements for context names. Changed naming
+         of included alias templates to avoid confusion between version
+         names. For example, asterisk12 was for asterisk 1.2, so I changed
+         it to asterisk_1dot2, so that later we can use asterisk_12 for
+         Asterisk 12. Added alias for "features reload" to the template
+         for Asterisk 11 style syntax template, as features reload was
+         removed in 12, but you can still do "module reload features"
+         Added alias for "pjsip reload" to the friendly template. It is
+         shorter than "module reload res_pjsip.so" and if some are like
+         me; I constantly forget that reloading chan_pjsip doesn't parse
+         config. Remembering "pjsip reload" is just easier. ASTERISK-23654
+         #close ASTERISK-23654 #comment Fixed by adding two new aliases
+         and enhancements for context names. Review:
+         https://reviewboard.asterisk.org/r/3572/ ........ Merged
+         revisions 415301 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-05 19:04 +0000 [r415231-415288]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/config.c: config: Fix indentation and missing curlies in
+         config_text_file_load().
+
+       * main/config.c, /: config: Fix config files not reloading when
+         only an included file changes. The twisted logic determining if a
+         config file should be reloaded was mostly broken and disabled.
+         The incorrect test that ASTERISK-23383 fixed actually reenabled
+         the broken logic. The incorrect test was causing the timestamp to
+         always be cleared which caused config files with includes to
+         always be reloaded. * Made wildcard includes always cause a
+         reload. Determining if a file was deleted cannot be determined
+         without restructuring the cache to determine if any files are
+         missing from the last files actually loaded. Also without
+         refactoring config_text_file_load(), the glob loop couldn't check
+         more than one file for changes anyway. * Made remove the cache
+         entry if the file no longer exists when trying to get its
+         timestamp or it is no longer a regular file. This fixes the
+         corner case where the file was loaded, then deleted, then the
+         config reloaded, then the file restored with the same timestamp,
+         and then the config reloaded again. * Made remove the cache entry
+         include list when actually loading the file. This gets rid of any
+         stale includes the file had from the last time the file was
+         loaded. ASTERISK-23683 #close Reported by: tootai Review:
+         https://reviewboard.asterisk.org/r/3575/ ........ Merged
+         revisions 415225 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415229 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415230 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-05 17:22 +0000 [r415223]  Kevin Harwell <kharwell@digium.com>
+
+       * tests/test_uri.c (added), include/asterisk/http_websocket.h,
+         main/http.c, main/uri.c (added), tests/test_websocket_client.c
+         (added), res/res_http_websocket.c, include/asterisk/http.h,
+         include/asterisk/uri.h (added),
+         res/res_http_websocket.exports.in: res_http_websocket: Create a
+         websocket client Added a websocket server client in Asterisk.
+         Asterisk has a websocket server, but not a client. The ability to
+         have Asterisk be able to connect to a websocket server can
+         potentially be useful for future work (for instance this could
+         allow ARI to connect back to some external system, although more
+         work would be needed in order to incorporate that). Also a couple
+         of things to note - proxy connection support has not been
+         implemented and there is limited http response code handling
+         (basically, it is connect or not). Also added an initial new URI
+         handling mechanism to core. Internet type URI's are parsed into a
+         data structure that contains pointers to the various parts of the
+         URI. (closes issue ASTERISK-23742) Reported by: Kevin Harwell
+         Review: https://reviewboard.asterisk.org/r/3541/
+
+2014-06-05 14:49 +0000 [r415208]  Matthew Jordan <mjordan@digium.com>
+
+       * /, apps/app_confbridge.c: app_confbridge: Allow muting of users
+         waiting to enter a ConfBridge Prior to this patch, users waiting
+         to enter a ConfBridge were not considered when muted via the CLI
+         or via AMI. Instead, a confusing message would be emitted stating
+         that the channel did not exist. This patch allows a user to be
+         muted when waiting to enter a ConfBridge conference. This is
+         equivalent to start when muted, only toggled via the CLI or AMI.
+         Review: https://reviewboard.asterisk.org/r/3582 #ASTERISK-23824
+         #close patches: rb3582.patch uploaded by tm1000 (License 6524)
+         ........ Merged revisions 415206 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415207 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-05 11:59 +0000 [r415192]  Kinsey Moore <kmoore@digium.com>
+
+       * /, channels/chan_pjsip.c: PJSIP: Send initial connected line
+         information This makes chan_pjsip send connected line information
+         when it is called so that connected line information is available
+         on the connected channel. (closes issue DPMA-442) Reported by:
+         John Bigelow Review: https://reviewboard.asterisk.org/r/3584/
+         ........ Merged revisions 415191 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-04 20:16 +0000 [r415173]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, contrib/scripts/safe_asterisk: safe_asterisk: Cleanup and
+         debian compatibility. Cleans up the safe_asterisk script and adds
+         the ASTSAFE_FOREGROUND option that allows the debian asterisk
+         init script to capture the right pid. * Drop the vim #modeline
+         which wasn't used. Use test consistently without the odd
+         configure xno syntax. Double quote all paths. General cleanup. *
+         Don't output message()s to the console but only to TTY if set. *
+         Allow TTY to be "no" as well as empty (debian compatibility with
+         debian/patches/safe_asterisk-config). * Add option to export
+         ASTSAFE_FOREGROUND=1 from the init script that calls this to
+         disable backgrounding. Debian uses a similar method in
+         debian/patches/safe_asterisk-nobg). ASTERISK-23492 #close Review:
+         https://reviewboard.asterisk.org/r/3574/ ........ Merged
+         revisions 415132 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415171 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415172 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-04 14:13 +0000 [r415116-415118]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_pjsip.c: chan_pjsip: Add debug in RTP Engine
+         glue callback This patch adds some debug statements that aid with
+         determining why a direct media request may or may not be
+         initiated. ........ Merged revisions 415117 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Add debug
+         statement for session refreshes This small patch adds a debug
+         level 3 statement indicating how a session refresh is being sent
+         - either as a re-INVITE or as an UPDATE - and where the session
+         refresh is going. ........ Merged revisions 415115 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-04 07:27 +0000 [r415080]  Corey Farrell <git@cfware.com>
+
+       * /, apps/confbridge/include/confbridge.h, apps/app_confbridge.c:
+         app_confbridge: Correct verification of conference name length
+         Conference names were not checked for maximum length, allowing
+         unexpected behaviour. This change adds checking to ensure the
+         maximum length is not exceeded. The maximum length is also
+         changed from 32 to AST_MAX_EXTENSION. ASTERISK-23035 #close
+         Reported by: Iñaki Cívico Tested by: Iñaki Cívico Patches:
+         confbridge-enforce_max-1.8.patch uploaded by coreyfarrell
+         (license 5909) confbridge-enforce_max-11up.patch uploaded by
+         coreyfarrell (license 5909) ........ Merged revisions 415060 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 415066 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 415078 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-03 07:36 +0000 [r415000]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, funcs/func_odbc.c: func_odbc: Fix fixed size buffers fix
+         (r414968). The change that removed the fixed size buffers in
+         odbc-related code -- removing arbitrary column width limits --
+         was incomplete. This change adds: no segfault on writesql without
+         insertsql and return value checks after strdup. While I was in
+         the vicinity I cleaned up the linefeeds in the odbc function
+         descriptions, moved some code for clarity, removed some blobs and
+         noted (but didn't fix) that the 'odbc write ... exec' CLI command
+         doesn't behave as the dialplan equivalent when insertsql= is
+         used. ASTERISK-23582 #close Review:
+         https://reviewboard.asterisk.org/r/3579/ ........ Merged
+         revisions 414997 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414998 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414999 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-06-01 15:32 +0000 [r414976]  Joshua Colp <jcolp@digium.com>
+
+       * /, bridges/bridge_native_rtp.c: bridge_native_rtp: Take the
+         bridge type choice of both channels into account. The
+         bridge_native_rtp module currently uses the bridge result of the
+         first channel that joins a bridge as the ultimate result. This
+         means that if the first channel has direct media enabled but the
+         second does not a direct media bridge will still occur. This
+         change makes it so that both sides are taken into account. If
+         either side forbids the bridge or responds with a local bridge
+         result then either a generic or local bridge occurs.
+         ASTERISK-23541 #close Reported by: Justin E Review:
+         https://reviewboard.asterisk.org/r/3577/ ........ Merged
+         revisions 414975 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-30 14:53 +0000 [r414949]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip_refer.c, /: PJSIP: Prevent crash on blind transfer
+         Blind transfers don't go too well with NULL channels which can
+         occur if the channel has already been transferred away. (closes
+         issue ASTERISK-23718) Reported by: Jonathan Rose ........ Merged
+         revisions 414948 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-30 12:42 +0000 [r414883-414935]  Matthew Jordan <mjordan@digium.com>
+
+       * main/audiohook.c, CHANGES, res/ari/ari_model_validators.c,
+         res/ari/ari_model_validators.h, funcs/func_talkdetect.c (added),
+         include/asterisk/stasis_channels.h,
+         rest-api/api-docs/events.json, /, main/stasis_channels.c:
+         TALK_DETECT: A channel function that raises events when talking
+         is detected This patch adds a new channel function TALK_DETECT
+         that, when set on a channel, causes events indicating the
+         start/stop of talking on a channel to be emitted to both AMI and
+         ARI clients. The function allows setting both the silence
+         threshold (the length of silence after which we decide no one is
+         talking) as well as the talking threshold (the amount of energy
+         that counts as talking). Parameters can be updated on a channel
+         after talk detection has been enabled, and talk detection can be
+         removed at any time. The events raised by the function use a
+         nomenclature similar to existing AMI/ARI events. For AMI:
+         ChannelTalkingStart/ChannelTalkingStop For ARI:
+         ChannelTalkingStarted/ChannelTalkingFinished Review:
+         https://reviewboard.asterisk.org/r/3563/ #ASTERISK-23786 #close
+         Reported by: Matt Jordan ........ Merged revisions 414934 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/config.c, /: main/config.c: AMI action UpdateConfig EmptyCat
+         clears all categories When invoking UpdateConfig AMI action with
+         Action set to EmptyCat, Asterisk will make all categories empty
+         in the config but the one requested with a Cat variable. This is
+         due to a bug in ast_category_empty (main/config.c) that makes an
+         incorrect comparison for a category name. This patch corrects the
+         comparison such that only the requested category is cleared.
+         Review: https://reviewboard.asterisk.org/r/3573/ #ASTERISK-23803
+         #close Reported by: zvision patches: manager.c.diff uploaded by
+         zvision (License 5755) ........ Merged revisions 414880 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414881 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414882 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-29 18:51 +0000 [r414861]  Kinsey Moore <kmoore@digium.com>
+
+       * main/pbx.c, /: PBX: Prevent incorrect hint parsing Dynamic and
+         pattern matching hints should not be checked for their last known
+         state until they are instantiated by subscribers. (closes issue
+         AFS-56) Reported by: John Hardin Patch AFS-56-pbx.diff submitted
+         by Matt Jordan (license 6283) ........ Merged revisions 414813
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 414859 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414860 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-28 22:54 +0000 [r414798]  Matthew Jordan <mjordan@digium.com>
+
+       * main/loader.c, include/asterisk/logger.h, res/res_config_curl.c,
+         cel/cel_odbc.c, res/res_config_odbc.c,
+         bridges/bridge_builtin_features.c, main/optional_api.c,
+         main/logger.c, main/config_options.c, cdr/cdr_odbc.c,
+         apps/app_mixmonitor.c, main/asterisk.c, res/res_odbc.c,
+         main/xmldoc.c, apps/app_voicemail.c, cel/cel_pgsql.c,
+         channels/chan_unistim.c, res/res_config_pgsql.c, main/pbx.c,
+         cdr/cdr_sqlite3_custom.c, res/res_fax.c, main/bridge.c,
+         apps/app_waitforsilence.c, cdr/cdr_adaptive_odbc.c,
+         res/parking/parking_applications.c, cdr/cdr_pgsql.c,
+         res/res_jabber.c: Logger/CLI/etc.: Fix some aesthetic issues;
+         reduce chatty verbose messages This patch addresses some
+         aesthetic issues in Asterisk. These are all just minor tweaks to
+         improve the look of the CLI when used in a variety of settings.
+         Specifically: * A number of chatty verbose messages were removed
+         or demoted to DEBUG messages. Verbose messages with a verbosity
+         level of 5 or higher were - if kept as verbose messages - demoted
+         to level 4. Several messages that were emitted at verbose level 3
+         were demoted to 4, as announcement of dialplan applications being
+         executed occur at level 3 (and so the effects of those
+         applications should generally be less). * Some verbose messages
+         that only appear when their respective 'debug' options are
+         enabled were bumped up to always be displayed. *
+         Prefix/timestamping of verbose messages were moved to the
+         verboser handlers. This was done to prevent duplication of
+         prefixes when the timestamp option (-T) is used with the CLI. *
+         Verbose magic is removed from messages before being emitted to
+         non-verboser handlers. This prevents the magic in multi-line
+         verbose messages (such as SIP debug traces or the output of
+         DumpChan) from being written to files. * _Slightly_ better
+         support for the "light background" option (-W) was added. This
+         includes using ast_term_quit in the output of XML documentation
+         help, as well as changing the "Asterisk Ready" prompt to bright
+         green on the default background (which stands a better chance of
+         being displayed properly than bright white). Review:
+         https://reviewboard.asterisk.org/r/3547/
+
+2014-05-28 20:53 +0000 [r414781]  Rusty Newton <rnewton@digium.com>
+
+       * /, configs/pjsip.conf.sample: pjsip.conf: privkey_file should be
+         priv_key_file, mediaencryption=yes should be mediaencryption=sdes
+         privkey_file was missed in the snake case update. An example
+         included an invalid value for the mediaencryption option.
+         ........ Merged revisions 414780 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-28 17:46 +0000 [r414764-414766]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/endpoints.json,
+         rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
+         /, rest-api/api-docs/asterisk.json,
+         rest-api/api-docs/applications.json,
+         rest-api/api-docs/playbacks.json,
+         rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
+         rest-api/resources.json, include/asterisk/manager.h,
+         rest-api/api-docs/bridges.json,
+         rest-api/api-docs/recordings.json: AMI/ARI: Update version
+         numbers Update the semantic versioning of ARI to 1.3.0 and AMI to
+         2.3.0 to account for backwards compatible changes going from
+         12.2.0 to 12.3.0. ........ Merged revisions 414765 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * contrib/ast-db-manage/cdr/env.py, /: ast-db-manage/cdr/env.py:
+         Don't fail if a config file can't be loaded When generating SQL
+         files via the repotools alembic_creator.py script, a
+         configuration object is used programatically with SQLAlechemy, as
+         opposed to a configuration file. This patch ignores failures to
+         interpret a config file, as ... there isn't one in this case.
+         ........ Merged revisions 414763 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-28 16:56 +0000 [r414748-414750]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_pjsip_session.c, include/asterisk/res_pjsip_session.h, /,
+         res/res_pjsip_t38.c: res_pjsip_session: Fix leaked video RTP
+         ports. Simply enabling PJSIP to negotiage a video codec (e.g.,
+         h264) would leak video RTP ports if the codec were not negotiated
+         by an incoming call. * Made add_sdp_streams() associate the
+         handler with the media stream if the handler handled the media
+         stream. Otherwise, when the ast_sip_session_media object was
+         destroyed it didn't know how to clean up the RTP resources. *
+         Fixed sdp_requires_deferral() associating the handler with the
+         media stream when deciding if the SDP processing needs to be
+         deferred for T.38. Like the leaked video RTP ports, the T.38
+         handler needs to clean up allocated resources from deciding if
+         SDP processing needs to be deffered. * Cleaned up some dead code
+         in handle_incoming_sdp() and sdp_requires_deferral().
+         ASTERISK-23721 #close Reported by: cervajs Review:
+         https://reviewboard.asterisk.org/r/3571/ ........ Merged
+         revisions 414749 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, CHANGES, apps/app_agent_pool.c: app_agent_pool: Return to
+         dialplan if the agent fails to ack the call. Improvements to the
+         agent pool functionality. * AgentRequest no longer hangs up the
+         caller if the agent fails to connect with the caller. It now
+         continues in the dialplan. * AgentRequest returns AGENT_STATUS
+         set to NOT_CONNECTED if the agent failed to connect with the
+         call. Most likely because the agent did not acknowledge the call
+         in time or got disconnected. * The agent alerting play file
+         configured by the agent.conf custom_beep option can now be
+         disabled by setting the option to an empty string. The agent is
+         effectively alerted to a call presence when MOH stops. * Fixed
+         bridge reference leak when the agent connects with a caller.
+         ASTERISK-23499 #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3551/ ........ Merged
+         revisions 414747 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-28 11:37 +0000 [r414696]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_config_odbc.c, /, funcs/func_odbc.c: res_config_odbc: Use
+         dynamically sized buffers to store row data so values do not get
+         truncated. ASTERISK-23582 #close ASTERISk-23582 #comment Reported
+         by: Walter Doekes Review:
+         https://reviewboard.asterisk.org/r/3557/ ........ Merged
+         revisions 414693 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414694 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414695 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-28 09:43 +0000 [r414567-414679]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, channels/chan_unistim.c: chan_unistim: Unlock mutex in rare
+         OOM condition. #ASTERISK-23792 #close Reported by: Peter Whisker
+         Review: https://reviewboard.asterisk.org/r/3567/ ........ Merged
+         revisions 414677 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414678 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: chan_sip: Start session timer at 200, not
+         at INVITE. Asterisk started counting the session timer at INVITE
+         while the other end correctly started at 200. This meant that for
+         short session-expiries (90 seconds) combined with long ringing
+         times (e.g. 30 seconds), asterisk would wrongly assume that the
+         timer was hit before the other end thought it was time to send a
+         session refresh. This resulted in prematurely ended calls. This
+         changes the session timer to start counting first at 200 like RFC
+         says it should. (Also removed a few excess NULL checks that would
+         never hit, because if they did, asterisk would have crashed
+         already.) ASTERISK-22551 #close Reported by: i2045 Review:
+         https://reviewboard.asterisk.org/r/3562/ ........ Merged
+         revisions 414620 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414628 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414636 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_config_odbc.c, /: res_config_odbc: Fix old and new
+         ast_string_field memory leaks. The ODBC realtime driver uses ^NN
+         parameter encoding to cope with the special meaning of the
+         semi-colon. A semi-colon in a field is interpreted as if the key
+         was supplied twice, something which isn't otherwise possible with
+         fixed database columns. E.g. allow=alaw;ulaw is parsed as
+         allow=alaw and allow=ulaw. A literal semi-colon is rewritten to
+         ^3B when stored in the database. The module uses a stringfield to
+         efficiently store the encoded parameters. However, this
+         stringfield wasn't always freed in some off-nominal cases. Commit
+         r413241 fixed initialization so the encoding for INSERT and
+         DELETE queries wouldn't crash. (Only SELECTs and UPDATEs worked
+         apparently.) But that commit forgot the frees. This change cleans
+         that up. Review: https://reviewboard.asterisk.org/r/3555/
+         ........ Merged revisions 414564 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414565 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414566 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-25 02:37 +0000 [r414543]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/core_unreal.c: core_unreal: Prevent double free of
+         core_unreal pvt When a channel is destroyed (such as via
+         ast_channel_release in off nominal paths in core_unreal), it will
+         attempt to free (via ast_free) the channel tech pvt. This is
+         problematic for a few reasons: 1. The channel tech pvt is an ao2
+         object in core_unreal. Free'ing the pvt directly is no good. 2.
+         The channel tech pvt's reference count is dropped just prior to
+         calling ast_channel_release, resulting in the pvt's destruction.
+         Hence, the channel destructor is free'ing an invalid pointer.
+         This patch keeps the dropping of the reference count, but sets
+         the pvt to NULL on the channel prior to releasing it. This models
+         what would occur if the channel was hung up directly. ........
+         Merged revisions 414542 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-23 17:36 +0000 [r414529]  Matthew Jordan <mjordan@digium.com>
+
+       * tests/test_cel.c, /: test_cel: Fix unit tests broken due to event
+         def changes from res_corosync This patch instructs test_cel to
+         skip any IE types it doesn't care about. The addition of the raw
+         and bitfield types caused the tests to fail. ........ Merged
+         revisions 414528 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-23 14:36 +0000 [r414475]  Kinsey Moore <kmoore@digium.com>
+
+       * main/event.c, /: Fix signed/unsigned build warnings ........
+         Merged revisions 414474 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-22 16:19 +0000 [r414417]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, apps/app_meetme.c: app_meetme: Don't interrupt MOH for
+         waitmarked users. Occasionally, when the last marked user leaves
+         the conference, waitmarked users don't get MOH if MOH is supposed
+         to be played while a waitmarked user is waiting for another
+         marked user. * Made not interrupt MOH when the user is a
+         waitmarked user. The waitmarked user doesn't need to hear any
+         leave announcements from the conference as the user would have
+         already heard different leave announcements if they were enabled.
+         Apparently DAHDI occasionally sends unending non-silent streams
+         to these users or a normal user still in the conference has
+         continuous high background noise. These non-silent streams cause
+         MOH to be suspended while the never ending "announcement" is
+         played. Issue caused by ASTERISK-13680. AST-1349 #close Reported
+         by: Tyler Stewart Review:
+         https://reviewboard.asterisk.org/r/3543/ ........ Merged
+         revisions 414401 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414402 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414404 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-22 16:09 +0000 [r414406]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * rest-api/api-docs/events.json, /, res/stasis/app.c,
+         res/ari/resource_events.c, include/asterisk/stasis_app.h,
+         include/asterisk/stasis.h, apps/app_userevent.c,
+         res/ari/resource_events.h, res/ari/ari_model_validators.c,
+         CHANGES, main/stasis.c, res/ari/ari_model_validators.h,
+         include/asterisk/stasis_channels.h, res/res_ari_events.c,
+         main/stasis_channels.c, res/res_stasis.c,
+         main/manager_channels.c, main/stasis_endpoints.c: ARI: Add
+         ability to raise arbitrary User Events User events can now be
+         generated from ARI. Events can be signalled with arbitrary json
+         variables, and include one or more of channel, bridge, or
+         endpoint snapshots. An application must be specified which will
+         receive the event message (other applications can subscribe to
+         it). The message will also be delivered via AMI provided a
+         channel is attached. Dialplan generated user event messages are
+         still transmitted via the channel, and will only be received by a
+         stasis application they are attached to or if the channel is
+         subscribed to. This change also introduces the multi object blob
+         mechanism used to send multiple snapshot types in a single
+         message. The dialplan app UserEvent was also changed to use multi
+         object blob, and a new stasis message type created to handle
+         them. ASTERISK-22697 #close Review:
+         https://reviewboard.asterisk.org/r/3494/ ........ Merged
+         revisions 414405 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-22 15:52 +0000 [r414403]  Jonathan Rose <jrose@digium.com>
+
+       * include/asterisk/bridge.h, res/parking/parking_bridge_features.c,
+         channels/chan_mgcp.c, res/res_pjsip_refer.c,
+         channels/chan_dahdi.c, channels/sig_analog.c, /,
+         channels/chan_sip.c, main/parking.c, main/bridge.c,
+         main/bridge_basic.c, res/parking/parking_applications.c,
+         include/asterisk/parking.h: res_pjsip_refer: Fix bugs involving
+         Parking/PJSIP/transfers PJSIP would never send the final 200
+         Notify for a blind transfer when transferring to parking. This
+         patch fixes that. In addition, it fixes a reference leak when
+         performing blind transfers to non-bridging extensions. Review:
+         https://reviewboard.asterisk.org/r/3485/ ........ Merged
+         revisions 414400 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-22 14:02 +0000 [r414331-414348]  Matthew Jordan <mjordan@digium.com>
+
+       * /, UPGRADE.txt: UPGRADE: Add note for REF_DEBUG flag ........
+         Merged revisions 414345 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414346 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414347 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_corosync.c, include/asterisk/stasis.h, main/app.c,
+         main/devicestate.c, main/event.c, main/stasis.c,
+         include/asterisk/devicestate.h, include/asterisk/event.h,
+         main/stasis_message.c, /, include/asterisk/event_defs.h:
+         res_corosync: Update module to work with Stasis (and compile)
+         This patch fixes res_corosync such that it works with Asterisk
+         12. This restores the functionality that was present in previous
+         versions of Asterisk, and ensures compatibility with those
+         versions by restoring the binary message format needed to pass
+         information from/to them. The following changes were made in the
+         core to support this: * The event system has been partially
+         restored. All event definition and event types in this patch were
+         pulled from Asterisk 11. Previously, we had hoped that this
+         information would live in res_corosync; however, the approach in
+         this patch seems to be better for a few reasons: (1)
+         Theoretically, ast_events can be used by any module as a binary
+         representation of a Stasis message. Given the structure of an
+         ast_event object, that information has to live in the core to be
+         used universally. For example, defining the payload of a device
+         state ast_event in res_corosync could result in an incompatible
+         device state representation in another module. (2) Much of this
+         representation already lived in the core, and was not easily
+         extensible. (3) The code already existed. :-) * Stasis message
+         types now have a message formatter that converts their payload to
+         an ast_event object. * Stasis message forwarders now handle
+         forwarding to themselves. Previously this would result in an
+         infinite recursive call. Now, this simply creates a new
+         forwarding object with no forwards set up (as it is the thing it
+         is forwarding to). This is advantageous for res_corosync, as
+         returning NULL would also imply an unrecoverable error. Returning
+         a subscription in this case allows for easier handling of message
+         types that are published directly to an aggregate topic that has
+         forwarders. Review: https://reviewboard.asterisk.org/r/3486/
+         ASTERISK-22912 #close ASTERISK-22372 #close ........ Merged
+         revisions 414330 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-21 22:24 +0000 [r414297]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/core_unreal.c: core_unreal: Only block media frames when
+         a generator is on both ends of an unreal channel. The fix for
+         ASTERISK-12292 was a bit too aggressive. You could have
+         generators pointed at each other on local channels but need to
+         get other kinds of frames such as DTMF or CONNECTED_LINE frames
+         accross. ........ Merged revisions 414269 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414270 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414272 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-21 19:08 +0000 [r414217]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, funcs/func_strings.c: pbx.c: prevent potential crash from
+         recursive replace() Recurisve usage of replace() resulted in
+         corruption of the temporary string storage and potential crash.
+         By changing the string to be allocated separtely per instance,
+         this is eliminated. ASTERISK-23650 #comment Reported by: Roel van
+         Meer ASTERISK-23650 #close Review:
+         https://reviewboard.asterisk.org/r/3539/ ........ Merged
+         revisions 414214 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414215 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414216 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-19 19:52 +0000 [r414196]  Paul Belanger <paul.belanger@polybeacon.com>
+
+       * res/res_stasis_answer.c, /: Replace __ast_answer with
+         ast_raw_answer in app_control_answer While load testing an ARI
+         application, I noticed asterisk was returning HTTP 500 internal
+         server errors on channels/:id/answer. After talking to
+         #asterisk-dev, the issue appeared to be a lack of media flowing
+         after __ast_answer() was called. So now, we call ast_raw_answer
+         instead and no longer wait for media. ASTERISK-23758 #close
+         Review: https://reviewboard.asterisk.org/r/3549/ ........ Merged
+         revisions 414195 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-19 01:10 +0000 [r414123-414138]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/channel.h, bridges/bridge_native_rtp.c,
+         main/bridge_channel.c, res/res_pjsip_refer.c,
+         res/res_pjsip_session.c, main/channel.c, /, main/framehook.c:
+         Undo r414123 The Test Suite caught a few problems, undoing until
+         those are resolved
+
+       * include/asterisk/channel.h, bridges/bridge_native_rtp.c,
+         main/bridge_channel.c, res/res_pjsip_session.c, main/channel.c,
+         /, main/framehook.c: bridge_native_rtp/bridge_channel: Fix direct
+         media issues due to frame hook This patch fixes issues with
+         direct media bridges that occur after a blind transfer. These
+         issues were caught by the (currently failing)
+         pjsip/transfers/blind_transfer/caller_direct_media test. The test
+         currently fails primarily for two reasons: (1) When Bob and
+         Charlie (the transfer target and the transfer destination) enter
+         a bridge together, the framehook remains on the transfer target
+         channel until both channels are in the bridge. As it consumes
+         voice frames, the initial bridge type is a simple bridge. The
+         framehook is removed when both channels are in the bridge;
+         however, this does not currently cause the bridging framework to
+         re-evaluate the bridge. This patch adds a AST_SOFTHANGUP_UNBRIDGE
+         poke to the transfer target channel when a framehook is removed
+         so the bridge can re-evaluate itself. (2) When a channel leaves a
+         native RTP bridge, it may be leaving due to being hung up.
+         Sending a re-INVITE to a channel that is about to be hung up is
+         not nice - in fact, there's a good chance we'll send the BYE
+         request before the channel has had a chance to send back a 200
+         OK. To be somewhat nicer, this patch adds a function to channel.h
+         that allows the bridging framework to query for exactly why a
+         channel is leaving a bridge via the channel's soft hangup flags.
+         This allows it to only send the re-INVITE if there's a chance the
+         channel will survive the native bridging experience. Review:
+         https://reviewboard.asterisk.org/r/3535/ ........ Merged
+         revisions 414122 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-16 20:06 +0000 [r413994-414070]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, channels/chan_dahdi.c: chan_dahdi: Fix analog dialtone
+         detection. * Check if waitingfordt (waitfordialtone) is enabled
+         in dahdi_read() to allow the DSP to operate early enough to
+         detect dialtone. * Made use the correct variable in
+         my_check_waitingfordt(). ASTERISK-23709 #close Reported by: Steve
+         Davies Patches: dialtone_detect_fix (license #5012) patch
+         uploaded by Steve Davies Review:
+         https://reviewboard.asterisk.org/r/3534/ ........ Merged
+         revisions 414067 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 414068 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414069 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/sig_pri.c, /: sig_pri.c: Pull the pri_dchannel()
+         PRI_EVENT_RING case into its own function. * Populate the
+         CALLERID(ani2) value (and the special CALLINGANI2 channel
+         variable) with the ANI2 value in addition to the PRI specific
+         ANI2 channel variable. * Made complete snapshot staging with the
+         channel lock held. All channel snapshots need to be done while
+         the channel lock is held. ........ Merged revisions 414050 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 414051 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_meetme.c: app_meetme: Fix overwrite of DAHDI
+         conference data structure. Starting a conference recording using
+         the admin menu overwrites the DAHDI conference data structure
+         used to modify the admin user's conference mute mode. * Made no
+         longer pass the user's DAHDI conference data structure into the
+         menu functions. The menu now uses its own DAHDI conference data
+         structure to start the recording channel. * Moved the unlock
+         conf->playlock to before playing the conf-full message. No sense
+         keeping the lock while that prompt is playing. The user is never
+         going to get into the conference at that point. ........ Merged
+         revisions 413991 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413992 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413993 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-14 15:41 +0000 [r413897]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, res/res_musiconhold.c: res_musiconhold: Minor cleanup. Fix a
+         few free()'s that should be ast_free()'s. Reverted an old
+         workaround that isn't necessary. Reorder a tiny bit of code.
+         Remove a bit of commented-out code. Review:
+         https://reviewboard.asterisk.org/r/3536/ ........ Merged
+         revisions 413894 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413895 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413896 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-13 18:09 +0000 [r413878]  Jonathan Rose <jrose@digium.com>
+
+       * main/netsock2.c, /, channels/chan_sip.c,
+         include/asterisk/netsock2.h: chan_sip: Add TLS and SRTP status to
+         CLI command 'sip show channel' ASTERISK-23564 #close Reported by:
+         Patrick Laimbock Review: https://reviewboard.asterisk.org/r/3474/
+         ........ Merged revisions 413876 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413877 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-13 13:53 +0000 [r413790-413793]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * res/res_format_attr_h264.c, /: h264: Fix H264 SDP payload format.
+         https://tools.ietf.org/html/rfc3984#section-8.1 says
+         profile-level-id takes 3 bytes in base16 (6 hex digits). This
+         fixes video setup in certain cases. ASTERISK-23664 #close
+         ASTERISK-23664 #comment Patch r3530.patch uploaded by Guillaume
+         Maudoux. Review: https://reviewboard.asterisk.org/r/3530/
+         ........ Merged revisions 413791 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413792 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/rtp_engine.c: rtp: Fix case typo in H263+ mime.
+         http://tools.ietf.org/html/rfc3555#section-4.2.6 says the
+         canonical mime subtype is "H263-1998", not "h263-1998". Original
+         code was added in r183101 on 2009-03-19 02:26:50 +0100. This
+         fixes issues with Polycom phones. ASTERISK-23665 #close
+         ASTERISK-23665 #comment Patch r3529.patch uploaded by Guillaume
+         Maudoux, backported by me. Review:
+         https://reviewboard.asterisk.org/r/3529/ ........ Merged
+         revisions 413787 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413788 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413789 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-13 00:35 +0000 [r413770-413772]  Richard Mudgett <rmudgett@digium.com>
+
+       * configure.ac, channels/sig_pri.c, /, configure,
+         include/asterisk/autoconfig.h.in: chan_dahdi/sig_pri: Prevent
+         unnecessary PROGRESS events when overlap dialing is enabled. When
+         overlap dialing is enabled, the lack of inband audio available
+         information in the SETUP_ACKNOWLEDGE events causes an
+         interoperability problem with SIP. sig_pri doesn't know if there
+         is dialtone present when a SETUP_ACKNOWLEDGE is received so it
+         assumes it is there and posts an AST_CONTROL_PROGRESS frame. The
+         SIP channel driver then sends out a 183 Session Progress and
+         blocks the desired 180 Ringing message when the ALERTING message
+         comes in. * Made the configure script detect if the installed
+         version of libpri supports the SETUP_ACKNOWLEDGE enhancements. *
+         Using the new API, made generate an AST_CONTROL_PROGRESS frame on
+         an incoming SETUP_ACKNOWLEDGE message when the message indicates
+         inband audio is present instead of assuming that dialtone is
+         present. * Using the new API, made SETUP_ACKNOWLEDGE send out an
+         inband audio available indication only if dialtone is expected.
+         The change also makes the fallback behaviour of sending the
+         PROGRESS message better by sending it only if dialtone is
+         expected. * Changed receiving a PROCEEDING message to not
+         generate an AST_CONTROL_PROGRESS frame if the progress indication
+         ie indicates non-end-to-end-ISDN. This helps interoperability
+         with SIP. * Changed sending a PROCEEDING message in response to
+         an AST_CONTROL_PROCEEDING frame to not indicate inband audio
+         available. It was silly to do so anyway because the channel
+         driver doesn't know if inband audio is even available. This helps
+         interoperability with SIP. This patch and a corresponding change
+         in libpri work together to allow Asterisk to control the inband
+         audio available progress indication ie on the SETUP_ACKNOWLEDGE
+         message when dialtone is present. AST-1338 #close Reported by:
+         Tyler Stewart Review: https://reviewboard.asterisk.org/r/3521/
+         ........ Merged revisions 413714 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413765 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413771 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/sig_pri.c: Fix compiler warning from GCC 4.10 fixup.
+         ........ Merged revisions 413766 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-12 22:33 +0000 [r413713]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_chanspy.c, /: app_chanspy: Fix a test that was failing
+         on account of r413551 ASTERISK-23381 #close ASTERISK-23381
+         #comment Reported by: Robert Moss Review:
+         https://reviewboard.asterisk.org/r/3505/ ........ Merged
+         revisions 413710 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413712 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-11 02:09 +0000 [r413651-413682]  Joshua Colp <jcolp@digium.com>
+
+       * main/bridge_basic.c, include/asterisk/channel.h,
+         bridges/bridge_native_rtp.c, include/asterisk/framehook.h,
+         main/channel.c, /, main/framehook.c: framehooks: Add callback for
+         determining if a hook is consuming frames of a specific type. In
+         the past framehooks have had no capability to determine what
+         frame types a hook is actually interested in consuming. This has
+         meant that code has had to assume they want all frames, thus
+         preventing native bridging. This change adds a callback which
+         allows a framehook to be queried for whether it is consuming a
+         frame of a specific type. The native RTP bridging module has also
+         been updated to take advantange of this, allowing native bridging
+         to occur when previously it would not. ASTERISK-23497 #comment
+         Reported by: Etienne Lessard ASTERISK-23497 #close Review:
+         https://reviewboard.asterisk.org/r/3522/ ........ Merged
+         revisions 413681 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/channel.h, bridges/bridge_native_rtp.c,
+         include/asterisk/framehook.h, main/channel.c, /,
+         main/framehook.c, main/bridge_basic.c: Undoing framehook support.
+         Issues were uncovered by Bamboo.
+
+       * /, main/framehook.c, main/bridge_basic.c,
+         include/asterisk/channel.h, bridges/bridge_native_rtp.c,
+         include/asterisk/framehook.h, main/channel.c: framehooks: Add
+         callback for determining if a hook is consuming frames of a
+         specific type. In the past framehooks have had no capability to
+         determine what frame types a hook is actually interested in
+         consuming. This has meant that code has had to assume they want
+         all frames, thus preventing native bridging. This change adds a
+         callback which allows a framehook to be queried for whether it is
+         consuming a frame of a specific type. The native RTP bridging
+         module has also been updated to take advantange of this, allowing
+         native bridging to occur when previously it would not.
+         ASTERISK-23497 #comment Reported by: Etienne Lessard
+         ASTERISK-23497 #close Review:
+         https://reviewboard.asterisk.org/r/3522/ ........ Merged
+         revisions 413650 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-09 23:18 +0000 [r413589-413599]  Kinsey Moore <kmoore@digium.com>
+
+       * /, funcs/func_env.c: Fix 32bit build for func_env ........ Merged
+         revisions 413592 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413595 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413597 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_festival.c, pbx/dundi-parser.c, apps/app_getcpeid.c,
+         main/netsock.c, funcs/func_channel.c, main/audiohook.c,
+         pbx/pbx_config.c, res/res_pjsip_registrar.c, main/xmldoc.c,
+         channels/iax2/firmware.c, apps/app_voicemail.c, main/format.c,
+         cel/cel_pgsql.c, main/rtp_engine.c, main/parking.c,
+         main/bridge.c, res/res_jabber.c, res/res_http_websocket.c,
+         main/config.c, res/res_format_attr_opus.c, main/loader.c,
+         res/parking/parking_bridge.c, main/cdr.c, main/manager.c,
+         include/asterisk/astobj.h, main/bucket.c, apps/app_dumpchan.c,
+         main/app.c, res/res_pjsip/config_transport.c,
+         res/res_pjsip_refer.c, channels/chan_mgcp.c,
+         res/res_rtp_asterisk.c, main/slinfactory.c, main/core_unreal.c,
+         res/res_pjsip_sdp_rtp.c, res/res_crypto.c, main/acl.c,
+         channels/sig_pri.c, res/res_monitor.c, res/res_srtp.c,
+         main/data.c, res/res_corosync.c, channels/sip/config_parser.c,
+         res/res_fax_spandsp.c, apps/app_stack.c, main/asterisk.c,
+         main/udptl.c, res/res_sorcery_config.c, main/security_events.c,
+         res/res_timing_dahdi.c, res/res_pjsip_t38.c,
+         res/res_musiconhold.c, main/taskprocessor.c,
+         res/res_format_attr_h263.c, res/res_xmpp.c, res/res_pktccops.c,
+         funcs/func_hangupcause.c, channels/chan_phone.c,
+         main/manager_bridges.c, cel/cel_odbc.c, channels/chan_skinny.c,
+         channels/chan_motif.c, res/res_agi.c, main/logger.c,
+         funcs/func_srv.c, channels/chan_alsa.c, apps/app_confbridge.c,
+         res/res_pjsip_pubsub.c, channels/sip/include/sip.h, main/sched.c,
+         apps/app_adsiprog.c, main/pbx.c, channels/chan_sip.c,
+         res/res_fax.c, main/aoc.c, res/res_calendar_ews.c,
+         res/parking/parking_bridge_features.c, channels/iax2/parser.c,
+         main/callerid.c, main/file.c,
+         res/res_pjsip/pjsip_configuration.c, main/adsi.c,
+         main/config_options.c, pbx/pbx_dundi.c, funcs/func_iconv.c,
+         main/bridge_channel.c, res/res_odbc.c, channels/chan_pjsip.c,
+         res/parking/parking_manager.c, res/res_calendar.c, /,
+         funcs/func_sysinfo.c, main/utils.c, cdr/cdr_adaptive_odbc.c,
+         res/res_calendar_caldav.c, res/res_stasis_snoop.c,
+         res/res_format_attr_h264.c, main/channel.c, res/ael/pval.c,
+         res/res_ari_model.c, channels/chan_dahdi.c,
+         channels/sig_analog.c, funcs/func_frame_trace.c,
+         res/res_format_attr_silk.c, main/manager_channels.c,
+         apps/app_dial.c, res/res_calendar_icalendar.c, main/translate.c,
+         apps/app_queue.c, channels/chan_jingle.c, res/res_stun_monitor.c,
+         main/abstract_jb.c, res/res_stasis_recording.c, apps/app_sms.c,
+         main/event.c, apps/app_verbose.c, main/dsp.c,
+         channels/chan_unistim.c, main/frame.c, res/res_stasis_playback.c,
+         main/ccss.c, funcs/func_env.c, main/devicestate.c,
+         bridges/bridge_softmix.c, channels/chan_gtalk.c,
+         channels/chan_iax2.c, main/enum.c, main/cli.c,
+         res/res_format_attr_celt.c, apps/confbridge/conf_config_parser.c,
+         main/io.c, channels/pjsip/dialplan_functions.c,
+         res/res_config_odbc.c, res/res_pjsip/location.c,
+         res/res_pjsip_outbound_registration.c, formats/format_pcm.c,
+         apps/app_minivm.c, main/stdtime/localtime.c, main/stun.c: Allow
+         Asterisk to compile under GCC 4.10 This resolves a large number
+         of compiler warnings from GCC 4.10 which cause the build to fail
+         under dev mode. The vast majority are signed/unsigned mismatches
+         in printf-style format strings. ........ Merged revisions 413586
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 413587 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413588 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-09 18:15 +0000 [r413572]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/http.c: http.c: Remove dead code.
+
+2014-05-09 17:03 +0000 [r413557]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_chanspy.c, /: app_chanspy: Fix a bug where Barge mode
+         could fail If the barge audiohook was attached prior to the spyee
+         and its peer actually being bridged, the audiohook would not be
+         applied and the connected peer would not be able to hear audio
+         from the spy when the spy is in barge mode. (closes issue
+         ASTERISK-23381) Reported by: Robert Moss Review:
+         https://reviewboard.asterisk.org/r/3505/ ........ Merged
+         revisions 413551 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413556 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-08 00:36 +0000 [r413488]  Joshua Colp <jcolp@digium.com>
+
+       * apps/app_queue.c, main/manager.c, /: app_queue: Extend
+         documentation for various Manager actions and events. ........
+         Merged revisions 413485 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413486 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413487 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-07 21:58 +0000 [r413469]  Mark Michelson <mmichelson@digium.com>
+
+       * funcs/func_presencestate.c: Ensure that presence state is decoded
+         properly on Asterisk startup. The CustomPresence provider
+         callback will automatically base64 decode stored data if the 'e'
+         option was present when the state was set. However, since the
+         provider callback was bypassed on Asterisk startup, encoded
+         presence subtypes and messages were being sent instead. This fix
+         makes it so the provider callback is always used when providing
+         presence state updates.
+
+2014-05-07 20:59 +0000 [r413453-413455]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_confbridge.c, /: app_confbridge: Fixed "CBAnn" channels
+         not going away. Fixed a ref leak in conf_handle_talker_cb()
+         everytime the conference bridge was found to report a channel's
+         talker status change. The resulting leak caused the "CBAnn"
+         channels and the conference bridge to never be destroyed. Thanks
+         to Richard Kenner on the asterisk-user's list for locating the
+         problem. Reported by: Richard Kenner ........ Merged revisions
+         413454 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_confbridge.c, /: app_confbridge: Fix ref leak in CLI
+         "confbridge kick" command. Fixed ref leak in the CLI "confbridge
+         kick" command when the channel to be kicked was not in the
+         conference. ........ Merged revisions 413451 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413452 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-07 17:56 +0000 [r413307-413399]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_config_odbc.c, /: Fix encoding of custom prepare extra
+         data. Patches: res_config_odbc-take2.patch by John Hardin
+         (License #6512) ........ Merged revisions 413396 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413397 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413398 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip/presence_xml.c, /,
+         res/res_pjsip_pidf_digium_body_supplement.c: Improve XML
+         sanitization in NOTIFYs, especially for presence subtypes and
+         messages. Embedded carriage return line feed combinations may
+         appear in presence subtypes and messages since they may be
+         derived from user input in an instant messenger client. As such,
+         they need to be properly escaped so that XML parsers do not vomit
+         when the messages are received. ........ Merged revisions 413372
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_registrar.c, /: Check for an act on failures to
+         update contacts during registration. There was an underlying
+         issue in a realtime backend where database updates would fail.
+         Since we were not checking for failure, we would end up in a
+         strange state where the old database entry was still present but
+         Asterisk thought that it had been updated. Now when an entry
+         fails to update, we print a warning and delete the old contact
+         from sorcery so there is no mismatch between foreground and
+         backend state. Patches: res_pjsip_registrar.patch by John Hardin
+         (License #6512) ........ Merged revisions 413358 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_config_odbc.c, /: Ensure that all parts of SQL UPDATEs
+         and DELETEs are encoded. Patches: res_config_odbc.patch by John
+         Hardin (License #6512) ........ Merged revisions 413304 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413305 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413306 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-02 20:28 +0000 [r413227-413263]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_config_odbc.c: Prevent crashes in res_config_odbc due
+         to uninitialized string fields. Patches: odbc-crash.patch by John
+         Hardin (License #6512) ........ Merged revisions 413241 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413251 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413258 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_config_pgsql.c, /: Return the number of rows affected by
+         a SQL insert, rather than an object ID. The realtime API
+         specifies that the store callback is supposed to return the
+         number of rows affected. res_config_pgsql was instead returning
+         an Oid cast as an int, which during any nominal execution would
+         be cast to 0. Returning 0 when more than 0 rows were inserted
+         causes problems to the function's callers. To give an idea of how
+         strange code can be, this is the necessary code change to fix a
+         device state issue reported against chan_pjsip in Asterisk 12+.
+         The issue was that the registrar would attempt to insert contacts
+         into the database. Because of the 0 return from res_config_pgsql,
+         the registrar would think that the contact was not successfully
+         inserted, even though it actually was. As such, even though the
+         contact was query-able and it was possible to call the endpoint,
+         Asterisk would "think" the endpoint was unregistered, meaning it
+         would report the device state as UNAVAILABLE instead of
+         NOT_INUSE. The necessary fix applies to all versions of Asterisk,
+         so even though the bug reported only applies to Asterisk 12+, the
+         code correction is being inserted into 1.8+. Closes issue
+         ASTERISK-23707 Reported by Mark Michelson ........ Merged
+         revisions 413224 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 413225 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413226 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-02 16:39 +0000 [r413211]  Richard Mudgett <rmudgett@digium.com>
+
+       * UPGRADE.txt, res/res_pjsip_refer.c, /, channels/chan_sip.c:
+         res_pjsip_refer: Add Referred-By header on INVITE for blind
+         transfers. Per rfc3892, the Referred-By header in a REFER must be
+         copied into the referenced request (IE. The outgoing INVITE to
+         the transfer target). * Automatically put the Referred-By header
+         in the outgoing INVITE message if the SIPREFERREDBYHDR channel
+         variable is defined with a value. * Made
+         chan_sip.c:get_refer_info() set SIPREFERREDBYHDR for inheritance
+         so chan_pjsip has a better chance to interoperate. * Fixed
+         refer_blind_callback() and refer_incoming_refer_request() to not
+         modify the data in the pointer returned by
+         pjsip_msg_find_hdr_by_name(). It seems wrong to modify that data
+         since the calling routine doesn't own the buffer. ASTERISK-23501
+         #close Reported by: John Bigelow Review:
+         https://reviewboard.asterisk.org/r/3514/ ........ Merged
+         revisions 413210 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-02 16:06 +0000 [r413197]  Jonathan Rose <jrose@digium.com>
+
+       * res/parking/res_parking.h, /, CHANGES,
+         res/parking/parking_bridge_features.c,
+         res/parking/parking_manager.c: Parking: Add 'AnnounceChannel'
+         argument to manager action 'Park' (closes ASTERISK-23397)
+         Reported by: Denis Review:
+         https://reviewboard.asterisk.org/r/3446/ ........ Merged
+         revisions 413196 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-01 16:21 +0000 [r413174-413183]  Mark Michelson <mmichelson@digium.com>
+
+       * funcs/func_presencestate.c: Make behavior of the PRESENCE_STATE
+         'e' option more consistent. When writing presence state, if 'e'
+         is specified, then the presence state will be stored in the astdb
+         encoded. However, consumers of presence state events or those
+         that query for the presence state will be given decoded
+         information. If base64 encoding is desired for consumers, then
+         the information can be base64-encoded manually and the 'e' option
+         can be omitted. closes issue ASTERISK-23671 Reported by Mark
+         Michelson Review: https://reviewboard.asterisk.org/r/3482
+
+       * res/res_pjsip_exten_state.c, /: Remove unnecessary repetition
+         checks from res_pjsip_exten_state The PBX core already takes care
+         of ensuring that repeated state changes are not communicated to
+         exten state consumers. Because the check in res_pjsip_exten_state
+         was incomplete, it was causing valid presence state changes not
+         to be sent out. For instance, if the presence state did not
+         change but the message or subtype did, then no presence-related
+         NOTIFY request would be sent out. closes issue ASTERISK-23672
+         Reported by Mark Michelson ........ Merged revisions 413173 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-05-01 12:31 +0000 [r413160]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip/config_transport.c, /: res_pjsip: Add the ability
+         to configure ciphers based on name. Previously this code would
+         only accept the OpenSSL identifier instead of the documented
+         name. ASTERISK-23498 #close ASTERISK-23498 #comment Reported by:
+         Anthony Messina Review: https://reviewboard.asterisk.org/r/3491/
+         ........ Merged revisions 413159 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-30 21:03 +0000 [r413144]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/message.c, /, channels/chan_sip.c,
+         include/asterisk/message.h, res/res_pjsip_messaging.c:
+         chan_sip.c: Fixed off-nominal message iterator ref count and
+         alloc fail issues. * Fixed early exit in sip_msg_send() not
+         destroying the message iterator. * Made
+         ast_msg_var_iterator_next() and ast_msg_var_iterator_destroy()
+         tolerant of a NULL iter parameter in case
+         ast_msg_var_iterator_init() fails. * Made
+         ast_msg_var_iterator_destroy() clean up any current message data
+         ref. * Made struct ast_msg_var_iterator,
+         ast_msg_var_iterator_init(), ast_msg_var_iterator_next(),
+         ast_msg_var_unref_current(), and ast_msg_var_iterator_destroy()
+         use iter instead of i. * Eliminated RAII_VAR usage in
+         res_pjsip_messaging.c:vars_to_headers(). ........ Merged
+         revisions 413139 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413142 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-30 20:39 +0000 [r413141]  Joshua Colp <jcolp@digium.com>
+
+       * /, channels/chan_pjsip.c: chan_pjsip: Fix deadlock when
+         retrieving call-id of channel. If a task was in-flight which
+         required the channel or bridge lock it was possible for the
+         synchronous task retrieving the call-id to deadlock as it holds
+         those locks. After discussing with Mark Michelson the synchronous
+         task was removed and the call-id accessed directly. This should
+         be safe as each object involved is guaranteed to exist and the
+         call-id will never change. ........ Merged revisions 413140 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-30 13:08 +0000 [r413125]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_http_websocket.c, /: Websocket: Add session locking and
+         delay close This resolves a race condition where data could be
+         written to a NULL FILE pointer causing a crash as a websocket
+         connection was in the process of shutting down by adding locking
+         to websocket session writes and by deferring session teardown
+         until session destruction. (closes issue ASTERISK-23605) Review:
+         https://reviewboard.asterisk.org/r/3481/ Reported by: Matt Jordan
+         ........ Merged revisions 413123 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413124 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-30 12:42 +0000 [r413118-413122]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/stasis/control.c: res_stasis: Add progress indications to
+         operations which perform media. This change fixes operations
+         which did not account for the fact that they may be executed on
+         channels which have not been answered. These operations will now
+         indicate progress when invoked. ASTERISK-23560 #close
+         ASTERISk-23560 #comment Reported by: Jan Svoboda Review:
+         https://reviewboard.asterisk.org/r/3495/ ........ Merged
+         revisions 413121 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix issue where
+         sending a hold SDP twice could cause an unhold. This change fixes
+         a bug where if an SDP with media address and sendonly was
+         received twice the underlying call would go off hold, instead of
+         remaining on hold. This occured because the code did not properly
+         take into account that the SDP may contain both a valid media
+         address and the sendonly attribute. The code now examines the
+         sendonly attribute and media address first, so if the SDP is
+         received again no change will occur. ASTERISK-23558 #comment
+         Reported by: John Bigelow Review:
+         https://reviewboard.asterisk.org/r/3472/ ........ Merged
+         revisions 413119 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_pjsip.c, res/res_pjsip_session.c, /: chan_pjsip:
+         Add support for picking up calls in the configured pickup group.
+         AST-1363 Review: https://reviewboard.asterisk.org/r/3478/
+         ........ Merged revisions 413117 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-29 15:10 +0000 [r413103]  George Joseph <george.joseph@fairview5.com>
+
+       * /, include/asterisk/spinlock.h: Add "destroy" implementation for
+         spinlock. The original commit for spinlock was missing "destroy"
+         implementations. Most of them are no-ops but phtread_spin and
+         pthread_mutex do need their locks destroyed. ........ Merged
+         revisions 413102 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-29 11:27 +0000 [r413089]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_pjsip.c, /: chan_pjsip: Implement core ability to
+         get Call-ID of a channel. This changes implement the
+         "get_pvt_uniqueid" which is used to return the technology
+         specific unique identifier. In the case of SIP this is the
+         Call-ID of the dialog. Review:
+         https://reviewboard.asterisk.org/r/3480/ ........ Merged
+         revisions 413088 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-28 20:07 +0000 [r413074]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/bridge.c, main/bridge_basic.c: Bridging: Don't lock NULL
+         bridges When bridge locking was added for bridge snapshot
+         creation, some locations where bridge locking was added were not
+         guaranteed to actually have a bridge and locking NULL AO2 objects
+         tends to cause segfaults. This ensures that NULL bridges aren't
+         locked. ........ Merged revisions 413073 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-28 14:40 +0000 [r413060]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_manager_presencestate.c (added), main/devicestate.c,
+         CHANGES, main/presencestate.c, res/res_manager_devicestate.c
+         (added): Add DeviceStateChanged and PresenceStateChanged AMI
+         events. These events are controlled by two new modules,
+         res_manager_devicestate and res_manager_presencestate. Review:
+         https://reviewboard.asterisk.org/r/3417
+
+2014-04-28 07:43 +0000 [r413048]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>
+
+       * UPGRADE.txt, CHANGES, channels/chan_unistim.c,
+         configs/unistim.conf.sample: Introducing changes proposed to
+         chan_unistim driver: 1) Added the unistim.conf variable
+         dtmf_duration which can select the DTMF playback duration from
+         0ms to 150ms (0 is off and is the new default) 2) Enabled the
+         transmission of month names, which are sent with the date and
+         changed the dateformat variable to accept the values 0-3 as per
+         the UNISTIM standard (2 & 3 match the previous 1 & 2 formats). 3)
+         Enabled the "Mute" packet so muting microphone works as expected
+         and microphone muted for all calls while LED light on 4) Changed
+         Duree to Timer on i2004 display (closes issue ASTERISK-23592)
+
+2014-04-27 19:29 +0000 [r413036]  Olle Johansson <oej@edvina.net>
+
+       * main/tcptls.c: tcptls.c : Log errors as ERROR, not warning or
+         something else.
+
+2014-04-25 19:26 +0000 [r413012]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Add support for DTLS
+         handshake retransmissions On congested networks, it is possible
+         for the DTLS handshake messages to get lost. This patch adds a
+         timer to res_rtp_asterisk that will periodically check to see if
+         the handshake has succeeded. If not, it will retransmit the DTLS
+         handshake. Review: https://reviewboard.asterisk.org/r/3337
+         ASTERISK-23649 #close Reported by: Nitesh Bansal patches:
+         dtls_retransmission.patch uploaded by Nitesh Bansal (License
+         6418) ........ Merged revisions 413008 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 413009 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-24 14:37 +0000 [r412993]  Kevin Harwell <kharwell@digium.com>
+
+       * /,
+         contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py
+         (added): pjsip realtime: increase the size of some columns The
+         string lengths on certain columns created through alembic for
+         PJSIP were too short. For instance, columns containing URIs are
+         currently set to 40 characters, but this can be too small and
+         result in truncated values. Added an alembic migration script
+         that increases the size of these columns and a few others to 255.
+         ASTERISK-23639 #close Reported by: Mark Michelson Review:
+         https://reviewboard.asterisk.org/r/3475/ ........ Merged
+         revisions 412992 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-23 20:13 +0000 [r412977]  George Joseph <george.joseph@fairview5.com>
+
+       * include/asterisk/spinlock.h (added), /, configure,
+         include/asterisk/autoconfig.h.in, configure.ac: This patch adds
+         support for spinlocks in Asterisk. There are cases in Asterisk
+         where it might be desirable to lock a short critical code section
+         but not incur the context switch and yield penalty of a mutex or
+         rwlock. The primary spinlock implementations execute exclusively
+         in userspace and therefore don't incur those penalties. Spinlocks
+         are NOT meant to be a general replacement for mutexes. They
+         should be used only for protecting short blocks of critical code
+         such as simple compares and assignments. Operations that may
+         block, hold a lock, or cause the thread to give up it's timeslice
+         should NEVER be attempted in a spinlock. The first use case for
+         spinlocks is in astobj2 - internal_ao2_ref. Currently the
+         manipulation of the reference counter is done with an
+         ast_atomic_fetchadd_int which works fine. When weak reference
+         containers are introduced however, there's an additional
+         comparison and assignment that'll need to be done while the lock
+         is held. A mutex would be way too expensive here, hence the
+         spinlock. Given that lock contention in this situation would be
+         infrequent, the overhead of the spinlock is only a few more
+         machine instructions than the current ast_atomic_fetchadd_int
+         call. ASTERISK-23553 #close Review:
+         https://reviewboard.asterisk.org/r/3405/ ........ Merged
+         revisions 412976 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-23 18:03 +0000 [r412925]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/http.c: http: Fix spurious ERROR message in responses
+         with no content. Backport -r411687 and fix the fix because
+         content_length is the length of out plus the length of the file
+         controlled by fd. When a response has an out content length of 0,
+         fwrite would be called to write a buffer with no data in it. This
+         resulted in the following classic error message: [Apr 3 11:49:17]
+         ERROR[26421] http.c: fwrite() failed: Success This patch makes it
+         so that we only attempt to write the content of out if the out
+         string is non-zero. ........ Merged revisions 412922 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 412923 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412924 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-23 15:02 +0000 [r412910]  Russell Bryant <russell@russellbryant.com>
+
+       * res/res_monitor.c, funcs/func_periodic_hook.exports.in (added),
+         main/asterisk.dynamics, funcs/func_periodic_hook.c: Fix error
+         loading res_monitor. For some odd reason, loading app_mixmonitor
+         was fine, but res_monitor was not. This patch fixes a set of
+         issues related to func_periodic_hook exporting the beep functions
+         that gets res_monitor working again.
+
+2014-04-22 10:09 +0000 [r412883]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/stasis/app.c: res_stasis: Fix crash when handling a failed
+         blind transfer message. This changes fixes a crash that occurs
+         when stasis determines if it should send a message out to an
+         application or not. The code incorrectly assumed that a bridge
+         snapshot would always be present when in reality for failure
+         cases it may not be. ASTERISK-23573 #close ........ Merged
+         revisions 412882 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-21 17:56 +0000 [r412759-412824]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES, /: chan_sip: trust_id_outbound CHANGES message
+         improvement (closes issue AST-1301) (closes issue ASTERISK-19465)
+         Reported by: Krzysztof Chmielewski ........ Merged revisions
+         412821 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 412822 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412823 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c, configs/sip.conf.sample, CHANGES,
+         channels/sip/include/sip.h: chan_sip: Add sendrpid trust options
+         In r411189, some behavior was changed which made sendrpid
+         behavior act in a more trusting manner by sending full user data
+         for peers set with private caller presence in P-Asserted-Identity
+         headers. Since this changed long time expected behaviors, we
+         decided to pull that patch when that was pointed out by the
+         community. Instead, this patch provides a trust_id_outbound
+         setting which will expose the data per RFC-3325 if set to 'yes'
+         and simply not send the PAI/RPID headers at all if set to 'no'.
+         By default trust_id_outbound will be set to 'legacy' which will
+         preserve the behavior prior to these patches. Extra special
+         thanks to Walter Doekes for providing advice and feedback.
+         (closes issue AST-1301) (closes issue ASTERISK-19465) Reported
+         by: Krzysztof Chmielewski Review:
+         https://reviewboard.asterisk.org/r/3447/ ........ Merged
+         revisions 412744 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 412746 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412747 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-21 16:16 +0000 [r412729-412750]  Kinsey Moore <kmoore@digium.com>
+
+       * main/http.c, main/manager.c, /: HTTP: Add TCP_NODELAY to accepted
+         connections This adds the TCP_NODELAY option to accepted
+         connections on the HTTP server built into Asterisk. This option
+         disables the Nagle algorithm which controls queueing of outbound
+         data and in some cases can cause delays on receipt of response by
+         the client due to how the Nagle algorithm interacts with TCP
+         delayed ACK. This option is already set on all non-HTTP AMI
+         connections and this change would cover standard HTTP requests,
+         manager HTTP connections, and ARI HTTP requests and websockets in
+         Asterisk 12+ along with any future use of the HTTP server.
+         Review: https://reviewboard.asterisk.org/r/3466/ ........ Merged
+         revisions 412745 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 412748 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412749 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_confbridge.c, /: Confbridge: Fix ConfbridgeKick AMI
+         documentation This adds documentation for the "all" channel
+         option for the ConfbridgeKick AMI action and adjusts AMI
+         responses accordingly. (issue ASTERISK-23282) Reported by: Dorian
+         Logan ........ Merged revisions 412730 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_confbridge.c: Confbridge: Add references for kick all
+         option After the ability to kick all attendees from a conference
+         was added, a rework removed the comment about that feature from
+         the CLI documentation. This adds that documentation and adds
+         "all" to the participant tab completion list for the confbridge
+         kick command. (closes issue ASTERISK-23282) Reported by: Dorian
+         Logan ........ Merged revisions 412728 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-21 08:36 +0000 [r412714]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>
+
+       * /, channels/chan_unistim.c: Fix wrong dialtone. The "modulation"
+         should not be referenced for tone+tone as it refers to the on-off
+         characteristic - this often resulted in a single tone rather than
+         the multitone as in the UK. ........ Merged revisions 412712 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412713 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-19 02:14 +0000 [r412697-412699]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/asterisk.c: main/asterisk: Fix startup sequence for
+         realtime features When ASTERISK-23265/ASTERISK-23320 was fixed,
+         it inadvertently led to realtime features breaking. This was due
+         to features loading prior to realtime. This patch fixes this by
+         loading features after loading dynamic modules. ASTERISK-23487
+         #close Reported by: Denis Tested by: Denis ........ Merged
+         revisions 412698 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_sms.c: app_sms: Fix uninitialized values; hangup
+         channel when REL is sent successfully This patch fixes two issues
+         in app_sms: (1) Firstly, the 'flags' field on the stack in
+         sms_exec() is uninitialised, causing it to use the wrong protocol
+         in some cases. This patch correctly initializes the flags fields.
+         (2) Secondly, when disconnect supervision is not working or
+         inbanddisconnect=yes is set in chan_dahdi.conf, app_sms was
+         failing to terminate the call after it sent the REL(ease) message
+         and the peer stopped talking to it. This patch fixes the code to
+         handle the 'bad stop bit' message more gracefully in that case,
+         and hang up the call. Review:
+         https://reviewboard.asterisk.org/r/1392/ ASTERISK-18331 #close
+         Reported by: David Woodhouse patches: asterisk-fix-sms.patch
+         uploaded by David Woodhouse (License 5754) ........ Merged
+         revisions 412655 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 412656 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412657 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-18 20:09 +0000 [r412641]  Jonathan Rose <jrose@digium.com>
+
+       * /, res/ari/resource_bridges.h, res/stasis/control.c,
+         include/asterisk/stasis_app.h, res/stasis/control.h,
+         res/ari/resource_channels.c, CHANGES, res/res_stasis.c,
+         rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
+         res/res_ari_bridges.c, res/res_stasis_playback.c: ARI: Make
+         bridges/{bridgeID}/play queue sound files Previously multiple
+         play actions against a bridge at one time would cause the sounds
+         to play simultaneously on the bridge. Now if a sound is already
+         playing, the play action will queue playback to occur after the
+         completion of other sounds currently on the queue. (closes issue
+         ASTERISK-22677) Reported by: John Bigelow Review:
+         https://reviewboard.asterisk.org/r/3379/ ........ Merged
+         revisions 412639 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-18 17:17 +0000 [r412589]  Rusty Newton <rnewton@digium.com>
+
+       * sounds/sounds.xml, sounds/Makefile, /: sounds: Fix Sounds
+         Makefile and XML that didn't support new sound prompt sets In
+         sounds/Makefile 1 Adds and moves some lines necessary for the
+         en_GB core set. I'm just following how the other sets are defined
+         here. 2 removes the ES extra sounds related lines as we don't
+         have ES extra sound sets. In sounds/sounds.xml 3 Adds member
+         definitons for EN_AU, EN_GB, IT for core sound sets, and EN_GB in
+         extra sound sets ASTERISK-23550 #close Review:
+         https://reviewboard.asterisk.org/r/3464/ ........ Merged
+         revisions 412586 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412587 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-18 17:02 +0000 [r412584]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip/location.c: Allow for multiple contacts to be
+         configured in a single contact= line. This is useful for
+         configuring multiple permanent contacts for an AOR when using
+         realtime AORs. Review: https://reviewboard.asterisk.org/r/3462
+         ........ Merged revisions 412582 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-18 16:44 +0000 [r412580-412583]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/dial.c, main/pbx.c, /, apps/app_originate.c,
+         include/asterisk/pbx.h: Originated calls: Fix several originate
+         call problems. * Restore the reason value set by
+         pbx_outgoing_attempt() to use AST_CONTROL_xxx values as all the
+         consumers were expecting rather than cause codes. * Fixed the
+         dial routines to set cause codes for more than just ast_request()
+         so pbx_outgoing_attempt() reason codes will function. * Fix
+         inconsistent locked_channel return status in
+         pbx_outgoing_attempt(). The chanel may not have been locked or
+         the channel may have been a stale pointer. * Fixed the
+         OutgoingSpoolFailed channel to run dialplan whenever the dialing
+         fails for an originate exten and 1 < synchronous. * Fix incorrect
+         ast_cond_wait() usage in pbx_outgoing_attempt(). Indroduced by
+         issue ASTERISK-22212 patch. * Made struct pbx_outgoing use the
+         ao2 lock instead of its own lock for the cond wait mutex. No
+         sense in having two locks associated with the same struct when
+         only one is needed. Review:
+         https://reviewboard.asterisk.org/r/3421/ ........ Merged
+         revisions 412581 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis_channels.c, apps/app_queue.c, apps/app_dial.c, /:
+         app_dial and app_queue: Make lock the forwarding channel while
+         taking the channel snapshot. * Fixed
+         ast_channel_publish_dial_forward() not locking the forwarded
+         channel when taking the channel snapshot. * Fixed
+         app_dial.c:do_forward() using the wrong channel to get the
+         original call forwarding string. * Removed unnecessary locking
+         when calling ast_channel_publish_dial() and
+         ast_channel_publish_dial_forward() in app_dial and app_queue.
+         Holding channel locks when calling
+         ast_channel_publish_dial_forward() with a forwarded channel could
+         result in pausing the system while the stasis bus completes
+         processsing a forwarded channel subscription. Review:
+         https://reviewboard.asterisk.org/r/3451/ ........ Merged
+         revisions 412579 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-18 14:25 +0000 [r412566]  Kinsey Moore <kmoore@digium.com>
+
+       * res/ari/ari_websockets.c, res/res_ari.c, main/manager.c, /: ARI:
+         Add debug logging for events and responses This adds DEBUG level
+         logging for ARI websocket events and HTTP responses similar to
+         what is available for AMI. Logging for ARI HTTP requests is
+         already adequate for debugging purposes. ........ Merged
+         revisions 412565 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-17 22:50 +0000 [r412552]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/location.c, res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
+         res/res_pjsip_registrar.c: res_pjsip: Handle reloading when
+         permanent contacts exist and qualify is configured. This change
+         fixes a problem where permanent contacts being qualified were not
+         being updated. This was caused by the permanent contacts getting
+         a uuid and not a known identifier, causing an inability to look
+         them up when updating in the qualify code. A bug also existed
+         where the new configuration may not be available immediately when
+         updating qualifies. (closes issue ASTERISK-23514) Reported by:
+         Richard Mudgett Review: https://reviewboard.asterisk.org/r/3448/
+         ........ Merged revisions 412551 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-17 22:42 +0000 [r412536-412550]  Jonathan Rose <jrose@digium.com>
+
+       * /, main/app.c: Fix a silly shadowed variable mistake that was
+         missed from play tones patch ........ Merged revisions 412549
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/ari/resource_bridges.h, main/app.c,
+         rest-api/api-docs/channels.json, CHANGES,
+         rest-api/api-docs/bridges.json, res/ari/resource_channels.h,
+         include/asterisk/app.h, res/res_stasis_playback.c: ARI: Add tones
+         playback resource Adds a tones URI type to the playback resource.
+         The tone can be specified by name (from indications.conf) or by a
+         tone pattern. In addition, tonezone can be specified in the URI
+         (by appending ;tonezone=<zone>). Tones must be stopped manually
+         in order for a stasis control to move on from playback of the
+         tone. Tones may be paused, resumed, restarted, and stopped. They
+         may not be rewound or fast forwarded (tones can't be controlled
+         in a way that lets you skip around from note to note and pausing
+         and resuming will also restart the tone from the beginning).
+         Tests are currently in development for this feature
+         (https://reviewboard.asterisk.org/r/3428/). (closes issue
+         ASTERISK-23433) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3427/ ........ Merged
+         revisions 412535 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-17 20:25 +0000 [r412467-412484]  Matthew Jordan <mjordan@digium.com>
+
+       * channels/chan_oss.c, /, main/Makefile: main/Makefile: Fix build
+         failure on SmartOS/Illumos/SunOS This patch fixes two issues when
+         building on SmartOS: - channels/chan_oss.c: it makes sure
+         soundcard.h is found - main/Makefile: only use
+         "-Wl,--version-script" when GNU LD is used as the Sun Linker
+         doesn't support that. Similar checks are already used elswhere in
+         the Makefile Review: https://reviewboard.asterisk.org/r/3426
+         ASTERISK-23576 #close Reported by: Sebastian Wiedenroth patches:
+         fix-sunos.diff uploaded by Sebastian Wiedenroth (License 6597)
+         ........ Merged revisions 412468 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412483 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/sip/include/sip.h, channels/chan_sip.c, CHANGES:
+         chan_sip: Add SIPURIPHONECONTEXT channel variable for Request TEL
+         URIs This patch is a continuation of
+         https://reviewboard.asterisk.org/r/3349/, committed in r412303.
+         It resolves a finding oej had that the phone-context be available
+         in a channel variable separate from SIPDOMAIN. This patch adds
+         that variable as SIPURIPHONECONTEXT. It also allows a local
+         number (or global number specified in the TEL URI) to be used to
+         look up as a peer. (issue ASTERISK-17179) Review:
+         https://reviewboard.asterisk.org/r/3349/
+
+2014-04-17 15:17 +0000 [r412454]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_refer.c, /: res_pjsip_refer: Channel variable
+         SIPREFERTOHDR not being set during blind transfer The
+         SIPREFERTOHDR channel variable is not being set on any channel
+         when performing a blind transfer using PJSIP. The
+         'refer->refer_to' was not being set during a blind transfer.
+         Updated so the 'refer_to' is set to the target uri on a blind
+         transfer. (closes issue ASTERISK-23502) Reported by: John Bigelow
+         Review: https://reviewboard.asterisk.org/r/3445/ ........ Merged
+         revisions 412453 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-16 19:14 +0000 [r412440]  Kinsey Moore <kmoore@digium.com>
+
+       * /, include/asterisk/stasis_app.h: Stasis: Add a usage note on
+         stasis_app_get_bridge This function returns an ast_bridge without
+         a refcount bump and the caller must increment the count if it
+         intends to hold the pointer. (closes issue ASTERISK-23588)
+         Review: https://reviewboard.asterisk.org/r/3450/ Reported by:
+         Matt Jordan ........ Merged revisions 412439 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-15 23:21 +0000 [r412427]  Russell Bryant <russell@russellbryant.com>
+
+       * bridges/bridge_builtin_features.c, include/asterisk/monitor.h,
+         CHANGES, apps/app_queue.c, funcs/func_periodic_hook.c,
+         apps/app_mixmonitor.c, include/asterisk/beep.h (added),
+         res/res_monitor.c: (mix)monitor: Add options to enable a periodic
+         beep Add an option to enable a periodic beep to be played into a
+         call if it is being recorded. If enabled, it uses the
+         PERIODIC_HOOK() function internally to play the 'beep' prompt
+         into the call at a specified interval. This option is provided
+         for both Monitor() and MixMonitor(). Review:
+         https://reviewboard.asterisk.org/r/3424/
+
+2014-04-15 18:30 +0000 [r412384-412414]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/stasis_channels.c, main/features_config.c,
+         res/res_parking.c, main/rtp_engine.c, /: Eliminate some more
+         unnecessary RAII_VAR() uses. RAII_VAR() is not a hammer
+         appropriate to pound all nails. ........ Merged revisions 412413
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis_playback.c, /, res/stasis/app.c, res/res_fax.c,
+         res/res_pjsip/security_events.c,
+         res/parking/parking_applications.c, channels/chan_oss.c,
+         main/stasis_bridges.c, res/res_pjsip_session.c,
+         res/stasis_recording/stored.c, main/cdr.c, res/res_parking.c,
+         channels/chan_skinny.c, res/res_pjsip/location.c,
+         res/res_stasis_recording.c, main/stasis_channels.c,
+         res/ari/resource_channels.c, res/parking/parking_manager.c,
+         res/ari/resource_recordings.c, res/res_pjsip_refer.c,
+         res/res_ari.c, main/pbx.c: Remove unused RAII_VAR() declarations.
+         * Remove unused RAII_VAR() declarations. The compiler cannot
+         catch these because the cleanup function "references" the unused
+         variable. Some actually allocated and released resources that
+         were never used. * Fixed some whitespace issues in
+         stasis_bridges.c. ........ Merged revisions 412399 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/rtp_engine.h, main/rtp_engine.c, /,
+         channels/chan_sip.c: chan_sip.c: Fix channel staging assertion
+         failure. The failing assertion ensures that the final snapshot
+         gets generated so CDR records can get finalized. The only place
+         where a channel staging snapshot flag could be left set is in
+         chan_sip.c:handle_request_bye(). The function could return before
+         clearing the flag because the channel could dissappear while the
+         function had to have the channel unlocked. * Fixed
+         handle_request_bye() channel snapshot staging coverage area to
+         not have a return in the middle of it and be unable to clear the
+         staging flag. * Pushed the channel snapshot staging coverage area
+         into ast_rtp_instance_set_stats_vars() to ensure that the staging
+         is not interrutped. * Made callers of
+         ast_rtp_instance_set_stats_vars() not call it with any channels
+         or channel driver private locks held to eliminate the deadlock
+         potential. The callers must hold references to the passed in
+         channel and rtp objects. * Eliminated sip_hangup() trying to get
+         the bridge peer. It is futile at this point because the channel
+         could never be in a bridge. Review:
+         https://reviewboard.asterisk.org/r/3431/ ........ Merged
+         revisions 412385 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: chan_sip.c: Moved some sip_pvt unrefs
+         after their last use. * Moved sip_pvt unref in ast_hangup() and
+         handle_request_do() to the end of the function. The unref needs
+         to happen after the last use of the pointer. ........ Merged
+         revisions 412348 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412383 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-15 16:13 +0000 [r412331]  Jonathan Rose <jrose@digium.com>
+
+       * configs/sip.conf.sample, /, channels/chan_sip.c: Reverting
+         r411189 so that it can be put up for public review --- r411189 |
+         jrose | 2014-03-26 10:50:48 -0500 (Wed, 26 Mar 2014) | 12 lines
+         chan_sip: Send real CallerID information with
+         P-Assserted-Identity (RFC-3325) Prior to this patch, the
+         P-Asserted-Identity header would include anonymous caller id
+         information which seems to go against the point of the
+         P-Asserted-Identity header. Now the real caller ID information
+         will be included in this header. Also, no privacy header would be
+         included. This patch adds 'Privacy: id' to outgoing SIP messages
+         that include the P-Asserted-Identity header. (closes issue
+         AST-1301) --- ........ Merged revisions 412328 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 412329 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412330 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-14 15:54 +0000 [r412307]  Corey Farrell <git@cfware.com>
+
+       * main/autoservice.c, /: autoservice: fix reference leak of logger
+         callid. autoservice acquires a local reference to the logger
+         callid of each channel in a loop. This local reference was not
+         released, causing the callid of every channel in autoservice to
+         leak. This change moves the callid unref inside the loop.
+         ASTERISK-23616 #close Reported by: ibercom ........ Merged
+         revisions 412305 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412306 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-12 02:27 +0000 [r412292]  Matthew Jordan <mjordan@digium.com>
+
+       * channels/sip/reqresp_parser.c, CHANGES, channels/chan_sip.c:
+         chan_sip: Support RFC-3966 TEL URIs in inbound INVITE requests
+         This patch adds support for handling TEL URIs in inbound INVITE
+         requests. This includes the Request URI and the From URI. The
+         number specified in the Request URI will be the destination of
+         the inbound channel in the dialplan. The phone-context specified
+         in the Request URI will be stored in the TELPHONECONTEXT channel
+         variable. Review: https://reviewboard.asterisk.org/r/3349
+         ASTERISK-17179 #close Reported by: Geert Van Pamel Tested by:
+         Geert Van Pamel patches:
+         asterisk-12.0.0-chan_sip-RFC3966_patch.txt uploaded by Geert Van
+         Pamel (License 6140)
+         asterisk-12.0.0-reqresp_parser-RFC3966_patch.txt uploaded by
+         Geert Van Pamel (License 6140)
+
+2014-04-12 01:35 +0000 [r412279-412280]  Russell Bryant <russell@russellbryant.com>
+
+       * funcs/func_periodic_hook.c: func_periodic_hook: move module ref
+         The previous code left one error path where the module would be
+         unref'd twice instead of once. It was done once in the error
+         handling block, and again inside of datastore destruction. Now
+         the module ref is only released in the datastore destructor and
+         only acquired when the datastore has been successfully allocated.
+
+       * funcs/func_periodic_hook.c: func_periodic_hook: add module ref
+         counting This module lacked necessary module ref count
+         incrementing and decrementing when used. This patch adds it.
+         There's already a datastore used, so doing the ref counting along
+         with the lifetime of the datastore provides a convenient place to
+         do it.
+
+2014-04-11 21:43 +0000 [r412213-412228]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_stack.c, /: app_stack: Add missing unlock in off-nominal
+         path of STACK_PEEK function. ASTERISK-23620 #close Reported by:
+         Bradley Watkins Patches: ASTERISK-23620_unlock_oldlist.patch
+         (license #5021) patch uploaded by Bradley Watkins ........ Merged
+         revisions 412225 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 412226 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412227 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * utils/Makefile, utils: utils dir: Remove no longer needed traces
+         of refcounter except in the clean make target. * Removed no
+         longer needed files from the svn:ignore property to make them
+         visible.
+
+2014-04-11 12:43 +0000 [r412194]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/bridge.c, main/bridge_basic.c,
+         include/asterisk/stasis_bridges.h, tests/test_cel.c,
+         apps/app_confbridge.c, res/ari/resource_bridges.c: bridging:
+         Ensure locking during snapshot creation While the vast majority
+         of bridge snapshot creation is locked properly, there are
+         currently some instances that are not. This adds the missing
+         locking to ensure bridge state is not malleable during snapshot
+         creation. (closes issue ASTERISK-22904) Review:
+         https://reviewboard.asterisk.org/r/3415/ Reported by: Matt Jordan
+         ........ Merged revisions 412193 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-11 08:28 +0000 [r412168-412180]  Olle Johansson <oej@edvina.net>
+
+       * main/audiohook.c: Formatting: Remove invisible characters
+
+       * main/audiohook.c: Formatting only.
+
+2014-04-11 02:59 +0000 [r412154]  Matthew Jordan <mjordan@digium.com>
+
+       * main/astobj2.c, contrib/scripts/refcounter.py (added),
+         main/asterisk.c, utils/refcounter.c (removed),
+         build_tools/cflags.xml, utils/utils.xml, /, channels/chan_sip.c,
+         channels/sip/security_events.c, include/asterisk/astobj2.h,
+         UPGRADE.txt: main/astobj2: Make REF_DEBUG a menuselect item;
+         improve REF_DEBUG output This patch does the following: (1) It
+         makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables
+         REF_DEBUG globally throughout Asterisk. (2) The ref debug log
+         file is now created in the AST_LOG_DIR directory. Every run will
+         now blow away the previous run (as large ref files sometimes
+         caused issues). We now also no longer open/close the file on each
+         write, instead relying on fflush to make sure data gets written
+         to the file (in case the ao2 call being performed is about to
+         cause a crash) (3) It goes with a comma delineated format for the
+         ref debug file. This makes parsing much easier. This also now
+         includes the thread ID of the thread that caused ref change. (4)
+         A new python script instead for refcounting has been added in the
+         contrib/scripts folder. (5) The old refcounter implementation in
+         utils/ has been removed. Review:
+         https://reviewboard.asterisk.org/r/3377/ ........ Merged
+         revisions 412114 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 412115 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 412153 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-11 01:12 +0000 [r412102]  Russell Bryant <russell@russellbryant.com>
+
+       * res/res_monitor.c: monitor: use app options parsing helper code
+         This app is pretty ancient, so it was never converted to use the
+         option parsing helper code. I'd like to add an option to this app
+         that takes an argument, and that's a pain to do when not using
+         this helper, so start by doing this conversion. Review:
+         https://reviewboard.asterisk.org/r/3429/
+
+2014-04-10 21:28 +0000 [r412089]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_hep_pjsip.c: res_hep_pjsip: Use the channel name
+         instead of the call ID when it is available During discussions
+         with Alexandr Dubovikov at Kamailio World, it became apparent
+         that while the SIP call ID is a useful identifier prior to an
+         Asterisk channel being created, it is far more preferable to use
+         the channel name (or some channel based identifier) when the
+         channel is available. Homer is smart enough to tie the various
+         messages together. This patch opts to use the channel name when
+         it is available, falling back to the call ID otherwise. ........
+         Merged revisions 412088 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-10 21:10 +0000 [r412075]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Set the body
+         generation result to 0 for a valid path The result of the
+         "ast_sip_pubsub_generate_body_content" was not set/initialized.
+         Consequently, the nominal path potentially returned an invalid
+         value, thus not sending mwi notifications. ........ Merged
+         revisions 412074 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-09 21:43 +0000 [r412050]  Mark Michelson <mmichelson@digium.com>
+
+       * /, CHANGES, apps/app_mixmonitor.c: Add a Command header to the
+         AMI Mixmonitor action. This fixes a parsing error that occurred
+         during the processing of the AMI action. The error did not result
+         in MixMonitor itself misbehaving, but it could result in the AMI
+         response not giving correct information back. The new header
+         allows for one to specify a post-process command to run when
+         recording finishes. Previously, in order to do this, the
+         post-process command would have to be placed at the end of the
+         Options: header. Patches: mixmonitor_command_2.patch by jhardin
+         (License #6512) ........ Merged revisions 412048 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-09 18:17 +0000 [r412035]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_stasis_answer.c: res_stasis_answer: Add missing
+         newlines ........ Merged revisions 412034 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-08 21:25 +0000 [r411946-411990]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/asterisk.c: Internal timing: Add notice that the -I and
+         internal_timing option are no longer needed. Add notice messages
+         during execution that the -I command line option and the
+         astersik.conf internal_timing option are no longer needed. The
+         internal timing functionality is now always enabled if there is a
+         timing module loaded. NOTE: Since the command line options and
+         the asterisk.conf config file are processed before the logging
+         system is initialized, the messages are output to stderr. Change
+         requested as a result of asterisk-dev list comments about the
+         commit for ASTERISK-22846 that removed the -I and internal_timing
+         options. Review: https://reviewboard.asterisk.org/r/3423/
+         ........ Merged revisions 411964 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411974 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411985 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/config.c, /: config: Fix CB_ADD_LEN() to work as originally
+         intended. Fix a long standing bug in CB_ADD_LEN() behaving like
+         CB_ADD(). ASTERISK-23546 #close Reported by: Walter Doekes
+         ........ Merged revisions 411960 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411961 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411962 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
+         confbridge.conf dsp_talking_threshold option setting wrong
+         parameter. Fixed copy pasta error. ASTERISK-23545 #close Reported
+         by: John Knott ........ Merged revisions 411944 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411945 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-08 14:49 +0000 [r411928]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip.c: res_pjsip: Ignore explicit transport
+         configuration if a WebSocket transport is specified. This change
+         makes it so if a transport is configured on an endpoint that is a
+         WebSocket type the option will be ignored. In practice this is
+         fine because the WebSocket transport can not create outgoing
+         connections, it can only reuse existing ones. By ignoring the
+         option the existing PJSIP logic for using the existing connection
+         will be invoked and stuff will proceed. (closes issue
+         ASTERISK-23584) Reported by: Rusty Newton ........ Merged
+         revisions 411927 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-08 00:26 +0000 [r411897]  Russell Bryant <russell@russellbryant.com>
+
+       * funcs/func_periodic_hook.c: func_periodic_hook: List more modules
+         as dependencies This module makes use of some existing Asterisk
+         components. app_chanspy was already listed as a dependency. There
+         are a few function modules used, as well, so list them.
+
+2014-04-07 20:41 +0000 [r411884]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_pjsip_pubsub.c: PJSIP: Ensure test event has new state
+         The change that fixed the pubsub test event's use of a dangling
+         pointer also changed when it was processed relative to the pjsip
+         subscription state change processing. This change corrects the
+         order of events while holding a reference to the pointer that was
+         previously dangling. ........ Merged revisions 411883 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-07 16:15 +0000 [r411870]  Jonathan Rose <jrose@digium.com>
+
+       * main/manager_channels.c, /: AGI/Manager: Prevent multiple
+         NewExten events during AGI application changes AGI applications
+         would trigger NewExten events every time the state of the AGI
+         application changed. This has historically not been the behavior
+         and this behavior was introduced with a CDR patch. This patch
+         corrects that. (closes issue ASTERISK-23390) Reported by:
+         Benjamin Keith Ford Review:
+         https://reviewboard.asterisk.org/r/3406/ ........ Merged
+         revisions 411868 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-07 14:57 +0000 [r411812]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * apps/app_queue.c, /: app_queue: Re-add HoldTime to
+         QueueCallerAbandon event (simple typo during ast12 refactor).
+         Reported by: Ibrahim22 (on IRC) Tested by: Ibrahim22 ........
+         Merged revisions 411811 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-07 14:29 +0000 [r411791-411806]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_stasis.c: Stasis: Fix Stasis() bridge refcount issue
+         The Stasis() dialplan application monitors what bridge a channel
+         is in and so necessarily holds on to a bridge pointer. This
+         change ensures that it also holds on to a reference for that
+         bridge to prevent the bridge pointer from becoming a dangling
+         pointer. ........ Merged revisions 411804 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_pubsub.c, /: PJSIP: Fix crash introduced in r411671
+         The test event introduced in revision 411671 uses a dangling
+         pointer to access information about pubsub state changes. This
+         moves the event to within the lifetime of the pointer. ........
+         Merged revisions 411790 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-05 13:06 +0000 [r411768]  Russell Bryant <russell@russellbryant.com>
+
+       * CHANGES, funcs/func_periodic_hook.c (added): func_periodic_hook:
+         New function for periodic hooks. This commit introduces a new
+         dialplan function, PERIODIC_HOOK(). It allows you run to a
+         dialplan hook on a channel periodically. The original use case
+         that inspired this was the ability to play a beep periodically
+         into a call being recorded. The implementation is much more
+         generic though and could be used for many other things. The
+         implementation makes heavy use of existing Asterisk components.
+         It uses a combination of Local channels and ChanSpy() to run some
+         custom dialplan and inject any audio it generates into an active
+         call. The other important bit of the implementation is how it
+         figures out when to trigger the beep playback. This
+         implementation uses the audiohook API, even though it's not
+         actually touching the audio in any way. It's a convenient way to
+         get a callback and check if it's time to kick off another beep.
+         It would be nice if this was timer event based instead of polling
+         based, but unfortunately I don't see a way to do it that won't
+         interfere with other things. Review:
+         https://reviewboard.asterisk.org/r/3362/
+
+2014-04-04 19:19 +0000 [r411702-411724]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/options.h, main/asterisk.c, main/channel.c, /,
+         channels/chan_sip.c, configs/asterisk.conf.sample, UPGRADE.txt,
+         include/asterisk/channel.h, utils/extconf.c: internal_timing:
+         Remove the option and always make it enabled if a timing module
+         is loaded. The masquerade supertest frequently fails because
+         either the local channel chain doesn't completely optimize out or
+         the DTMF handshake doesn't completely get accross. Local channel
+         optimization requires frames flowing to trigger when optimization
+         can happen. When optimization happens the media frame that
+         triggered the optimization is dropped. Sending DTMF requires
+         frames to flow in the other direction for timing purposes while
+         sending nothing. If internal timing is not enabled when MOH is
+         playing, Asterisk switches to received timing when an audio frame
+         is received. With optimization dropping media frames and MOH not
+         sending frames unless it receives frames, occasionaly there are
+         no more frames being passed and the test fails. * The asterisk
+         command line -I option and the asterisk.conf internal_timing
+         option are removed. Asterisk now always uses internal timing when
+         needed if any timing module is loaded. The issue ASTERISK-14861
+         did this quite awhile ago in v1.4 but effectively is broken if
+         other internal timing modules besides DAHDI are used. The
+         ast_read_generator_actions() now only does received timing if it
+         has no choice for frame generators like MOH, silence, and
+         playback streaming. * Cleaned up some code dealing with frame
+         generators in ast_deactivate_generator(),
+         generator_write_format_change(), ast_activate_generator(), and
+         ast_channel_stop_silence_generator(). * Removed
+         ast_internal_timing_enabled(), AST_OPT_FLAG_INTERNAL_TIMING, and
+         ast_opt_internal_timing. ASTERISK-22846 #close Reported by: Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/3414/ ........
+         Merged revisions 411715 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411716 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411717 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/utils.c, res/res_musiconhold.c, main/channel.c,
+         main/stasis_cache.c, /: Add some asserts that were handy when
+         looking for a stasis cache problem. * Assert if a channel is
+         destroyed but has the snapshot staging flag set. In this case the
+         final channel destruction snapshot would never get taken. *
+         Assert if what we just got out of the stasis cache is not what we
+         were looking for. This assert would have saved several days
+         searching for a bug and a lot of my hair. * Assert if the music
+         on hold message posts could not find the associated channel. A
+         crash will happen later when manager tries to send the MOH AMI
+         message. This assert catches the problem when the stasis message
+         is posted instead of by the thread processing the defective
+         message. * Always generate a backtrace when an ast_assert()
+         fails. Review: https://reviewboard.asterisk.org/r/3411/ ........
+         Merged revisions 411701 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-04 15:13 +0000 [r411688]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/http.c: http: Fix spurious ERROR message in responses
+         with no content When a response has a content length of 0, fwrite
+         would be called to write a buffer with no data in it. This
+         resulted in the following classic error message: [Apr 3 11:49:17]
+         ERROR[26421] http.c: fwrite() failed: Success This patch makes it
+         so that we only attempt to write out the content if the
+         calculated content_length is non-zero. ........ Merged revisions
+         411687 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-03 12:06 +0000 [r411671]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Add test event for
+         state change This adds a test event when subscription state
+         changes so that integration tests may trigger new actions at the
+         appropriate times. Review:
+         https://reviewboard.asterisk.org/r/3383/ ........ Merged
+         revisions 411670 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-03 11:47 +0000 [r411669]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_hep.c, /: res_hep: Fix crash when hep.conf not available
+         Parts of res_hep properly checked for a valid configuration
+         object before attempting to access the configuration. A check,
+         however, was missed when a packet is sent. This patch fixes the
+         crash caused by not checking if the configuration object is
+         valid. ........ Merged revisions 411668 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-02 18:57 +0000 [r411656]  Mark Michelson <mmichelson@digium.com>
+
+       * main/sorcery.c, /, res/res_mwi_external.c,
+         res/res_pjsip/config_system.c, configs/sorcery.conf.sample,
+         main/bucket.c, include/asterisk/sorcery.h,
+         res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c,
+         tests/test_sorcery.c, tests/test_sorcery_realtime.c: Prevent
+         duplicate sorcery wizards from being applied to sorcery object
+         types. This commit contains several changes to sorcery: 1)
+         Application of sorcery configuration based on module name is
+         automatically performed when sorcery is opened for a module. 2)
+         Sorcery will not attempt to apply the same wizard to an object
+         type more than once. 3) Sorcery gives more exact results when
+         attempting to apply a wizard, whether as the default or based on
+         configuration. Sorcery unit tests still pass for me after making
+         these changes. Review: https://reviewboard.asterisk.org/r/3326
+         ........ Merged revisions 411159 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-01 22:42 +0000 [r411637-411639]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/parking/parking_bridge.c, /: res_parking: Minor tweaks. * Use
+         ast_bridge_channel_lock()/ast_bridge_channel_unlock() instead of
+         ao2_lock()/ao2_unlock() for struct ast_bridge_channel variables.
+         * Use ast_copy_string() instead of inlining it. * Remove an
+         already done TODO comment. * Some whitespace tweaks. ........
+         Merged revisions 411638 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis_channels.c, /: stasis_channels.c: Eliminate another
+         overuse of RAII_VAR(). ........ Merged revisions 411636 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-04-01 16:52 +0000 [r411587]  Joshua Colp <jcolp@digium.com>
+
+       * /, apps/app_queue.c: app_queue: Fix a bug where realtime members
+         would be deleted during reload causing waiting callers to get
+         ejected. This patch causes realtime queue members to remain in
+         queues during the reload process. Previously these members would
+         be removed causing any waiting callers to be ejected from the
+         queue with a reason of "EXITEMPTY". ASTERISK-23547 #close
+         ASTERISK-23547 #comment Patch
+         app_queue_fix_realtime_reload_1.8_trunk.patch submitted by Italo
+         Rossi (license 6409) Review:
+         https://reviewboard.asterisk.org/r/3404/ ........ Merged
+         revisions 411584 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411585 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411586 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-28 18:32 +0000 [r411556]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/res_hep.h (added), res/res_hep_pjsip.c (added),
+         res/res_hep.exports.in (added), configs/hep.conf.sample (added),
+         CHANGES, res/res_hep.c (added), /: res_hep/res_hep_pjsip: Add a
+         HEPv3 capture agent module and a logger for PJSIP This patch adds
+         the following: (1) A new module, res_hep, which implements a
+         generic packet capture agent for the Homer Encapsulation Protocol
+         (HEP) version 3. Note that this code is based on a patch provided
+         by Alexandr Dubovikov; I basically just wrapped it up, added
+         configuration via the configuration framework, and threw in a
+         taskprocessor. (2) A new module, res_hep_pjsip, which forwards
+         all SIP message traffic that passes through the res_pjsip stack
+         over to res_hep for encapsulation and transmission to a HEPv3
+         capture server. Much thanks to Alexandr for his Asterisk patch
+         for this code and for a *lot* of patience waiting for me to port
+         it to 12/trunk. Due to some dithering on my part, this has taken
+         the better part of a year to port forward (I still blame CDRs for
+         the delay). ASTERISK-23557 #close Review:
+         https://reviewboard.asterisk.org/r/3207/ ........ Merged
+         revisions 411534 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-28 18:00 +0000 [r411533]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c,
+         addons/chan_ooh323.c, /, addons/ooh323c/src/oochannels.c,
+         addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c:
+         process stack command even if gatekeeper client isn't register
+         don't destroy gatekeeper client if it is not started don't
+         destroy gatekeeper client in some sort of gatekeeper errors
+         signal rtp create condition when call cleared before rtp
+         structure created (closes issue ASTERISK-23460) Reported by:
+         Dmitry Melekhov Patches: ASTERISK-23460-2.patch Tested by: Dmitry
+         Melekhov ........ Merged revisions 411531 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411532 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-28 17:41 +0000 [r411515-411530]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/channels.json,
+         rest-api/api-docs/recordings.json,
+         rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
+         /, rest-api/api-docs/playbacks.json, UPGRADE.txt,
+         rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
+         include/asterisk/manager.h, rest-api/api-docs/bridges.json,
+         rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/mailboxes.json,
+         rest-api/api-docs/asterisk.json,
+         rest-api/api-docs/applications.json: Update API versions and
+         UPGRADE/CHANGES for 12.2.0 This patch does the following: * It
+         updates the AMI version to 2.2.0 to indicate backwards compatible
+         changes have been made since the last release * It updates the
+         ARI version to 1.2.0 to indicate backwards compatible changes
+         have been made since the last release * It updates the
+         UPGRADE/CHANGES files with changes that were not mentioned
+         ........ Merged revisions 411529 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * UPGRADE.txt, res/res_config_odbc.c: res_config_odbc: Fix for
+         nullable integer columns and keyfield existence check in
+         update_odbc. This patch fixes setting nullable integer columns to
+         NULL instead of an empty string, which fails for PostgreSQL, for
+         example. The current code is supposed to do so, but the check is
+         broken. The patch also allows the first column in the list to be
+         a nullable integer. Also, the check for existence of a mandatory
+         column checked for the first column in the list instead of the
+         key field lookup column. This patch fixes that issue as well.
+         Finally, the compatibility option allow_empty_string_in_nontext,
+         which was added to previous revisions to allow for some database
+         backends with certain schemas to function, has been removed.
+         Review: https://reviewboard.asterisk.org/r/3335 ASTERISK-23459
+         #close ASTERISK-23351 #close (closes issue ASTERISK-23459)
+         Reported by: zvision patches: res_config_odbc.diff uploaded by
+         zvision (License 5755)
+
+2014-03-28 16:18 +0000 [r411469]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/tcptls.c, main/manager.c, /, main/http.c: http: response
+         body often missing after specific request This patch works around
+         a problem with the HTTP body being dropped from the response to a
+         specific client and under specific circumstances: a) Client
+         request comes from node.js user agent "Shred" via use of
+         swagger-client library. b) Asterisk and Client are *not* on the
+         same host or TCP/IP stack In testing this problem, it has been
+         determined that the write of the HTTP body is lost, even if the
+         data is written using low level write function. The only solution
+         found is to instruct the TCP stack with the shutdown function to
+         flush the last write and finish the transmission. See review for
+         more details. ASTERISK-23548 #close (closes issue ASTERISK-23548)
+         Reported by: Sam Galarneau Review:
+         https://reviewboard.asterisk.org/r/3402/ ........ Merged
+         revisions 411462 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411463 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411465 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-28 15:48 +0000 [r411375-411460]  Matthew Jordan <mjordan@digium.com>
+
+       * UPGRADE.txt, /: UPGRADE: Note IAX2 compatibility issue between
+         1.4 and 1.8+ systems. ........ Merged revisions 411457 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411458 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411459 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * contrib/realtime/mysql/voicemail_messages.sql (removed),
+         contrib/realtime/postgresql/realtime.sql (removed),
+         contrib/realtime/mysql/voicemail_data.sql (removed),
+         contrib/realtime/mysql/musiconhold.sql (removed),
+         contrib/realtime/mysql/queue_log.sql (removed),
+         contrib/realtime/mysql/voicemail.sql (removed),
+         contrib/realtime/mysql/sippeers.sql (removed), /,
+         contrib/realtime/mysql/iaxfriends.sql (removed),
+         contrib/realtime/mysql/meetme.sql (removed): contrib/realtime:
+         Remove empty SQL script files Since the relatime scripts are now
+         managed by Alembic, the previous realtime scripts were previously
+         removed. However, the removal process messed up, as the files
+         were still in the repository. The contents were just empty. This
+         removes the files from the tree. ........ Merged revisions 411442
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/sip/include/sip.h: chan_sip: Add MESSAGE request to
+         allowed methods The allowed methods advertised by chan_sip did
+         not previously note the MESSAGE request. Even in Asterisk 1.8, we
+         do accept in-dialog MESSAGE requests; we should advertise that we
+         support MESSAGE requests. ASTERISK-23504 #close ASTERISK-23504
+         #comment Reported by: Martin Kontsek ASTERISK-23504 #comment
+         Patch sip.h_patch.diff uploaded by Martin Kontsek (license 6587)
+         Review: https://reviewboard.asterisk.org/r/3396/ ........ Merged
+         revisions 411372 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411373 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411374 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-27 19:21 +0000 [r411312-411328]  Corey Farrell <git@cfware.com>
+
+       * funcs/func_global.c, apps/app_speech_utils.c,
+         apps/confbridge/conf_config_parser.c,
+         funcs/func_callcompletion.c, funcs/func_frame_trace.c,
+         funcs/func_callerid.c, main/message.c, /, res/res_mutestream.c,
+         channels/pjsip/dialplan_functions.c,
+         res/res_pjsip_header_funcs.c, funcs/func_pitchshift.c,
+         funcs/func_groupcount.c, funcs/func_volume.c, funcs/func_odbc.c,
+         funcs/func_channel.c, funcs/func_cdr.c, funcs/func_blacklist.c,
+         apps/app_stack.c, apps/app_voicemail.c, res/res_calendar.c,
+         apps/app_jack.c, funcs/func_dialplan.c, funcs/func_speex.c,
+         channels/chan_sip.c, funcs/func_math.c, funcs/func_strings.c,
+         funcs/func_jitterbuffer.c, res/res_xmpp.c, channels/chan_iax2.c,
+         main/features_config.c, res/res_jabber.c: Fix dialplan function
+         NULL channel safety issues (closes issue ASTERISK-23391) Reported
+         by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3386/ ........ Merged
+         revisions 411313 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411314 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411315 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/format.c, include/asterisk.h, /: main/formats: Fix crash in
+         ast_format_cmp during non-clean shutdown. * Update asterisk.h to
+         reflect availability of ast_register_cleanup in 11.9. * Use
+         ast_register_cleanup for format_attr_shutdown. (closes issue
+         ASTERISK-23103) Reported by: JoshE ........ Merged revisions
+         411310 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........ Merged revisions 411311 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-27 14:21 +0000 [r411296]  Mark Michelson <mmichelson@digium.com>
+
+       * main/sorcery.c, /: Give sorcery instances a reference to their
+         wizards. On graceful shutdown, sorcery wizards are all killed
+         off, but it is possible for sorcery instances to still have
+         dangling pointers after this, possibly causing a crash. Giving
+         the sorcery instances a reference to their wizards ensures that
+         the wizard reference will remain valid for the lifetime of the
+         sorcery instance. Review: https://reviewboard.asterisk.org/r/3401
+         ........ Merged revisions 411295 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-26 22:45 +0000 [r411246]  Joshua Colp <jcolp@digium.com>
+
+       * /, main/say.c: say: Fix a bug where SayNumber in Polish tries to
+         play incorrect sound. This change fixes a bug where calling
+         SayNumber with a number divisible by 100 using the Polish
+         language would cause the code to attempt to play a sound file
+         with an empty name. (closes issue ASTERISK-23509) Reported by:
+         zvision Review: https://reviewboard.asterisk.org/r/3378/ ........
+         Merged revisions 411243 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411244 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411245 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-26 16:15 +0000 [r411194]  Jonathan Rose <jrose@digium.com>
+
+       * /, channels/chan_sip.c, configs/sip.conf.sample: chan_sip: Send
+         real CallerID information with P-Assserted-Identity (RFC-3325)
+         Prior too this patch, the P-Asserted-Identity header would
+         include anonymous caller id information which seems to go against
+         the point of the P-Asserted-Identity header. Now the real caller
+         ID information will be included in this header. Also, no privacy
+         header would be included. This patch adds 'Privacy: id' to
+         outgoing SIP messages that include the P-Asserted-Identity
+         header. (closes issue AST-1301) ........ Merged revisions 411189
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 411190 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411193 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-26 16:05 +0000 [r411192]  Richard Mudgett <rmudgett@digium.com>
+
+       * /,
+         contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py:
+         Fix 'alembic branches' merge conflict as described by the web
+         page. ........ Merged revisions 411191 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-25 18:44 +0000 [r411174]  Sean Bright <sean@malleable.com>
+
+       * /, res/ari/config.c: ARI: Don't complain about missing ARI users
+         when we aren't enabled Currently, if ARI is not enabled it will
+         still complain that there are no configured users. This patch
+         checks to see if ARI is enabled before logging and error or
+         iterating the container to validate the users. Review:
+         https://reviewboard.asterisk.org/r/3391/ ........ Merged
+         revisions 411173 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-25 17:40 +0000 [r411158]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
+         res/res_pjsip_messaging.c, res/res_pjsip.c,
+         include/asterisk/res_pjsip.h: Add a "message_context" option for
+         PJSIP endpoints. ........ Merged revisions 411157 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-25 16:57 +0000 [r411142]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
+         include/asterisk/res_pjsip.h, /: res_pjsip: Fix contact
+         authenticate_qualify endpoint lookup when qualifing a contact. *
+         Fixed bad use of ao2_find() in on_endpoint(). * Replaced use of
+         find_endpoints() with find_an_endpoint() since only the first
+         found endpoint is ever needed. * Fixed qualify_contact_cb() to
+         update the contact with the aor authenticate_qualify setting.
+         Otherwise, permanent contacts in the aor type sections would have
+         a config line order dependancy. * Fixed off nominal path contact
+         ref leak in qualify_contact(). The comment saying the unref is
+         not needed was wrong. * Fixed off nominal path use of the
+         endpoint parameter if it is NULL in send_out_of_dialog_request().
+         * Added missing off nominal path unref of pjsip tdata in
+         send_out_of_dialog_request(). * Fixed off nominal path failing to
+         call the callback in send_request_cb() when the request is
+         challenged for authentication. * Eliminated silly RAII_VAR() use
+         in qualify_contact_cb(). * Updated ast_sip_send_request() doxygen
+         to better reflect reality. (closes issue ASTERISK-23254) Reported
+         by: rmudgett Review: https://reviewboard.asterisk.org/r/3381/
+         ........ Merged revisions 411141 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-25 16:06 +0000 [r411092]  Kinsey Moore <kmoore@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Fix incorrect use of timers If
+         update_provisional_keepalive() is called while
+         send_provisional_keepalive_full() is waiting on the PVT lock,
+         then pvt->provisional_keepalive_sched_id will be changed to a new
+         sched_id value by update_provisional_keepalive(), but that new
+         sched_id then may be overwritten with -1 by
+         send_provisional_keepalive_full(), killing the pvt's reference to
+         a schedule and "leaking" the reference. (closes issue
+         ASTERISK-22079) Review: https://reviewboard.asterisk.org/r/3368/
+         Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies
+         Patches: provisional_keepalive_fix.diff uploaded by Steve Davies
+         (license 5012) ........ Merged revisions 411088 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411089 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411091 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-25 15:56 +0000 [r411090]  Jonathan Rose <jrose@digium.com>
+
+       * /, res/res_stasis.c: ARI: Resolve a subscription leak against
+         implicit bridge subscriptions When a channel in a stasis
+         application is joined to a bridge, a subscription for that bridge
+         is created implicitly for the stasis application serving the
+         channel. Prior to this patch, subsequent removals of the channel
+         from the bridge would leave the subscription open. Review:
+         https://reviewboard.asterisk.org/r/3380/ ........ Merged
+         revisions 411086 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-25 15:47 +0000 [r411073-411087]  Richard Mudgett <rmudgett@digium.com>
+
+       * utils/conf2ael.c, main/lock.c, utils/ael_main.c: Revert -r411073.
+         It didn't help and blew up the system.
+
+       * utils/ael_main.c, utils/conf2ael.c, main/lock.c: locking: Add
+         temporary sanity checks. Add some temporary sanity checks to hunt
+         for locking problems with the masquerade supertest.
+
+2014-03-24 21:39 +0000 [r411024]  Joshua Colp <jcolp@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Always use fromdomain if set
+         for domain, even if callerid is set to restricted. (closes issue
+         ASTERISK-20841) Reported by: Kelly Goedert ........ Merged
+         revisions 411021 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 411022 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 411023 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-21 16:04 +0000 [r410996]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_pjsip_registrar.c: res_pjsip_registrar.c:
+         Miscellaneous cleanup in rx_task(). * Fix variable shadowing of
+         'updated' by renaming it to 'contact_update'. * Checked
+         'contact_update' for ast_sorcery_copy() failure. * Removed silly
+         use of RAII_VAR() for 'contact_update'. ........ Merged revisions
+         410995 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-21 15:50 +0000 [r410981-410994]  Sean Bright <sean@malleable.com>
+
+       * res/ael/ael.flex, utils/Makefile, pbx/pbx_ael.c,
+         res/ael/ael_lex.c: Make the AEL load process less chatty.
+         Switched a bunch of LOG_NOTICEs to ast_debug. This time without
+         breaking the build.
+
+       * pbx/pbx_ael.c, res/ael/ael_lex.c, res/ael/ael.flex: Revert
+         r410981. aelparse blew up.
+
+       * main/config.c: Remove a LOG_NOTICE from
+         ast_config_engine_register. There is enough indication from the
+         CLI that we are loading a realtime engine as it is.
+
+       * pbx/pbx_ael.c, res/ael/ael_lex.c, res/ael/ael.flex: Make the AEL
+         load process less chatty. Switched a bunch of LOG_NOTICEs to
+         ast_debug.
+
+2014-03-20 23:02 +0000 [r410967]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_confbridge.c, /: app_confbridge: Fix bug - users with
+         startmuted set don't start muted (closes issue ASTERISK-23461)
+         Reported by: Chico Manobela Review:
+         https://reviewboard.asterisk.org/r/3373/ ........ Merged
+         revisions 410965 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410966 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-20 16:35 +0000 [r410950]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/rtp_engine.h, main/dial.c, main/manager.c, /,
+         main/channel_internal_api.c, main/core_unreal.c,
+         include/asterisk/channel.h, res/ari/resource_channels.c,
+         res/res_stasis_snoop.c: assigned-uniqueids: Miscellaneous cleanup
+         and fixes. * Fix memory leak in ast_unreal_new_channels(). Made
+         it generate the ;2 uniqueid on a stack variable instead of
+         mallocing it. * Made send error response to ARI and AMI requests
+         instead of just logging excessive uniqueid length and allowing
+         truncation. action_originate() and
+         ari_channels_handle_originate_with_id(). * Fixed minor truncating
+         uniqueid hole when generating the ;2 uniqueid string length.
+         Created public and internal lengths of uniqueid. The internal
+         length can handle a max public uniqueid plus an appended ;2. *
+         free() and ast_free() are NULL tolerant so they don't need a NULL
+         test before calling. * Made use better struct initialization
+         format instead of the position dependent initialization format.
+         Also anything not explicitly initialized in the struct is
+         initialized to zero by the compiler. * Made
+         ast_channel_internal_set_fake_ids() use the safer
+         ast_copy_string() instead of strncpy(). Review:
+         https://reviewboard.asterisk.org/r/3371/ ........ Merged
+         revisions 410949 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-19 17:27 +0000 [r410934]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip_endpoint_identifier_ip.c: PJSIP: Allow for
+         identify sections to be specified in sorcery.conf. "identify" is
+         a special type of configuration object in PJSIP because unlike
+         the other objects, it is not provided by the base res_pjsip
+         module. Instead, it is provided by the
+         res_pjsip_endpoint_identifier_ip module. If using the default
+         sorcery wizard (config,criteria=type=identify) then things work
+         because the module that applies the default wizard is the correct
+         module. However, if attempting to use sorcery.conf to apply an
+         alternate wizard, it was not possible. If you attempted to
+         specify the identify object type in the res_pjsip section, then
+         the object could not be registered since the object was
+         undocumented for the res_pjsip module. There was no alternate
+         configuration section defined for it, so you were out of luck if
+         you wanted to override the default wizard. With this change, the
+         identify section will properly have a sorcery.conf-based wizard
+         applied when the identify definition is within the
+         res_pjsip_endpoint_identifier_ip section. ........ Merged
+         revisions 410933 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-19 14:25 +0000 [r410905-410919]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_stasis.c, /: res_stasis: Fix a bug where the default
+         bridge type was not set. ........ Merged revisions 410918 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * CHANGES, res/res_stasis.c, rest-api/api-docs/bridges.json, /,
+         res/ari/resource_bridges.h: res_stasis: Extend bridge type to be
+         a comma separated list of bridge attributes. This change turns
+         the bridge type field into a comma separated list of attributes.
+         These attributes include: mixing, holding, dtmf_events, and
+         proxy_media. By setting the various attributes a user can control
+         the type of bridge created with the behavior they need for their
+         application. (closes issue ASTERISK-23437) Reported by: Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/3359/ ........
+         Merged revisions 410904 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-19 02:33 +0000 [r410891]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_ari.c, /: res_ari: Fix documentation schema error
+         ........ Merged revisions 410890 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-18 23:32 +0000 [r410877]  Rusty Newton <rnewton@digium.com>
+
+       * res/res_ari.c, /: res_ari: Add notes about Asterisk HTTP server
+         to the "enabled" config option for the res_ari general section
+         Added note and see-also reminding user to enable the HTTP server.
+         (closes issue ASTERISK-22499) Reported by: Rusty Newton ........
+         Merged revisions 410876 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-18 15:45 +0000 [r410863]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, main/http.c: ARI: allow json content type with zero length
+         body When a request was received with a Content-type of json, the
+         body was sent for json parsing - even if it was zero length. This
+         resulted in ARI requests failing that were valid, such as a
+         channel DELETE with no parameters. The code has now been changed
+         to skip json parsing with zero content length. (closes issue
+         SWP-6748) Reported by: Samuel Galarneau Review:
+         https://reviewboard.asterisk.org/r/3360/ ........ Merged
+         revisions 410858 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-18 15:28 +0000 [r410862]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, /: cdr: Add asserts for when we don't know about a
+         CDR for a channel In the CDR core, every channel should either be
+         filtered out (due to being an 'internal' channel used as an
+         implementation detail, such as playing media back into a bridge)
+         or it should get a CDR. Even if that CDR ends up being discarded,
+         we still give the channel a CDR in case we end up needing it. If
+         we hit a situation where a channel does not have a CDR, we should
+         blow up in -dev-mode. Asserts are appropriate for that. This
+         patch adds those asserts, as they would have quickly caught the
+         error fixed by r410814. ........ Merged revisions 410861 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-18 12:45 +0000 [r410845]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/config_system.c: res_pjsip: Fix memory leak of
+         nameservers in off-nominal resolver creation failure. Thanks
+         Walter Doekes! ........ Merged revisions 410844 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-18 11:52 +0000 [r410831]  Sean Bright <sean@malleable.com>
+
+       * res/res_fax_spandsp.c, /: res_fax_spandsp: Use g711_free() when
+         available. Per Johann Steinwendtner on the asterisk-dev mailing
+         list:
+         http://lists.digium.com/pipermail/asterisk-dev/2014-March/066102.html
+         g711_free() was introduced in spandsp 0.0.6pre4 and
+         g711_release() became a noop. I opted not to remove the call to
+         g711_release() since it is harmless and to call g711_free() if we
+         have a sufficiently recent version of spandsp. (issue
+         ASTERISK-20149) Reported by: Alexandr Gordeev ........ Merged
+         revisions 410829 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410830 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-18 02:09 +0000 [r410814]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/stasis_cache.c, /: stasis_cache: Use the right variable in
+         the cache entry ao2 cmp function. ........ Merged revisions
+         410813 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-17 22:54 +0000 [r410794-410796]  Joshua Colp <jcolp@digium.com>
+
+       * include/asterisk/dns.h, CHANGES,
+         res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
+         main/dns.c, /, res/res_pjsip/config_system.c: res_pjsip: Enable
+         PJSIP DNS client support. This change enables DNS client support
+         within PJSIP. System nameservers are automatically discovered
+         using res_init or res_ninit. If this fails then PJSIP will resort
+         to using gethostbyname for resolution. By enabling this support
+         we gain SRV support, failover, and weight support. (closes issue
+         ASTERISK-23435) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3343/ ........ Merged
+         revisions 410795 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Make address
+         replacement less aggressive. This change makes the
+         res_pjsip_multihomed module less aggressive when changing the
+         address in messages. It will now only occur if the transport in
+         use is bound to the any address OR if the system determined
+         source address matches the bound address of the transport in use.
+         Review: https://reviewboard.asterisk.org/r/3369/ ........ Merged
+         revisions 410793 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-17 22:24 +0000 [r410775]  Russ Meyerriecks <rmeyerreicks@digium.com>
+
+       * /, main/callerid.c: callerid: Logic error in checksum processing
+         Callerid checksum-ing was being handled incorrectly here. When
+         the checksum is calculated to be 0x00, it will perform 0x100-0x00
+         which results in 0x100. This value will then fail the otherwise
+         correct callerid message. This patch changes the logic to simply
+         add the calculated checksum to the transmitted 2's compliment
+         checksum. Review: https://reviewboard.asterisk.org/r/3356/
+         (closes issue ASTERISK-23488) ........ This is a merge of merged
+         revisions 410750 410747 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 I didn't want a
+         broken patch to be comitted to trunk so I pre-merge merged them.
+
+2014-03-17 19:35 +0000 [r410684-410699]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_mwi_external.c, res/res_pjsip/config_system.c,
+         configs/sorcery.conf.sample, include/asterisk/sorcery.h,
+         res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c,
+         tests/test_sorcery.c, tests/test_sorcery_realtime.c,
+         main/sorcery.c, /: Revert changes to sorcery that accidentally
+         got committed. These changes were still up for review and have
+         not been approved yet. I must have had the changes in my working
+         copy when making a different change. ........ Merged revisions
+         410696 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * bridges/bridge_softmix.c, tests/test_sorcery.c, main/channel.c,
+         res/res_pjsip/config_system.c, res/res_mwi_external.c,
+         include/asterisk/bridge_channel.h, funcs/func_frame_trace.c,
+         configs/sorcery.conf.sample, res/res_pjsip/pjsip_configuration.c,
+         include/asterisk/sorcery.h, tests/test_sorcery_astdb.c,
+         include/asterisk/frame.h, main/bridge_channel.c,
+         tests/test_sorcery_realtime.c, main/sorcery.c,
+         res/res_stasis_playback.c, main/frame.c, /: Fix stuck channel in
+         ARI through the introduction of synchronous bridge actions.
+         Playing back a file to a channel in an ARI bridge would attempt
+         to wait until the playback concluded before returning. The method
+         used involved signaling the waiting thread in the ARI custom
+         playback function. The problem with this is that there were some
+         corner cases that were not accounted for: * If a bridge channel
+         could not be found, then we never would attempt the playback but
+         would still attempt to wait for the playback to complete. * If
+         the bridge playfile action failed to queue, we would still
+         attempt to wait for the playback to complete. * If the bridge
+         playfile action were queued but some circumstance caused the
+         playback not to occur (the bridge dies, the channel is removed
+         from the bridge), then we would never be notified. The solution
+         to this is to move the waiting logic into the bridge code. A new
+         bridge API function is added to queue a synchronous action on a
+         bridge. The waiting thread is notified when the queued frame has
+         been freed, either due to an error occurring or due to successful
+         playback. As a failsafe, the waiting thread has a 10 minute
+         timeout just in case there is a frame leak somewhere. Review:
+         https://reviewboard.asterisk.org/r/3338 ........ Merged revisions
+         410673 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-17 16:48 +0000 [r410672]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, apps/confbridge/conf_chan_announce.c: app_confbridge: Add
+         missing destructor call to announcer channel destructor. ........
+         Merged revisions 410671 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-16 20:27 +0000 [r410651]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/stasis/app.c: stasis/app.c: Add some extra debugging for
+         subscription counts Events are sent to a connected ARI
+         application based on the things that ARI application cares about.
+         These subscriptions can be set up implicitly - such as when that
+         ARI application creates a new object - or explicitly, via the
+         application resource's subscription operations. Debugging *why*
+         something was being sent to an application - or why something was
+         not being sent to an application - was a bit tricky, as there was
+         no debug information for the subscriptions. This patch adds some
+         debug level 3 statements that show the subscription counts for
+         applications. (Level 3 was chosen as it matches the verbose level
+         3 statements elsewhere) ........ Merged revisions 410650 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-15 15:24 +0000 [r410639]  Russell Bryant <russell@russellbryant.com>
+
+       * include/asterisk/framehook.h: framehook.h: Fix some doc typos.
+         There were a number of instances in this header file where
+         "function all" was intended to be "function call". This patch
+         fixes that up.
+
+2014-03-14 21:56 +0000 [r410626]  Mark Michelson <mmichelson@digium.com>
+
+       * /, tests/test_sorcery_realtime.c: Fix failing realtime sorcery
+         tests. The store realtime callback needs to return a positive
+         value for sorcery to treat the store as a success. ........
+         Merged revisions 410625 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-14 21:36 +0000 [r410624]  Jonathan Rose <jrose@digium.com>
+
+       * main/manager.c, /: manager: fix memory leak in manager_add_filter
+         function (closes issue ASTERISK-23420) Reported by: Etienne
+         Lessard Patches: manager_eventfilter_leak uploaded by Etienne
+         Lessard (license 6394) ........ Merged revisions 410609 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410623 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-14 20:55 +0000 [r410591-410608]  Mark Michelson <mmichelson@digium.com>
+
+       * /, main/db.c: Remove an extra ast_cond_wait() that slipped
+         through the patch. ........ Merged revisions 410606 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410607 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/config.c, res/res_sorcery_realtime.c: Handle the return
+         values of realtime updates and stores more accurately. Realtime
+         backends' update and store callbacks return the number of rows
+         affected, or -1 if there was a failure. There were a couple of
+         issues: * The config API was treating 0 as a successful return,
+         and positive values as a failure. Now the config API treats
+         anything >= 0 as a success. * res_sorcery_realtime was treating 0
+         as a successful return from the store procedure, and any positive
+         values as a failure. Now sorcery treats anything > 0 as a
+         success. It still considers 0 a "failure" since there is no
+         change to report to observers. Review:
+         https://reviewboard.asterisk.org/r/3341 ........ Merged revisions
+         410592 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_mwi.c: Prevent conflicts regarding unsolicited
+         and solicited MWI to an endpoint. If an endpoint is receiving
+         unsolicited MWI for a mailbox and then attempts to subscribe to
+         an AOR that provides MWI for the same mailbox, then the SUBSCRIBE
+         is rejected with a 500 response. Review:
+         https://reviewboard.asterisk.org/r/3345 ........ Merged revisions
+         410590 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-14 17:56 +0000 [r410589]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, CHANGES: uniqueid: Update CHANGES to reflect new features Note
+         the new features provided by uniqueid in the CHANGES file. (issue
+         ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3316/
+         ........ Merged revisions 410588 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-14 16:42 +0000 [r410575]  Jonathan Rose <jrose@digium.com>
+
+       * /, main/acl.c, res/res_pjsip/pjsip_configuration.c,
+         contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py,
+         CHANGES, res/res_pjsip/config_transport.c,
+         include/asterisk/acl.h: PJSIP: TOS values should be represented
+         as decimals in sorcery objects (closes issue ASTERISK-23235)
+         Reported by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3324/ ........ Merged
+         revisions 410574 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-14 16:19 +0000 [r410567]  Mark Michelson <mmichelson@digium.com>
+
+       * /, main/db.c: Prevent delayed astdb syncs. The syncing thread
+         sleeps for a second before waiting to be told to attempt to sync
+         again. If a signal were sent during this sleeping period, we
+         would end up having to wait until the next sync signal occurred
+         in order to sync up the astdb. This code rearrangement also
+         ensures that any pending transactions will be synced prior to
+         Asterisk shutting down. Patches: db_sync.patch by John Hardin
+         (License #6512) ........ Merged revisions 410556 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410559 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-14 16:17 +0000 [r410560]  Jonathan Rose <jrose@digium.com>
+
+       * res/ari/resource_bridges.c, /: ARI/bridges: Forward
+         Playback/Recording Started/Finished to bridge topic (closes issue
+         ASTERISK-23444) Reported by: Ben Merrills Review:
+         https://reviewboard.asterisk.org/r/3340/ ........ Merged
+         revisions 410558 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-14 16:01 +0000 [r410542-410557]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/app.h, /, res/res_mwi_external.c, main/app.c:
+         res_mwi_external: Clear the stasis cache entry when the external
+         MWI is deleted. One of the things missing when external MWI
+         support was added was the ability to clear the stasis cache entry
+         of deleted external MWI mailboxes. Review:
+         https://reviewboard.asterisk.org/r/3325/ ........ Merged
+         revisions 410555 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/cdr.c: cdr.c: Add missing aow_unlock(cdr) in off nominal
+         path of handle_dial_message(). * Trivial common code hoisting in
+         handle_bridge_leave_message(). * Some whitespace fixing. ........
+         Merged revisions 410541 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-13 19:33 +0000 [r410528]  Kinsey Moore <kmoore@digium.com>
+
+       * res/stasis/control.h, res/res_stasis.c, /, res/stasis/control.c:
+         ARI: Ensure managing application receives ChannelEnteredBridge
+         messages This fixes an issue where a Stasis application running
+         over ARI and subscribed to ari/events could miss the
+         ChannelEnteredBridge event because it did not subscribe to the
+         new bridge fast enough. To accomplish this, it subscribes the
+         application controlling the channel to the new bridge before
+         adding it to that bridge which required the stasis_app_control
+         structure to maintain a reference to the stasis_app. (closes
+         issue ASTERISK-23295) Review:
+         https://reviewboard.asterisk.org/r/3336/ ........ Merged
+         revisions 410527 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-13 13:25 +0000 [r410511]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_multihomed.c, /: Multiple revisions 410509-410510
+         ........ r410509 | file | 2014-03-13 06:23:14 -0700 (Thu, 13 Mar
+         2014) | 2 lines res_pjsip_multihomed: Fix a bug where the 200 OK
+         for a REGISTER would contain the wrong contact. ........ r410510
+         | file | 2014-03-13 06:24:17 -0700 (Thu, 13 Mar 2014) | 2 lines
+         res_pjsip_multihomed: Remove change for testing fix. ........
+         Merged revisions 410509-410510 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-12 19:06 +0000 [r410492-410494]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_musiconhold.c, main/channel.c, /: res_musiconhold.c:
+         Generate MOH start/stop events whenever the MOH stream is
+         started/stopped. * Made res_musiconhold.c always post the
+         MusicOnHoldStart/MusicOnHoldStop events when it actually
+         starts/stops the music streams. This allows the events to always
+         happen when MOH starts/stops. The event posting code was moved to
+         the MOH alloc/release routines. * Made channel_do_masquerade()
+         stop any MOH on the original channel before masquerading so the
+         original channel will get a stop event with correct information.
+         * Cleaned up a couple odd codings in moh_files_alloc() and
+         moh_alloc() dealing with the music state variable. (issue
+         ASTERISK-23311) Reported by: Benjamin Keith Ford Review:
+         https://reviewboard.asterisk.org/r/3306/ ........ Merged
+         revisions 410493 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/confbridge/conf_state.c,
+         apps/confbridge/conf_state_single.c,
+         apps/confbridge/conf_state_inactive.c,
+         apps/confbridge/conf_state_single_marked.c, /: app_confbridge:
+         Make explicitly stop MOH if a user is kicked or hangs up while
+         MOH is playing. When MOH is playing to a user in a conference and
+         the user is kicked or hangs up from the conference then the AMI
+         MusicOnHoldStop events didn't happen. (Asterisk v11 AMI event:
+         MusicOnHold, state:Stop) (closes issue ASTERISK-23311) Reported
+         by: Benjamin Keith Ford Review:
+         https://reviewboard.asterisk.org/r/3306/ ........ Merged
+         revisions 410490 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410491 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-12 12:51 +0000 [r410452-410472]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Fix a bug
+         where outgoing messages for TCP would go out using UDP. This
+         change fixes a bug where the code which changes the transport did
+         not check whether the message is going out over UDP or not before
+         changing it. For TCP and TLS transports we don't need to change
+         the transport as the correct one is already chosen. ........
+         Merged revisions 410471 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_multihomed.c (added), /: res_pjsip_multihomed: Add
+         module which places the correct address within messages. Due to
+         how messages are handled within PJSIP it is not until a message
+         is actually sent that the destination is reliably known. This
+         means that the addresses placed within the message may not be of
+         the interface the message is being sent out on. This module
+         determines what interface a message is being sent on and updates
+         the message to contain the correct address if applicable. This
+         module was tested by myself in a virtualized environment with
+         multiple interfaces and also by Kinsey Moore in the following
+         configuration: Networks: * 10.24.16.0/21 ** hard phone ** default
+         gateway * 10.24.64.0/21 ** softphone with pjsip-based stack
+         Transport details: bind address: 0.0.0.0 protocol: UDP All
+         endpoints were tested with explicitly configured transports and
+         unconfigured transports. This was tested with inbound and
+         outbound calls, both of which were experiencing detrimental
+         effects from incorrect IP addresses in SIP messages. These
+         effects were only experienced by the soft phone on the 10.24.64.0
+         network since the messages to the hard phone on the 10.24.16.0
+         network had the correct IP address. (closes issue ASTERISK-23020)
+         Reported by: xrobau Review:
+         https://reviewboard.asterisk.org/r/3102/ ........ Merged
+         revisions 410451 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-10 17:21 +0000 [r410395]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/http.c: AST-2014-001: Stack overflow in HTTP processing
+         of Cookie headers. Sending a HTTP request that is handled by
+         Asterisk with a large number of Cookie headers could overflow the
+         stack. Another vulnerability along similar lines is any HTTP
+         request with a ridiculous number of headers in the request could
+         exhaust system memory. (closes issue ASTERISK-23340) Reported by:
+         Lucas Molas, researcher at Programa STIC, Fundacion; and Dr.
+         Manuel Sadosky, Buenos Aires, Argentina ........ Merged revisions
+         410380 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 410381 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410383 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-10 16:33 +0000 [r410369]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * res/ari/resource_channels.c, main/manager.c, /: unqiueid: correct
+         max uniqueid length test This patch adds null string test prior
+         to checking for a max uniqueid value that was added in r410157.
+         ........ Merged revisions 410368 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-10 13:30 +0000 [r410346]  Kinsey Moore <kmoore@digium.com>
+
+       * /, channels/chan_sip.c: AST-2014-002: chan_sip: Exit early on bad
+         session timers request This change allows chan_sip to avoid
+         creation of the channel and consumption of associated file
+         descriptors altogether if the inbound request is going to be
+         rejected anyway. (closes issue ASTERISK-23373) Reported by: Corey
+         Farrell Patches: chan_sip-earlier-st-1.8.patch uploaded by Corey
+         Farrell (license 5909) chan_sip-earlier-st-11.patch uploaded by
+         Corey Farrell (license 5909) ........ Merged revisions 410308
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 410311 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410329 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-10 12:53 +0000 [r410307]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/pjsip_options.c, res/res_pjsip.c: AST-2014-003:
+         res_pjsip: When handling 401/407 responses don't assume a request
+         will have an endpoint. This change removes the assumption that an
+         outgoing request will always have an endpoint and makes the
+         authenticate_qualify option work once again. (closes issue
+         ASTERISK-23210) Reported by: Joshua Colp ........ Merged
+         revisions 410306 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-08 16:50 +0000 [r410288]  George Joseph <george.joseph@fairview5.com>
+
+       * res/res_pjsip/config_auth.c, /, res/res_pjsip/location.c,
+         res/res_pjsip_outbound_registration.c,
+         res/res_pjsip_endpoint_identifier_ip.c,
+         include/asterisk/res_pjsip_cli.h, include/asterisk/sorcery.h,
+         res/res_pjsip/pjsip_cli.c, res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip/config_transport.c, main/sorcery.c,
+         include/asterisk/res_pjsip.h: pjsip_cli: Create pjsip show
+         channel and contact, and general cli code cleanup. Created the
+         'pjsip show channel' and 'pjsip show contact' commands.
+         Refactored out the hated ast_hashtab. Replaced with
+         ao2_container. Cleaned up function naming. Internal only, no
+         public name changes. Cleaned up whitespace and brace formatting
+         in cli code. Changed some NULL checking from "if"s to
+         ast_asserts. Fixed some register/unregister ordering to reduce
+         deadlock potential. Fixed ast_sip_location_add_contact where the
+         'name' buffer was too short. Fixed some self-assignment issues in
+         res_pjsip_outbound_registration. (closes issue ASTERISK-23276)
+         Review: http://reviewboard.asterisk.org/r/3283/ ........ Merged
+         revisions 410287 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-08 15:45 +0000 [r410275]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/ari/resource_channels.c: resource_channels: Check if a
+         passed in ID is NULL before checking its length Calling strlen on
+         a NULL string is explosive. This patch checks whether or not the
+         passed in string is NULL or zero length before checking to see if
+         the string is too long. ........ Merged revisions 410274 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 22:56 +0000 [r410227]  Corey Farrell <git@cfware.com>
+
+       * /, channels/chan_sip.c: chan_sip: Fix deadlock of monlock between
+         unload_module and do_monitor Release monlock before calling
+         pthread_join. This ensures do_monitor cannot freeze by locking
+         monlock during module unload. (closes issue ASTERISK-21406)
+         Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3284/ ........ Merged
+         revisions 410224 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 410225 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410226 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 22:08 +0000 [r410212]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, include/asterisk/sorcery.h: sorcery: correct field register
+         argument list This fixes mistakes I previously made in merging
+         gtjoseph's changes with mine. ........ Merged revisions 410211
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 21:54 +0000 [r410208-410210]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/config_options.c: config_options: Display the see-also
+         information for CLI config option help The config option help
+         information has always parsed the <see-also> tags in the XML
+         documentation. Unfortunately, it just never bothered displaying
+         them on the CLI. With this patch, when you execute 'config show
+         help [module] [obj] [option]', it will display what other options
+         are useful to you. (closes issue ASTERISK-22008) Reported by:
+         Richard Mudgett ........ Merged revisions 410209 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip.c, /: res_pjsip: Fix documentation for one touch
+         recording see-also links The one touch recording options have
+         several see-also links between the various configuration options.
+         These were 'broken' by the snake casing of those options. This
+         patch corrects the see-also links such that they reference the
+         correct option names. ........ Merged revisions 410194 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 21:23 +0000 [r410207]  Mark Michelson <mmichelson@digium.com>
+
+       * main/sorcery.c, res/res_sorcery_realtime.c, /,
+         include/asterisk/sorcery.h, tests/test_sorcery_realtime.c: Make
+         res_sorcery_realtime filter unknown retrieved results. When
+         retrieving data from a database or other realtime backend, it's
+         quite possible to retrieve variables that Asterisk does not care
+         about but that are legitimate to exist. Asterisk does not need to
+         throw a hissy fit when these variables are encountered but rather
+         just filter them out. Review:
+         https://reviewboard.asterisk.org/r/3305 ........ Merged revisions
+         410187 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 21:11 +0000 [r410191]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/sorcery.c, /, include/asterisk/sorcery.h,
+         res/res_pjsip/pjsip_configuration.c: pjsip: allow and disallow
+         show same codecs In order to prevent confusion over the allow and
+         disallow list of codecs being the same an option for registering
+         a field as an alias is added. The alias field will be read from
+         the configuration file, but afterwards is not listed as a known
+         field. With disallow set as an alias, the CLI command pjsip show
+         endpoint # will list the allow= field, but not the disallow
+         field. (closes issue ASTERISK-23092) Review:
+         https://reviewboard.asterisk.org/r/3193/ ........ Merged
+         revisions 410190 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 20:41 +0000 [r410174-410185]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/devicestate.h, main/stasis_cache.c,
+         main/stasis_message.c, /, tests/test_devicestate.c,
+         include/asterisk/stasis.h, main/app.c, main/devicestate.c,
+         tests/test_stasis.c: stasis cache: Enhance to keep track of an
+         item from different entities. A stasis cache entry now contains
+         more than a single message/snapshot. It contains
+         messages/snapshots for the local entity as well as any remote
+         entities that post to the cached item. In addition callbacks can
+         be supplied when the cache is created to compute and post the
+         aggregate message/snapshot representing all entities stored in
+         the cache entry. * All stasis messages now have an eid to
+         indicate what entity posted it. * The stasis cache enhancements
+         allow device state to cache and aggregate the device states from
+         local and remote entities in a single operation. The cached
+         aggregate device state is available immediately after it is
+         posted to the stasis bus. This improves performance by
+         eliminating a cache dump and associated ao2 container traversals
+         to calculate the aggregate state. (closes issue ASTERISK-23204)
+         Reported by: Mark Michelson Review:
+         https://reviewboard.asterisk.org/r/3281/ ........ Merged
+         revisions 410184 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * tests/test_cel.c, channels/sig_pri.c, channels/sig_ss7.c,
+         include/asterisk/bridge.h, tests/test_cdr.c, channels/sig_pri.h,
+         channels/chan_dahdi.c, channels/sig_ss7.h, /: uniqueid: Fix
+         chan_dahdi, sig_pri, sig_ss7, test_cdr, and test_cel compiler
+         errors. (issue ASTERISK-23120) ........ Merged revisions 410171
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 15:47 +0000 [r410158]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * tests/test_cdr.c, res/res_clioriginate.c, res/res_ari_bridges.c,
+         tests/test_substitution.c, res/res_stasis_playback.c,
+         channels/chan_multicast_rtp.c, apps/app_meetme.c, /,
+         main/bridge_basic.c, include/asterisk/channel_internal.h,
+         tests/test_app.c, apps/confbridge/conf_chan_record.c,
+         main/core_unreal.c, channels/chan_gtalk.c,
+         include/asterisk/stasis_app_playback.h,
+         res/ari/resource_bridges.c, channels/chan_jingle.c,
+         channels/chan_phone.c, pbx/pbx_spool.c,
+         res/ari/resource_bridges.h, res/parking/parking_tests.c,
+         channels/chan_motif.c, apps/app_confbridge.c,
+         res/ari/resource_channels.c, include/asterisk/pbx.h,
+         res/res_stasis.c, include/asterisk/bridge.h,
+         apps/app_voicemail.c, res/ari/resource_channels.h,
+         apps/app_dial.c, res/res_calendar_exchange.c,
+         channels/chan_vpb.cc, apps/app_page.c, apps/app_chanisavail.c,
+         include/asterisk/dial.h, main/core_local.c,
+         res/parking/parking_bridge_features.c,
+         tests/test_stasis_endpoints.c, res/parking/parking_bridge.c,
+         channels/chan_skinny.c, include/asterisk/stasis_app_snoop.h,
+         addons/chan_mobile.c, main/bridge_channel.c,
+         channels/chan_pjsip.c, channels/chan_mgcp.c,
+         channels/chan_unistim.c, main/pbx.c,
+         res/res_calendar_icalendar.c, main/ccss.c,
+         channels/chan_bridge_media.c, main/bridge.c,
+         tests/test_stasis_channels.c, apps/app_bridgewait.c,
+         apps/app_originate.c, res/res_calendar_caldav.c,
+         include/asterisk/channel.h, res/parking/parking_applications.c,
+         apps/app_followme.c, main/cel.c, apps/app_queue.c,
+         res/res_ari_channels.c, res/res_calendar_ews.c,
+         rest-api/api-docs/bridges.json, main/dial.c,
+         channels/chan_dahdi.c, channels/chan_h323.c, tests/test_cel.c,
+         rest-api/api-docs/channels.json,
+         include/asterisk/bridge_internal.h,
+         apps/confbridge/conf_chan_announce.c, res/res_calendar.c,
+         include/asterisk/core_unreal.h, addons/chan_ooh323.c,
+         res/stasis/control.c, channels/chan_sip.c,
+         main/channel_internal_api.c, include/asterisk/stasis_app.h,
+         res/res_stasis_snoop.c, channels/chan_console.c,
+         channels/chan_iax2.c, channels/chan_oss.c, apps/app_agent_pool.c,
+         main/channel.c, main/manager.c, channels/chan_misdn.c,
+         tests/test_voicemail_api.c, channels/chan_alsa.c,
+         channels/chan_nbs.c, main/message.c: uniqueid: channel linkedid,
+         ami, ari object creation with id's Much needed was a way to
+         assign id to objects on creation, and much change was necessary
+         to accomplish it. Channel uniqueids and linkedids are split into
+         separate string and creation time components without breaking
+         linkedid propgation. This allowed the uniqueid to be specified by
+         the user interface - and those values are now carried through to
+         channel creation, adding the assignedids value to every function
+         in the chain including the channel drivers. For local channels,
+         the second channel can be specified or left to default to a ;2
+         suffix of first. In ARI, bridge, playback, and snoop objects can
+         also be created with a specified uniqueid. Along the way, the
+         args order to allocating channels was fixed in chan_mgcp and
+         chan_gtalk, and linkedid is no longer lost as masquerade occurs.
+         (closes issue ASTERISK-23120) Review:
+         https://reviewboard.asterisk.org/r/3191/ ........ Merged
+         revisions 410157 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-07 05:04 +0000 [r410108]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Allow static realtime members
+         to be qualified during module load. When a static realtime peer
+         with qualify=yes is loaded, Asterisk will fail to send an OPTIONS
+         request due to the lastms being equal to 0. This results in the
+         peer being unable to receive calls from Asterisk because the
+         status is permanently UNKNOWN. This patch allows an OPTIONS
+         request to be sent during module load by ignoring the lastms
+         value on startup only. Review:
+         https://reviewboard.asterisk.org/r/3294/ (closes issue
+         ASTERISK-17523) Reported by: Maciej Krajewski Tested by:
+         wushumasters patches: realtime_fix_11.7.0.txt uploaded by Trevor
+         Peirce (license 6112) ........ Merged revisions 410105 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 410106 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410107 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-06 23:47 +0000 [r410092]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/sorcery.c, /: sorcery.c: Fix off-nominal path ref and memory
+         leak in ast_sorcery_objectset_json_create(). * Made exit a loop
+         early on error in ast_sorcery_objectset_json_create(). * Removed
+         some dead code in ast_sorcery_objectset_create2(). ........
+         Merged revisions 410089 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-06 23:43 +0000 [r410091]  Russell Bryant <russell@russellbryant.com>
+
+       * /, res/res_musiconhold.c: moh: fix a refcount error with realtime
+         MOH I observed a crash in res_musiconhold on an Asterisk 11
+         system using realtime MOH. Investigation of the backtrace showed
+         a corrupt mohclass, implying that it got destroyed before the
+         code expected it to. I went looking for reference counting errors
+         that could have caused this crash and this patch this result. It
+         contains 2 changes. 1) Remove a usless block of code that was
+         impossible to reach. There was even a comment indicating that it
+         was impossible to reach. The conditional includes
+         "!ast_test_flag(global_flags, MOH_CACHERTCLASSES)" and it's
+         inside of an if block with the opposite check
+         "ast_test_flag(global_flags, MOH_CACHERTCLASSES)". There's no
+         good reason to keep it around. 2) A similar block to #1 contained
+         a reference counting error. It stores state->class in the local
+         variable mohclass without increasing its reference count. The
+         reference count on mohclass is decremented at the end of the
+         function. This block of code probably very rarely runs, which
+         would help explain why this system was working fine for many
+         months before experiencing a crash. Review:
+         https://reviewboard.asterisk.org/r/3282/ ........ Merged
+         revisions 410043 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 410044 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 410090 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-06 22:39 +0000 [r410042]  George Joseph <george.joseph@fairview5.com>
+
+       * res/res_pjsip/config_auth.c, funcs/func_sorcery.c (added),
+         res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
+         main/bucket.c, res/res_pjsip_endpoint_identifier_ip.c,
+         include/asterisk/config.h, include/asterisk/sorcery.h,
+         res/res_pjsip/pjsip_configuration.c, res/res_pjsip_acl.c,
+         CHANGES, tests/test_sorcery.c, res/res_pjsip/config_transport.c,
+         main/config.c, main/sorcery.c: sorcery: Create AST_SORCERY
+         dialplan function. This patch creates the AST_SORCERY dialplan
+         function which allows someone to retrieve any value from a
+         sorcery-based config file. It's similar to AST_CONFIG. The
+         creation of the function itself was fairly straightforward but it
+         required changes to the underlying sorcery infrastructure that
+         rippled into individual sorcery objects. The changes stemmed from
+         inconsistencies in how sorcery created ast_variable objectsets
+         from sorcery objects and the inconsistency in how individual
+         objects used that feature especially when it came to parameters
+         that can be specified multiple times like contact in aor and
+         match in identify. You can read more here...
+         http://lists.digium.com/pipermail/asterisk-dev/2014-February/065202.html
+         So, what this patch does, besides actually creating the
+         AST_SORCERY function, is the following... * Creates
+         ast_variable_list_append which is a helper to append one
+         ast_variable list to another. * Modifies the
+         ast_sorcery_object_field_register functions to accept the
+         already-defined sorcery_fields_handler callback. * Modifies
+         ast_sorcery_objectset_create to accept a parameter indicating
+         return type preference...a single ast_variable with all values
+         concatenated or an ast_variable list with multiple entries. Also
+         fixed a few bugs. * Modifies individual sorcery object
+         implementations to use the new function definition of the
+         ast_sorcery_object_field_register functions. * Modifies
+         location.c and res_pjsip_endpoint_identifier_ip.c to implement
+         sorcery_fields_handler handlers so they return multiple
+         occurrences as an ast_variable_list. * Added a whole bunch of
+         tests to test_sorcery. (closes issue ASTERISK-22537) Review:
+         http://reviewboard.asterisk.org/r/3254/
+
+2014-03-06 19:04 +0000 [r410029]  Jonathan Rose <jrose@digium.com>
+
+       * include/asterisk/acl.h, /, main/acl.c,
+         res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
+         contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py
+         (added), res/res_pjsip/config_transport.c: pjsip configuration:
+         Make transport TOS values consistent with endpoints Transport TOS
+         values were interpreted as DSCP values without being documented
+         as such. Endpoint TOS values (tos_audio/tos_video) behaved
+         normally as TOS values have historically. This patch makes the
+         transport TOS values behave as TOS values and makes all TOS
+         values readable as string values (e.g. AF11). In addition,
+         alembic scripts have been updated to use the proper field types
+         for all TOS/COS values. (issue ASTERISK-23235) Reported by:
+         George Joseph Review: https://reviewboard.asterisk.org/r/3304/
+         ........ Merged revisions 410028 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-06 18:20 +0000 [r410027]  Joshua Colp <jcolp@digium.com>
+
+       * res/ari/resource_channels.c, CHANGES,
+         res/ari/ari_model_validators.c,
+         rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
+         res/ari/ari_model_validators.h, /,
+         include/asterisk/stasis_app_recording.h,
+         res/res_stasis_recording.c: res_stasis_recording: Add a
+         "target_uri" field to recording events. This change adds a
+         target_uri field to the live recording object. It contains the
+         URI of what is being recorded. (closes issue ASTERISK-23258)
+         Reported by: Ben Merrills Review:
+         https://reviewboard.asterisk.org/r/3299/ ........ Merged
+         revisions 410025 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-06 15:58 +0000 [r410012]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_mwi.c, /: Don't attempt to link in an aggregate MWI
+         subscription if an endpoint does not aggregate MWI. Attempting to
+         link a NULL object into an ao2 container had been benign
+         previously, but since enabling DO_CRASH in the testsuite, this is
+         now causing a crash. It's better to be right here anyway.
+         ........ Merged revisions 410011 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-06 02:22 +0000 [r409996]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_fax_spandsp.c, /: res_fax_spandsp: Fix crash when passing
+         ulaw/alaw data to spandsp When acting as a T.38 fax gateway,
+         res_fax_spandsp would at times cause a crash in libspandsp. This
+         would occur when, during fax tone detection, a ulaw/alaw frame
+         would be passed to modem_connect_tones_rx. That particular
+         routine expects the data to be in slin format. This patch looks
+         at the frame type and, if the data is ulaw/alaw, converts the
+         format to slin before passing it to modem_connect_tones_rx.
+         Review: https://reviewboard.asterisk.org/r/3296 (closes issue
+         ASTERISK-20149) Reported by: Alexandr Gordeev Tested by: Michal
+         Rybarik patches: spandsp_g711decode.diff uploaded by Michal
+         Rybarik (license 6578) ........ Merged revisions 409990 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409991 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-06 00:33 +0000 [r409970-409977]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/confbridge/conf_state_multi.c,
+         apps/confbridge/conf_state_inactive.c, /: app_confbridge: Remove
+         some noop code. ........ Merged revisions 409976 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_musiconhold.c: res_musiconhold.c: Remove some
+         unnecessary RAII_VAR() usage. * Made the moh_register() define
+         use useful parameter names. ........ Merged revisions 409967 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-05 20:41 +0000 [r409904-409919]  Kinsey Moore <kmoore@digium.com>
+
+       * main/config.c, /: config: Fix inverted test The test of the
+         result of the stat() call was inverted such that its output was
+         only used if the call failed. This inverts the test so that the
+         output of stat() is used correctly. This was causing full reloads
+         on unchanged files. (closes issue ASTERISK-23383) Reported by:
+         David Woolley ........ Merged revisions 409916 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409917 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409918 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * bridges/bridge_native_rtp.c, /: bridge_native_rtp: Fix crash
+         involving masquerade It is possible for a channel to be
+         masqueraded out of a bridge which means it may no longer have RTP
+         glue to check upon leaving said bridge. If this situation
+         occurred (it's possible at least during dial and call pickup)
+         then Asterisk would crash. This change makes sure the glue is
+         checked before use. (closes issue AST-1290) Reported by: John
+         Bigelow ........ Merged revisions 409900 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-05 18:51 +0000 [r409889]  Richard Mudgett <rmudgett@digium.com>
+
+       * contrib/ast-db-manage/cdr/versions,
+         contrib/ast-db-manage/cdr/versions/210693f3123d_create_cdr_table.py,
+         /,
+         contrib/ast-db-manage/config/versions/28887f25a46f_create_queue_tables.py
+         (added), contrib/ast-db-manage/cdr.ini.sample (added),
+         contrib/ast-db-manage/cdr/env.py, contrib/ast-db-manage/cdr
+         (added), contrib/ast-db-manage/cdr/script.py.mako: alembic: Add
+         missing queue and CDR table creation scripts. * Added the queues
+         and queue_members tables to the config alembic scripts. * Added
+         the CDR table alembic creation script. The CDR table is more of
+         an example for new setups since the actual table can be fully
+         customized in cdr_adaptive_odbc.conf. (closes issue
+         ASTERISK-23233) Reported by: jmls Review:
+         https://reviewboard.asterisk.org/r/3227/ ........ Merged
+         revisions 409885 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-05 18:47 +0000 [r409888]  Mark Michelson <mmichelson@digium.com>
+
+       * funcs/func_presencestate.c, /: Fix documentation for
+         PRESENCE_STATE to properly illustrate how to create a presence
+         hint. There was a missing comma. This was discovered by Dan
+         Kaplan. ........ Merged revisions 409886 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409887 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-05 16:58 +0000 [r409836]  David M. Lee <dlee@digium.com>
+
+       * main/config.c, /, configure, include/asterisk/autoconfig.h.in,
+         configure.ac: Corrected cross-platform stat nanosecond code When
+         nanosecond time resolution was added for identifying config file
+         changes, it didn't cover all of the myriad of ways that one might
+         obtain nanosecond time resolution off of struct stat. Rather than
+         complicate the #if even further figuring out one system from the
+         next, this patch directly tests for the three struct members I
+         know about today, and #ifdef's accordingly. Review:
+         https://reviewboard.asterisk.org/r/3273/ ........ Merged
+         revisions 409833 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409834 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409835 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-05 16:26 +0000 [r409831-409832]  Moises Silva <moises.silva@gmail.com>
+
+       * res/res_http_websocket.c: Fix res/res_http_websocket.c build
+         failure in 32bit due to incorrect print format for uint64_t
+
+       * res/res_http_websocket.c, /: Fix WebRTC over WSS not working
+         Several fixes for the WebSockets implementation in
+         res/res_http_websocket.c * Flush the websocket session FILE* as
+         fwrite() may not actually guarantee sending the data to the
+         network. If we do not flush, it seems that buffering on the SSL
+         socket for outbound messages causes issues * Refactored
+         ast_websocket_read to take into account that SSL file descriptors
+         may be ready to read via fread() but poll() will not actually say
+         so because the data was already read from the network buffers and
+         is now in the libc buffers (closes issue ASTERISK-23099) (closes
+         issue ASTERISK-21930) Review:
+         https://reviewboard.asterisk.org/r/3248/ ........ Merged
+         revisions 409681 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409697 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-05 12:06 +0000 [r409780]  Sean Bright <sean@malleable.com>
+
+       * contrib/scripts/astgenkey, contrib/scripts/astgenkey.8, /: Fix
+         references to 'keys' CLI commands in astgenkey ........ Merged
+         revisions 409777 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409778 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409779 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-05 06:17 +0000 [r409747]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>
+
+       * channels/chan_unistim.c: Add update_peer function to
+         unistim_rtp_glue, improve other unistim_rtp_glue functions
+         conforming to other channel drivers. Do not forget auto-detected
+         and user-selected phone settings on 'unistim reload' ........
+         Merged revisions 409705 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409745 from
+         http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-03-05 01:05 +0000 [r409683]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, include/asterisk/stasis_internal.h: stasis: Made
+         internal_stasis_subscribe() prototype and definition match
+         exactly. ........ Merged revisions 409682 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-04 19:34 +0000 [r409627]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * funcs/func_audiohookinherit.c, /: func_audiohookinheritance:
+         Check If A Channel Was Specified This patch prevents a crash when
+         using the function audiohookinheritance without setting the
+         channel. (closes issue ASTERISK-23104) Reported by: Joel Vandal
+         Tested by: Joel Vandal Patches:
+         asterisk-23104_audiohook_inherit_no_channel-11.diff uploaded by
+         Michael L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/3272/ ........ Merged
+         revisions 409623 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409625 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409626 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-04 17:22 +0000 [r409587]  Jonathan Rose <jrose@digium.com>
+
+       * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix one way audio
+         problems with hold/unhold when using ICE ICE sessions will now be
+         restarted if sessions are changed to use new sets of remote
+         candidates. (closes issue ASTERISK-22911) Reported by: Vytis
+         Valentinavičius Review: https://reviewboard.asterisk.org/r/3275/
+         ........ Merged revisions 409565 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409570 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-04 16:55 +0000 [r409569]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/astobj2.c: AO2: Add an assert for bad objects This adds
+         an assert that will only be active if Asterisk is compiled with
+         DO_CRASH and allows the testsuite to fail tests that would
+         otherwise require log file parsing. ........ Merged revisions
+         409566 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 409567 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409568 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-04 14:55 +0000 [r409475]  Sean Bright <sean@malleable.com>
+
+       * /, channels/chan_sip.c: Minor whitespace change to 'sip show
+         peers' output. (closes issue ASTERISK-23406) Reported by: ibercom
+         Tested by: ibercom Patches: asterisk-11.patch uploaded by ibercom
+         ........ Merged revisions 409472 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409473 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409474 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-03 19:44 +0000 [r409423]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_stasis_recording.c: res_stasis_recording: Fix memory
+         leak of the absolute name. ........ Merged revisions 409422 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-03 02:08 +0000 [r409364]  Matthew Jordan <mjordan@digium.com>
+
+       * main/asterisk.c, /: doxygen: Tweak the link back to ye olde
+         Digium website ........ Merged revisions 409361 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409362 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409363 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-02 17:03 +0000 [r409350]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * /, Makefile.rules: Makefile: replace -O6 with -O3 -O6 is not a
+         legal option of gcc. Unofficially gcc considers it to be
+         equivalent of -O3. clang chalks on it, though. This commit sets
+         the default optimization flag to be -O3, like gcc actually
+         considered it. Review: https://reviewboard.asterisk.org/r/3280/
+         ........ Merged revisions 409308 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409344 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409346 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-01 20:28 +0000 [r409288]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Set options
+         (100rel, timers) on incoming sessions. This change passes options
+         to the UAS creation function. This in turn sets up 100rel and
+         session timer properties on the incoming session. Reported by
+         Julian Russell on asterisk-users mailing list. ........ Merged
+         revisions 409287 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-03-01 00:05 +0000 [r409257-409275]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/devicestate.c: devicestate.c: Simplified some logic in
+         _ast_device_state(). ........ Merged revisions 409274 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis_cache.c, /: stasis_cache.c: Remove some unnecessary
+         RAII_VAR() usage. ........ Merged revisions 409272 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis.c, /: stasis.c: Misc code cleanups. * Remove some
+         unnecessary RAII_VAR() usage. * Made the struct
+         stasis_subscription ao2 object use the ao2 lock instead of a
+         redundant join_lock in the struct for ast_cond_wait(). * Removed
+         locks on some ao2 objects that don't need the lock. * Made the
+         topic pool entries container use the ao2 template functions. *
+         Add some missing allocation failure checks. * Add missing cleanup
+         in off nominal path of dispatch_message(). ........ Merged
+         revisions 409270 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: chan_sip: Add precautionary p->owner
+         checks. * Add precautionary p->owner checks in sip_hangup(),
+         get_refer_info(), get_also_info(), and
+         interpret_t38_parameters(). * Simplify some tangled logic in
+         get_refer_info(), get_also_info(), and add_rpid(). * Removed some
+         dead code in handle_request_invite(). (closes issue
+         ASTERISK-23323) Reported by: Walter Doekes Patches:
+         issueA23323-more_p_owner_checks-1.8.x.patch (license #5674)
+         uploaded by wdoekes (modified)
+         issueA23323-more_p_owner_checks-11.x.patch (license #5674)
+         uploaded by wdoekes (modified)
+         issueA23323-more_p_owner_checks-12.x.patch (license #5674)
+         uploaded by wdoekes (modified)
+         issueA23323-more_p_owner_checks-trunk.patch (license #5674)
+         uploaded by wdoekes (modified) ........ Merged revisions 409207
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 409255 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409256 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-28 21:24 +0000 [r409237]  Kinsey Moore <kmoore@digium.com>
+
+       * apps/app_queue.c, /: app_queue: Fix documented AMI event name
+         During the rewrite of AMI events to use the Stasis bus, the name
+         of the QueueMemberPaused event was changed to QueueMemberPause.
+         This corrects documentation to reflect that. ........ Merged
+         revisions 409234 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-28 18:03 +0000 [r409159]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Fix crash in
+         ast_channel_hangupcause_set(). * Fix crash in
+         ast_channel_hangupcause_set() because p->owner not checked before
+         calling. Regression introduced by the fix for ASTERISK-22621.
+         (closes issue ASTERISK-23135) Reported by: OK (issue
+         ASTERISK-23323) Reported by: Walter Doekes ........ Merged
+         revisions 409156 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409157 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409158 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-27 19:54 +0000 [r409132]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_rtp_asterisk.c, /: Multiple revisions 409129-409130
+         ........ r409129 | jrose | 2014-02-27 13:19:02 -0600 (Thu, 27 Feb
+         2014) | 15 lines res_rtp_asterisk: Fix checklist creating
+         problems in ICE sessions Prior to this patch, local candidate
+         lists including SRFLX would fail to start properly when building
+         ICE candidate check lists. This patch fixes that problem by
+         making sure that each SRFLX candidate is associated with the
+         proper base address so that the check list can create matches
+         properly. This patch was written by jcolp. The issue will be left
+         open to await testing by the issue participants. (issue
+         ASTERISK-23213) Reported by: Andrea Suisani Review:
+         https://reviewboard.asterisk.org/r/3256/ ........ r409130 | jrose
+         | 2014-02-27 13:38:10 -0600 (Thu, 27 Feb 2014) | 8 lines
+         res_rtp_asterisk: correct build error from r409129 Accidentally
+         placed a declaration below functional code (issue ASTERISK-23213)
+         Reported by: Andrea Suisani Review:
+         https://reviewboard.asterisk.org/r/3256/ ........ Merged
+         revisions 409129-409130 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409131 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-27 16:26 +0000 [r409091]  David M. Lee <dlee@digium.com>
+
+       * utils/astman.c, /: Fix memory stomping bug in astman. This memset
+         complained in dev mod on my Ubuntu box. The memset is both
+         unnecessary and dangerous. At this point, m hasn't been
+         initialized yet, so the memset will write off to whatever address
+         happens to be on the stack at the time. ........ Merged revisions
+         409077 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 409083 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409087 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-27 16:08 +0000 [r409055]  Corey Farrell <git@cfware.com>
+
+       * /, configs/res_fax.conf.sample: res_fax: Comment out default
+         settings from res_fax.conf. Comment out many settings in
+         res_fax.conf.sample. The defaults are set in res_fax.c, so
+         setting the same value in sample config does nothing but make the
+         sample config more fragile. (closes issue ASTERISK-23231)
+         Reported by: David Brillert Review:
+         https://reviewboard.asterisk.org/r/3261/ ........ Merged
+         revisions 409052 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 409053 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 409054 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-27 12:29 +0000 [r409000]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Apply
+         packetization rules on inbound SDP handling The setting
+         'use_ptime' is supposed to tell Asterisk to honour the ptime
+         attribute in an offer, preferring it to whatever packetization
+         preferences have been set internally. Currently, however,
+         something rather quirky will happen: (1) The SDP answer will be
+         constructed in create_outgoing_sdp_stream. This will use the
+         preferences from the endpoint, such that the 200 OK response will
+         add the packetization preferences from the endpoint, and not what
+         was offered. (2) When the 200 response is issued,
+         apply_negotiated_sdp_stream is called. This will call
+         apply_packetization, which will use the ptime attribute from the
+         offer internally. We end up telling the offerer to use the
+         internal ptime attribute, but we end up using the offered ptime
+         attribute. Hilarity ensues. This patch modifies the behaviour by
+         calling apply_packetization from negotiate_incoming_sdp_stream,
+         which is called prior to create_outgoing_sdp_stream. This causes
+         the format preferences on the session's media object to be set to
+         the inbound ptime value (if 'use_ptime' is enabled), such that
+         the construction of the answer gets the right value immediately.
+         Review: https://reviewboard.asterisk.org/r/3244/ ........ Merged
+         revisions 408999 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-26 23:35 +0000 [r408984]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, tests/test_stasis.c: test_stasis.c: Misc cleanups. * Make the
+         consumer ao2 object use the ao2 lock instead of a redundant lock
+         in the struct for ast_cond_wait(). * Fixed some curly brace
+         placements. * Fixed use of malloc(0). malloc(0) has variant
+         behavior. It is up to the implementation to determine if it
+         returns NULL or a valid pointer that can be later passed to
+         free(). ........ Merged revisions 408983 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-26 19:00 +0000 [r408971]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * channels/chan_pjsip.c, /: pjsip: avoid edge case potential crash
+         in answer() When accidentally compiling against a wrong version
+         of pjsip headers with a different pjsip_inv_session size, the
+         invite_tsx structure could be null in the answer() function. This
+         led to a crash because it attempted to send the session response
+         with an uninitialized packet pointer. This patch presets packet
+         to null and adds a diagnostic log message to explain why the call
+         fails. Review: https://reviewboard.asterisk.org/r/3267/ ........
+         Merged revisions 408970 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-26 17:04 +0000 [r408958]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_ari.c, /: res_ari: Make some additional error responses
+         consistent with the rest of the system. This change makes some
+         error cases use ast_ari_response_error to construct their error
+         responses instead of manually doing it. This ensures they are
+         consistent with the other error responses. Based on the original
+         patch as done by Paul Belanger on the associated review. Review:
+         https://reviewboard.asterisk.org/r/2904/ ........ Merged
+         revisions 408957 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-26 13:47 +0000 [r408942-408944]  Kinsey Moore <kmoore@digium.com>
+
+       * include/asterisk/res_pjsip_session.h, /: PJSIP: Fix some bad
+         spacing ........ Merged revisions 408943 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_refer.c: PJSIP: Prevent crash if channel has
+         gone away It is currently possible for an ast_sip_session to
+         exist without an associated channel as is the case when a new
+         invite is coming in or just after a hangup is issued on a
+         chan_pjsip channel. Part of the attended transfer code assumed
+         the channel would be non-NULL and used it as such causing a
+         crash. This bug was exposed thanks to the attended transfer ARI
+         test in the test suite. (closes issue ASTERISK-23287) Reported
+         by: Matt Jordan ........ Merged revisions 408941 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-26 08:57 +0000 [r408932]  Igor Goncharovskiy <igor.goncharovsky@gmail.com>
+
+       * channels/chan_unistim.c: Implement functions handling keypress,
+         display icons and text for i2004 KEM support.
+
+2014-02-25 17:51 +0000 [r408881-408883]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_exten_state.c, /,
+         res/res_pjsip_pidf_digium_body_supplement.c (added),
+         include/asterisk/res_pjsip_body_generator_types.h:
+         res_pjsip_exten_state: Presence for digium phones Added presence
+         support for digium phones. Review:
+         https://reviewboard.asterisk.org/r/3239/ ........ Merged
+         revisions 408882 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_send_to_voicemail.c (added),
+         res/res_pjsip_header_funcs.c: res_pjsip_send_to_voicemail:
+         transferring to voicemail for digium phones Added the ability for
+         transferring directly to voicemail on digium phones. Added a new
+         module that checks for the presence of a custom header and/or
+         diversion header within a sip REFER. If either is found and they
+         specify a sending to voicemail action then variables are added to
+         the channel allowing the user access to them in the dialplan.
+         Dialplan can then be written that branches based upon these
+         values allowing, for instace, for a single number to be used for
+         dialing and/or accessing voicemail directly. Also fixed a problem
+         where the PJSIP_HEADER function was allowing non pjsip channels
+         through (checked to make sure it has the correct channel type
+         before proceeding). Review:
+         https://reviewboard.asterisk.org/r/3245/ ........ Merged
+         revisions 408880 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-25 17:44 +0000 [r408879]  Rusty Newton <rnewton@digium.com>
+
+       * configs/voicemail.conf.sample, /: configs/voicemail.conf.sample -
+         Make mailcmd sample text more explicit Made the wording a bit
+         more explicit. Didn't really change the meaning. ........ Merged
+         revisions 408876 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408877 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408878 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-22 23:31 +0000 [r408859]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/asterisk.c: main: Initialize dialplan providing core
+         components prior to module pre-load It is possible to pre-load
+         pbx_config. As a result, pbx_config - which will load and parse
+         the dialplan - will attempt to use various dialplan components,
+         such as device state providers and presence state providers,
+         prior to them being initialized by the core. This would lead to a
+         crash, as the components had not created their Stasis cache
+         entries. This patch moves a number of core component
+         initializations before the module pre-load. This guarantees that
+         if someone does pre-load pbx_config - or other pbx modules - that
+         the Stasis caches for the various core components are created.
+         (closes issue ASTERISK-23320) Reported by: xrobau (closes issue
+         ASTERISK-23265) Reported by: Andrew Nagy Tested by: Andrew Nagy,
+         Rusty Newton ........ Merged revisions 408855 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-22 18:01 +0000 [r408840]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/chan_ooh323.c, /: ignore AST_CONTROL_PVT_CAUSE_CODE
+         without any messages (closes issue ASTERISK-23336) Reported by:
+         Alexander Semych ........ Merged revisions 408838 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408839 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-22 02:31 +0000 [r408788]  Corey Farrell <git@cfware.com>
+
+       * /, utils/extconf.c, utils/conf2ael.c, res/ael/pval.c, main/pbx.c:
+         Remove extra defines of AST_PBX_MAX_STACK. * Ensure
+         AST_PBX_MAX_STACK is only defined in extconf.h and pbx.h. * Fix
+         incorrect function parameters in utils/extconf.c. (closes issue
+         ASTERISK-23141) Reported by: Maxim Review:
+         https://reviewboard.asterisk.org/r/3241/ ........ Merged
+         revisions 408785 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408786 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408787 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-21 18:37 +0000 [r408731]  Kevin Harwell <kharwell@digium.com>
+
+       * main/rtp_engine.c, /: rtp_engine: Dynamic payload change in rtp
+         mapping not supported Asterisk didn't support the dynamic payload
+         change in rtp mapping in the 200 OK response. Scenario: Asterisk
+         sends the INVITE proposing alaw and telephone-event, it proposes
+         rtpmap:101 for telephone-event. Peer responds with 2xx, it
+         answers with alaw and telephone-event also, but it proposes a
+         different rtpmap number (rtpmap:103) for telephone-event.
+         Expected Behaviour: Asterisk should honour the rtpmapping in the
+         response and send DTMF packets using 103 as payload type for
+         DTMF. Actual Behaviour: Asterisk sends DTMF packets using payload
+         type 101. With this patch asterisk now supports changes that can
+         occur in the rtp mapping in the response. (closes issue
+         ASTERISK-23279) Reported by: NITESH BANSAL Review:
+         https://reviewboard.asterisk.org/r/3225/ Patches:
+         dynamic_payload_change.patch uploaded by nbansal (license 6418)
+         ........ Merged revisions 408729 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408730 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-21 18:19 +0000 [r408712-408723]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/manager.c, /: manager: Fix AMI Status action of a single
+         channel. Fixed use of uninitialized ao2 container iterator in an
+         off-nominal condition. Either a memory allocation error or the
+         requested channel is an internal channel not exposed to the
+         outside. ........ Merged revisions 408715 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/sorcery.c, res/ari/resource_endpoints.c, /,
+         apps/app_meetme.c, res/res_fax.c, res/res_stasis_recording.c,
+         main/stasis_channels.c, res/res_sorcery_astdb.c,
+         include/asterisk/json.h: json: Fix off-nominal json ref counting
+         issues. * Fixed off-nominal json ref counting issue with using
+         the following API calls: ast_json_object_set() and
+         ast_json_array_append(). * Fixed off-nominal error reporting in
+         ast_ari_endpoints_list(). * Fixed some miscellaneous off-nominal
+         json ref counting issues in report_receive_fax_status() and
+         dial_to_json(). ........ Merged revisions 408713 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/json.c, /: json: Fix json API wrapper code for json library
+         versions earlier than 2.3.0. * Fixed json ref counting issue with
+         json API wrapper code for ast_json_object_update_existing() and
+         ast_json_object_update_missing() when the json library is earlier
+         than version 2.3.0. ........ Merged revisions 408711 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-21 16:49 +0000 [r408699]  Corey Farrell <git@cfware.com>
+
+       * channels/chan_sip.c: chan_sip: prevent add_route from adding
+         empty header. Fix regression caused by ASTERISK-22582. Empty
+         Route headers were added when the route had a single strict hop.
+         (closes issue ASTERISK-23306) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3236/
+
+2014-02-21 16:27 +0000 [r408645-408652]  Kevin Harwell <kharwell@digium.com>
+
+       * main/rtp_engine.c, /: rtp_engine: Output mixup in
+         ${CHANNEL(rtpqos,audio,all)} Fixed the output of
+         CHANNEL(rtpqos,audio,all) to use txjitter instead of rxjitter.
+         (closes issue ASTERISK-23261) Reported by: rsw686 Patches:
+         rtpqos.patch uploaded by rsw686 (license 5887) ........ Merged
+         revisions 408646 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408647 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408649 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/channel.c, /: channel.c: MOH is not working for transferee
+         after attended transfer Updated the code to check to see if MOH
+         is playing on the transferor and if so then start it on the
+         channel that replaces it during a masquerade. Example scenario of
+         the problem: Alice calls Bob and then Bob begins the attended
+         transfer process into a queue. Upon going on hold Alice hears
+         music and so does Bob once he is in the queue. Bob then transfers
+         Alice into the queue and then music for Alice stops even though
+         she should be hearing it since has now replaced Bob in the queue.
+         The problem that was occurring is that once the channel was
+         masqueraded the app (queues, confbridge, etc...) had no way of
+         knowing that the channel had just been swapped out thus it did
+         not start music for the present channel. Credit to Olle Johansson
+         for pointing me in the right direction on this issue. (closes
+         issue ASTERISK-19499) Reported by: Timo Teräs Review:
+         https://reviewboard.asterisk.org/r/3226/ ........ Merged
+         revisions 408642 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408643 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408644 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-21 10:45 +0000 [r408592]  Alexandr Anikin <may@telecom-service.ru>
+
+       * /, addons/ooh323c/src/ooCalls.h: Fix type of roundTripDelay
+         variables ........ Merged revisions 408589 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408590 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408591 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-21 00:50 +0000 [r408539]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, apps/app_chanspy.c: app_chanspy: Documentation Update To
+         Clarify "x" Option When using the "x" option (specify a DTMF
+         digit to exit the application), it is not obvious in the
+         documentation that this only works when spying on a channel. If a
+         channel being used to spy on other channels is waiting to connect
+         to a channel or is no longer attached to a channel, the DTMF is
+         ignored. As noted on the issue tracker, since there are
+         workarounds available and this is a rarely used option we are
+         opting for a documentation change here. (closes issue
+         ASTERISK-22661) Reported by: Chris Hillman Patches:
+         asterisk-22661-doc-clarify-chan_spy.diff uploaded by Michael L.
+         Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/2990/ ........ Merged
+         revisions 408536 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408537 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408538 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-20 21:12 +0000 [r408519-408523]  George Joseph <george.joseph@fairview5.com>
+
+       * /, res/res_pjsip/location.c,
+         res/res_pjsip_outbound_registration.c: pjsip_cli: Add pjsip
+         commands 'show registrations' and 'show contacts'. Added 'show
+         registrations' and 'show contacts' to pjsip cli to make things a
+         little more consistent. The output is exactly the same as the
+         list command. Just needed to add entries to their respective
+         ast_cli_entry structures. (closes issue ASTERISK-23275) Review:
+         http://reviewboard.asterisk.org/r/3210/ ........ Merged revisions
+         408522 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/pjsip_cli.c, main/config.c: pjsip_cli: Fix
+         memory leak in ast_sip_cli_print_sorcery_objectset. Fixed memory
+         leaks in ast_sip_cli_print_sorcery_objectset and
+         ast_variable_list_sort. (closes issue ASTERISK-23266) Review:
+         http://reviewboard.asterisk.org/r/3200/ ........ Merged revisions
+         408520 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/sorcery.h,
+         res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
+         tests/test_sorcery.c, main/sorcery.c, /,
+         res/res_pjsip/config_system.c: sorcery: Create sorcery instance
+         registry. In order to retrieve an arbitrary sorcery instance from
+         a dialplan function (or any place else) there needs to be a
+         registry of sorcery instances. ast_sorcery_init now creates a
+         hashtab as a registry. ast_sorcery_open now checks the hashtab
+         for an existing sorcery instance matching the caller's module
+         name. If it finds one, it bumps the refcount and returns it. If
+         not, it creates a new sorcery instance, adds it to the hashtab,
+         then returns it. ast_sorcery_retrieve_by_module_name is a new
+         function that does a hashtab lookup by module name. It can be
+         called by the future dialplan function. res_pjsip/config_system
+         needed a small change to share the main res_pjsip sorcery
+         instance. tests/test_sorcery was updated to include a test for
+         the registry. (closes issue ASTERISK-22537) Review:
+         http://reviewboard.asterisk.org/r/3184/ ........ Merged revisions
+         408518 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-20 19:02 +0000 [r408503]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip.c, /: res_pjsip: Update documentation for
+         'use_avpf' option When 'use_avpf' is set to True, inbound offers
+         must use the AVPF/SAVPF RTP profile. However, when 'use_avpf' is
+         set to False, Asterisk will accept both AVP/SAVP or AVPF/SAVPF
+         RTP profiles in inbound offers. The documentation previously
+         implied that Asterisk would reject AVPF/SAVPF if 'use_avpf' was
+         set to False and a UA offered said profile in an INVITE request.
+         ........ Merged revisions 408502 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-20 02:44 +0000 [r408450]  Rusty Newton <rnewton@digium.com>
+
+       * /, apps/app_queue.c: apps/app_queue - Fix incorrect Macro
+         parameter documentation Macro is executed on the called channel,
+         not the calling channel. (closes issue ASTERISK-23069) Reported
+         By: Bryan Anderson ........ Merged revisions 408447 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408448 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408449 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-19 19:09 +0000 [r408386-408390]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/config.c: config: Add file size and nanosecond resolution
+         fields to the cached modified config file information. Repeatedly
+         modifying config files and reloading too fast sometimes fails to
+         reload the configuration because the cached modification
+         timestamp has one second resolution. * Added file size and
+         nanosecond resolution fields to the cached config file
+         modification timestamp information. Now if the file size changes
+         or the file system supports nanosecond resolution the modified
+         file has a better chance of being detected for reload. * Added a
+         missing unlock in an off-nominal code path. (closes issue
+         AST-1303) Review: https://reviewboard.asterisk.org/r/3235/
+         ........ Merged revisions 408387 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408388 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408389 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix regex
+         handling and keep simple prefix matching performance. The sorcery
+         astDB wizzard does not handle regex correctly if the pattern
+         begins with an anchor character. This patch attempts to convert
+         the anchored regex pattern to a prefix pattern supported by astDB
+         for performance reasons. If it is not able to convert the pattern
+         it falls back to getting all astDB members of the family and
+         doing a normal regex pattern matching on the retrieved records.
+         Review: https://reviewboard.asterisk.org/r/3161/ ........ Merged
+         revisions 408385 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-19 12:04 +0000 [r408315-408332]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/ooh323c/src/ooCapability.c, /,
+         addons/ooh323c/src/ooh245.c: process receiveAndTransmit user
+         input remote caps instead of receive only send receiveAndTransmit
+         user input our caps instead of receive only ........ Merged
+         revisions 408328 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408330 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408331 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * addons/ooh323c/src/ooh323.c, /: Allow different socket and
+         signalling ip on h.323 connection if gk mode is active Reported
+         by: Gabriele Odone Patches: ASTERISK-22738-1.patch Tested by:
+         Gabriele Odone (closes issue ASTERISK-22738) ........ Merged
+         revisions 408312 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408314 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-18 19:19 +0000 [r408299]  Richard Mudgett <rmudgett@digium.com>
+
+       * contrib/ast-db-manage/config/env.py,
+         contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
+         contrib/ast-db-manage/config,
+         contrib/ast-db-manage/voicemail/env.py,
+         contrib/ast-db-manage/voicemail,
+         contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
+         contrib/ast-db-manage/config/versions,
+         contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py,
+         contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
+         contrib/ast-db-manage/voicemail/versions, contrib/ast-db-manage,
+         /: alembic: Add svn:ignore *.pyc to directories and
+         svn:executable to *.py files. ........ Merged revisions 408297
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-17 15:36 +0000 [r408272]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip/location.c, UPGRADE.txt, res/res_pjsip.c,
+         res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h: Store
+         SIP User-Agent information in contacts. When an endpoint sends a
+         REGISTER request to Asterisk, we now will associate the
+         User-Agent header with all contacts that were bound in that
+         REGISTER request. ........ Merged revisions 408270 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-16 03:25 +0000 [r408199-408227]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/pbx.c: pbx: Handle a completely empty dialplan during a
+         context merge It is highly unlikely, but - at least in Asterisk
+         12 - theoretically possible to load Asterisk with no dialplan
+         whatsoever. If that occurs, and some other module (that is not a
+         pbx module) attempts to merge its contexts into the dialplan, the
+         existing merge routine will crash. This is because it is not
+         insane, and rightly believes that you provided some sort of
+         dialplan, somewhere. This patch will gracefully merge the
+         contexts in such a case. Note that this is highly unlikely to
+         occur in 1.8/11, as features will most likely provide some
+         dialplan via parking. However, in Asterisk 12, parking is now
+         provided by res_parking, and hence may create its dialplan later.
+         (closes issue ASTERISK-23297) Reported by: CJ Oster Review:
+         https://reviewboard.asterisk.org/r/3222 ........ Merged revisions
+         408200 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 408201 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408220 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, Makefile: buildsystem: Unbreak the build (infloop) on Asterisk
+         11+ Apparently r408084 ( https://reviewboard.asterisk.org/r/3212/
+         ) broke the build. This patch fixes it by ignoring the .lastclean
+         dependencies if the MENUSELECT_EMBED variable is not defined.
+         patches: tmp.diff uploaded by wdoekes (License 5674) Review:
+         https://reviewboard.asterisk.org/r/3228/ ........ Merged
+         revisions 408193 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408194 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-14 21:44 +0000 [r408139-408141]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/stasis_endpoints.c, /: ARI: correct upper/lower case URI
+         discrepancies URI's are supposed to be case sensitive and all
+         lower case. In practice some portions of URI's in ARI are case
+         insensitive and others are not, such as TECH, which in one
+         instance would match a lower case name and in another would not.
+         In this patch, the ast_endpoint_lastest_snapshot() function is
+         modified to change the TECH portion to full upper case before
+         lookup. This resolves the discrepancy noted by the reporter.
+         However I chose to avoid forcing the /ari prefix of the URI's to
+         be lower case for now. Except for the two cases here, all URI's
+         should be lower case, unless they are part of a resource name or
+         id. Review: https://reviewboard.asterisk.org/r/3211/ Reported by:
+         Zane Conkle (closes issue ASTERISK-23125) ........ Merged
+         revisions 408140 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/format.c, /: format.c: correct possible null pointer
+         dereference In ast_format_sdp_parse and ast_format_sdp_generate
+         the check checks for a valid interface and function were
+         potentially confusing, and hid an error in the test of the
+         presence of the function that is called later. This patch clears
+         up and corrects the test. Review:
+         https://reviewboard.asterisk.org/r/3208/ (closes issue
+         ASTERISK-23098) Reported by: marcelloceschia Patches:
+         main_format.patch uploaded by marcelloceschia (license 6036)
+         ASTERISK-23098.patch uploaded by coreyfarrell (license 5909)
+         ........ Merged revisions 408137 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408138 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-14 13:31 +0000 [r408086]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * Makefile, /: buildsystem: Don't force main to depend on
+         everything else. Directory 'main' only needs to depend on
+         embedded modules. If no module embedding is selected, the
+         dependency is dropped. Review:
+         https://reviewboard.asterisk.org/r/3212/ ........ Merged
+         revisions 408083 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 408084 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 408085 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-14 12:41 +0000 [r408070]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: chnan_sip: Set SIP_DEFER_BYE_ON_TRANSFER
+         prior to calling bridge blind transfer This patch moves setting
+         SIP_DEFER_BY_ON_TRANSFER prior to calling
+         ast_bridge_transfer_blind. This prevents a BYE from being sent
+         prior to the NOTIFY request that informs the transferor if the
+         transfer succeeded or failed. This patch also clears said flag
+         from the off nominal NOTIFY paths in the local_attended_transfer
+         code, as once we've sent the NOTIFY request it is safe to send by
+         the BYE request. This was caught by the
+         blind-transfer-accountcode test in the Asterisk Test Suite.
+         (closes issue ASTERISK-23290) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3214/ ........ Merged
+         revisions 408069 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-14 08:52 +0000 [r408059]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * Makefile, build_tools/install_subst (added): install_subst:
+         helper script for installing with path substitution A helper
+         script to copy a source file substituting any
+         __ASTERISK_<foo>_DIR__ with the content of $AST<foo>DIR. Review:
+         https://reviewboard.asterisk.org/r/3202/
+
+2014-02-13 18:52 +0000 [r407990-408006]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pubsub.c, /, res/res_pjsip_mwi.c: Remove all PJSIP
+         MWI-specific use from our MWI code. PJSIP has built-in MWI code
+         that could be useful to some degree, but our utilization of the
+         API actually made our code a bit more cluttered since we had to
+         have special cases peppered throughout. With this change, we move
+         to using the pjsip_evsub API instead, which streamlines the code
+         by removing special cases. Review:
+         https://reviewboard.asterisk.org/r/3205 ........ Merged revisions
+         408005 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/location.c: Fix crash in AMI PJSIPShowEndpoint
+         action. If an AOR has no permanent contacts, then the
+         permanent_contacts container is never allocated. This makes the
+         code safe in the face of NULLs. I also changed the variable that
+         counts contacts from "num" to "total_contacts" since there are
+         now two variables that are indicate numbers of things. ........
+         Merged revisions 407988 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-13 15:51 +0000 [r407989]  Kinsey Moore <kmoore@digium.com>
+
+       * main/logger.c, CHANGES: Logger: Add dynamic logger channels This
+         adds the ability to dynamically add and remove logger channels
+         from Asterisk via the CLI. (closes issue AST-1150) Review:
+         https://reviewboard.asterisk.org/r/3185/
+
+2014-02-12 08:25 +0000 [r407970]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, main/config.c: realtime: Fix ast_update2_realtime() on
+         raspberry pi. The old code depended on undefined va_arg
+         behaviour: calling a function twice with the same va_list
+         parameter and expecting it to continue where it left off. The
+         changed code behaves like the manpage says it should. Also added
+         a bunch of early returns to trap errors (e.g. OOM) instead of
+         crashing. The problem was found by Julian Lyndon-Smith. The
+         deviant behaviour on the raspberry PI also uncovered another bug
+         (fixed in r407875) in the res_config_pgsql.so driver. Reported
+         by: jmls Tested by: jmls Review:
+         https://reviewboard.asterisk.org/r/3201/ ........ Merged
+         revisions 407968 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-11 20:17 +0000 [r407958]  Joshua Colp <jcolp@digium.com>
+
+       * main/sched.c: scheduler: Remove hashtab usage. This is a first
+         stab at tweaking the performance profile of the scheduler.
+         Removing the hashtab usage removes an extra memory allocation
+         when scheduling something and makes it so rescheduling does not
+         incur any memory allocation at all. Review:
+         https://reviewboard.asterisk.org/r/3199/
+
+2014-02-11 03:18 +0000 [r407940]  Matthew Jordan <mjordan@digium.com>
+
+       * res/ari/resource_channels.c, /: ari/resource_channels: Add
+         channel variables earlier in the creation process This patch
+         tweaks the behaviour of POST /channels with channel variables
+         such that the variables are passed into the pbx.c routines that
+         perform the origination. This allows the variables to be assigned
+         to the newly created channels immediately upon their
+         construction, as opposed to be assigned after the originate has
+         completed. The upshot of this is that the variables are available
+         on the channels if they execute in the dialplan, as opposed to
+         only being available once the channels are answered. Review:
+         https://reviewboard.asterisk.org/r/3183/ ........ Merged
+         revisions 407937 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-10 18:28 +0000 [r407926]  Corey Farrell <git@cfware.com>
+
+       * channels/sip/include/reqresp_parser.h,
+         channels/sip/include/route.h (added), channels/chan_sip.c,
+         channels/sip/route.c (added), channels/sip/include/sip.h:
+         chan_sip: Isolate code that manages struct sip_route. * Move
+         route code to sip/route.c + sip/include/route.h * Rename
+         functions to sip_route_* * Replace ad-hoc list code with macro's
+         from linkedlists.h * Create sip_route_process_header() to
+         processes Path and Record-Route headers (previously done with
+         different code in build_route and build_path) * Add use of const
+         where possible * Move struct uriparams, struct contact and
+         contactliststruct from sip.h to reqresp_parser.h. sip/route.c
+         uses reqresp_parser.h but not sip.h, this was a problem. These
+         moved declares are not used outside of reqresp_parser. * While
+         modifying reqprep() the lack of {} caused me trouble. I added
+         them. * Code outside route.c treats sip_route as an opaque
+         structure, using macro's or procedures for all access. (closes
+         issue ASTERISK-22582) Reported by: Corey Farrell Review:
+         https://reviewboard.asterisk.org/r/3173/
+
+2014-02-10 16:49 +0000 [r407876]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * res/res_config_pgsql.c, /: res_config_pgsql: Fix
+         ast_update2_realtime calls. Fix so multiple updates from a single
+         call works (add missing ','). Remove bogus ast_free's that
+         weren't supposed to be there. Moved a few spaces for readability.
+         Review: https://reviewboard.asterisk.org/r/3194/ ........ Merged
+         revisions 407873 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407874 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407875 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-10 16:01 +0000 [r407859]  Kinsey Moore <kmoore@digium.com>
+
+       * apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c,
+         apps/confbridge/conf_state_empty.c,
+         apps/confbridge/conf_config_parser.c,
+         configs/confbridge.conf.sample, /,
+         apps/confbridge/include/confbridge.h, UPGRADE.txt: ConfBridge:
+         Correct prompt playback target Currently, when the first marked
+         user enters the conference that contains waitmarked users, a
+         prompt is played indicating that the user is being placed into
+         the conference. Unfortunately, this prompt is played to the
+         marked user and not the waitmarked users which is not very
+         helpful. This patch changes that behavior to play a prompt
+         stating "The conference will now begin" to the entire conference
+         after adding and unmuting the waitmarked users since the design
+         of confbridge is not conducive to playing a prompt to a subset of
+         users in a conference in an asynchronous manner. (closes issue
+         PQ-1396) Review: https://reviewboard.asterisk.org/r/3155/
+         Reported by: Steve Pitts ........ Merged revisions 407857 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407858 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-07 20:52 +0000 [r407767]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, channels/chan_iax2.c: chan_iax2: Add some more iaxs[] NULL
+         checks to a routine already full of them. ........ Merged
+         revisions 407764 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407765 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407766 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-07 20:17 +0000 [r407752]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/security_events.c: security_events: Fix assertion failure
+         in dev-mode on optional IE parsing When formatting an optional
+         IE, the value is, of course, optional. As such, it is entirely
+         appropriate for ast_json_object_get to return NULL. If that
+         occurs, we now simply skip the IE that was requested, as it was
+         not provided by the entity that raised the event. Thanks to
+         George Joseph (gtjoseph) for catching this and reporting it in
+         #asterisk-dev ........ Merged revisions 407750 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-07 20:01 +0000 [r407749]  Joshua Colp <jcolp@digium.com>
+
+       * main/timing.c, res/res_timing_pthread.c, res/res_timing_dahdi.c,
+         res/res_timing_timerfd.c, include/asterisk/timing.h,
+         res/res_timing_kqueue.c: timing: Improve performance for most
+         timing implementations. This change allows timing implementation
+         data to be stored directly on the timer itself thus removing the
+         requirement for many implementations to do a container lookup for
+         the same information. This means that API calls into timing
+         implementations can directly access the information they need
+         instead of having to find it. Review:
+         https://reviewboard.asterisk.org/r/3175/
+
+2014-02-07 19:40 +0000 [r407748]  Matthew Jordan <mjordan@digium.com>
+
+       * /, funcs/func_cdr.c: funcs/func_cdr: Handle empty time values
+         when extracting parsed values When extracting timestamps that are
+         parsed, time stamp values that are not set (time values of
+         0.000000) should not actually result in a parsed string. The
+         value should be skipped, and the result of the CDR function
+         should be an empty string. Prior to this patch, the result was
+         fed to the time formatting, which would result in an output of a
+         date/time in 1969. ........ Merged revisions 407747 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-07 18:29 +0000 [r407731]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_iax2.c, include/asterisk/frame.h,
+         configs/iax.conf.sample, /: chan_iax2: Block unnecessary control
+         frames to/from the wire. Establishing an IAX2 call between
+         Asterisk v1.4 and v1.8 (or later) results in an unexpected call
+         disconnect. The problem happens because newer values in the enum
+         ast_control_frame_type are not consistent between the branch
+         versions of Asterisk. For example: 1) v1.4 calls v1.8 (or later)
+         using IAX2 2) v1.8 answers and sends a connected line update
+         control frame. (on v1.8 AST_CONTROL_CONNECTED_LINE = 22) 3) v1.4
+         receives the control frame as an end-of-q (on v1.4
+         AST_CONTROL_END_OF_Q = 22) 4) v1.4 disconnects the call once the
+         receive queue becomes empty. Several things are done by this
+         patch to fix the problem and attempt to prevent it from happening
+         again in the future: * Added a warning at the definition of enum
+         ast_control_frame_type about how to add new control frame values.
+         * Made block sending and receiving control frames that have no
+         reason to go over the wire. * Extended the connectedline iax.conf
+         parameter to also include the redirecting information updates. *
+         Updated the connectedline iax.conf parameter documentation to
+         include a notice that the parameter must be "no" when the peer is
+         an Asterisk v1.4 instance. (closes issue AST-1302) Review:
+         https://reviewboard.asterisk.org/r/3174/ ........ Merged
+         revisions 407678 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407727 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407729 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-07 16:47 +0000 [r407677]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/security_events.c: security_events: Fix error caused by
+         DTD validation error The appdocsxml.dtd specifies that a
+         "required" attribute in a parameter may have a value of yes, no,
+         true, or false. On some systems, specifying "False" instead of
+         "false" would cause a validation error. This patch fixes the
+         casing to explicitly match the DTD. ........ Merged revisions
+         407676 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-07 13:15 +0000 [r407625]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * /, configs/indications.conf.sample: indications.conf: add stutter
+         tone; end properly * If the "stutter" (voicemail indication) tone
+         is indeed a stutter tone, and it ends with a constant tone, make
+         sure that it is the dial tone. This was done for India (in),
+         Mexico (mx) and the Philippines (ph). * If no "stutter" tone
+         exists for a country, provide one. This was done for Spain (es),
+         Malaysia (my) and Venezuela (ve). Review:
+         https://reviewboard.asterisk.org/r/3158/ ........ Merged
+         revisions 407622 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407623 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407624 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-06 21:24 +0000 [r407602]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/security_events.c, UPGRADE.txt, CHANGES: security_events:
+         Add AMI documentation; output optional fields This patch adds
+         documentation for the Security Events that are emited over AMI.
+         It also notes these events in the UPGRADE/CHANGES file. ........
+         Merged revisions 407589 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-06 19:58 +0000 [r407588]  Rusty Newton <rnewton@digium.com>
+
+       * /, configs/pjsip.conf.sample: configs/pjsip.conf.sample:
+         Configuration section naming in pjsip.conf.sample needs a little
+         clarification There is a bit of nuance to how you name things in
+         pjsip.conf. This is a documentation patch to at least clear it up
+         a little for users. Review:
+         https://reviewboard.asterisk.org/r/3180/ ........ Merged
+         revisions 407587 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-06 18:11 +0000 [r407574]  Kevin Harwell <kharwell@digium.com>
+
+       * /,
+         contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
+         pjsip realtime: already created enum failure for postgresql If an
+         enum had been previously created the alembic script would attempt
+         to re-create it and an error would be generated while running
+         migrations for a postgresql server. The work around for this is
+         to use the ENUM object type for postgres as opposed to the
+         generic enum type used by sqlalchemy. Using this type in the
+         script seems to work properly for both postgres and mysql.
+         ........ Merged revisions 407572 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-06 17:55 +0000 [r407573]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_pjsip_logger.c,
+         res/res_pjsip/include/res_pjsip_private.h,
+         res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c,
+         include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
+         res/res_pjsip/config_auth.c, /, res/res_pjsip/location.c,
+         res/res_pjsip_outbound_registration.c,
+         res/res_pjsip_endpoint_identifier_ip.c,
+         include/asterisk/res_pjsip_cli.h, res/res_pjsip/pjsip_cli.c,
+         res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip/config_domain_aliases.c: res_pjsip: Updates and
+         adds more PJSIP CLI commands. * Adds identify, transport, and
+         registration support to the PJSIP CLI. * Creates three additional
+         callbacks, one for an iterator, one for a comparator, and one for
+         a container. This eliminates the link dependency from higher
+         level modules to lower level ones. * Eliminates duplicate sorting
+         in PJSIP CLI commands. * Cleans up PJSIP CLI output formatting. *
+         Pushes CLI command registration down to the implementing source
+         file. * Adds several ast_sip_destroy_sorcery functions to
+         complement existing ast_sip_sorcery_initialize functions. The
+         destroy functions unregister PJSIP CLI commands and PJSIP CLI
+         formatters. Reported by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3104/ ........ Merged
+         revisions 407568 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-05 23:04 +0000 [r407514]  Rusty Newton <rnewton@digium.com>
+
+       * /, formats/format_wav.c: formats/format_wav: enhancing log
+         message "Not a wav file" to be clear on what is supported
+         Modifying the log message to be more specific as to what is
+         supported. Specifically it seems format_wav supports only PCM
+         encoded versions with a lower-case '.wav' extension. (closes
+         issues ASTERISK-22310) Reported by: Jim Credland Review:
+         https://reviewboard.asterisk.org/r/3188/ ........ Merged
+         revisions 407511 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407512 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407513 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-05 20:56 +0000 [r407462]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES, /: CHANGES: Improved description of Name/Creator changes
+         to bridge ARI, adds AMI The changes log was written with language
+         that was a little too internal Asterisk specific, so it's been
+         changed to be more in the frame of reference of an ARI user.
+         Also, previously the AMI event changes were omitted from the
+         change log as well as the ability to include a bridge name in the
+         ARI post bridges command. ........ Merged revisions 407461 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-05 20:43 +0000 [r407459]  Kinsey Moore <kmoore@digium.com>
+
+       * main/logger.c, /: Logger: Fix handling of absolute paths This
+         fixes path handling for log files so that an extra / is not
+         appended to the file path when the path is absolute (begins with
+         /). This would previously result in different but functionally
+         equivalent paths in the output of 'logger show channels'.
+         ........ Merged revisions 407455 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407456 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407458 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-05 19:42 +0000 [r407443]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip/config_global.c, /: res_pjsip: When no global type
+         the debug option defaults to "yes" If the global section was not
+         specified in pjsip.conf then the configuration object does not
+         exist in sorcery so when retrieving "debug" option it would
+         return NULL. Then the NULL result was passed to ast_false utils
+         function which would return false because it wasn't set to some
+         representation of false, thus enabling sip debug logging. Made it
+         so if the global config object does not exist then it will return
+         a default of "no" for sip debugging. (issue ASTERISK-23038)
+         Reported by: Rusty Newton ........ Merged revisions 407442 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-05 17:42 +0000 [r407422-407425]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES: CHANGES: Update changes log to include r403414 entry
+         Adds note of additional 0 for operator option on app_record
+
+       * CHANGES, /: CHANGES: Update changes log to include new bridge
+         fields added in r404042 ........ Merged revisions 407419 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-05 15:29 +0000 [r407407]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/playbacks.json, UPGRADE.txt,
+         rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
+         include/asterisk/manager.h, rest-api/api-docs/bridges.json,
+         rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/mailboxes.json,
+         rest-api/api-docs/asterisk.json,
+         rest-api/api-docs/applications.json,
+         rest-api/api-docs/channels.json,
+         rest-api/api-docs/recordings.json,
+         rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
+         /: ARI/AMI: Update versions; update UPGRADE/CHANGES notes for
+         12.1.0 changes Due to backwards compatible changes made to
+         AMI/ARI, the version needs to be bumped to 1.1.0/2.1.0,
+         respectively. ........ Merged revisions 407402 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-04 20:15 +0000 [r407275-407340]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/devicestate.h, /, main/devicestate.c:
+         devicestate: Make ast_devstate_changed_literal() return value and
+         doxygen consistent. Nothing actually cares about the value
+         anyway. (closes issue ASTERISK-23178) Reported by: Jonathan Rose
+         ........ Merged revisions 407337 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407338 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407339 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix assertion
+         for pjsip.conf authorization list options. (closes issue
+         ASTERISK-23168) Reported by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/3143/ ........ Merged
+         revisions 407324 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * configs/sip.conf.sample, main/tcptls.c, /: tcptls.c: Made TLS
+         handle a certificate chain file. Thanks to Guillaume Martres for
+         doing the necessary research to validate the change. (closes
+         issue ASTERISK-17727) Reported by: LN Patches:
+         use_certificate_chain.patch (license #5864) patch uploaded by st
+         documente_certificate_chain.patch (license #6576) patch uploaded
+         by Guillaume Martres ........ Merged revisions 407272 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407273 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407274 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-04 16:55 +0000 [r407260]  Matthew Jordan <mjordan@digium.com>
+
+       * /, funcs/func_cdr.c: funcs/func_cdr: Fix non-epoch timestamps
+         broken by improper char array deref Thanks to snuffy for pointing
+         this issue out and fixing it. (closes issue ASTERISK-23250)
+         Reported by: snuffy patches: func_cdr-fix.diff uploaded by snuffy
+         (License 5024) ........ Merged revisions 407259 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-04 02:22 +0000 [r407217]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_clialiases.c, /: res_clialiases: Fix crash when reloading
+         and re-aliasing an alias that is in use. The code assumed that
+         unregistering the alias would always succeed while in practice
+         this is not actually true. A common case is the "reload" command
+         itself. If the cli_aliases.conf configuration file was changed
+         and reload executed the command would fail to unregister and
+         ultimately point to freed memory. The reload process now checks
+         whether unregistering succeeded or not and if not the old CLI
+         alias is retained. (closes issue ASTERISK-19773) Reported by:
+         Joel Vandal (closes issue ASTERISK-22757) Reported by: Gareth
+         Blades ........ Merged revisions 407205 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407210 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407213 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-04 02:07 +0000 [r407198]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Skinny - Fix deadlock when pickup of
+         no call. Locking issues in skinny when picking up a call that
+         doesn't exist. Cleaned up sub locking by fully removing and using
+         the chan lock instead. Also changed ast_call_pickup to check
+         whether chan was masq'd. (closes issue ASTERISK-23249) Reported
+         by: wedhorn Tested by: snuffy, myself Patches:
+         skinny-locking01.diff uploaded by wedhorn (license 5019) ........
+         Merged revisions 407197 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-03 01:31 +0000 [r407169]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, /: cdrs: Check for applications to lock onto during
+         dial begin handling This patch brings CDR processing further in
+         line with r407085. During some dial operations, the application
+         would not be locked to the Dial application and would instead
+         continue to show the previously known application. In particular,
+         this would occur when a Parked call would time out. This was due
+         to a previous snapshot already locking the application to Park -
+         processing this in a Dial Begin allows the Dial application to
+         reassert its rightful place. (CDRs. Ugh.) But hooray for the
+         Parked Call tests for catching this in the Asterisk Test Suite.
+         ........ Merged revisions 407166 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-01 16:26 +0000 [r407154]  Joshua Colp <jcolp@digium.com>
+
+       * res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
+         res/stasis/app.c, res/ari/ari_model_validators.c,
+         res/res_stasis.c, main/stasis_bridges.c: res_stasis: Enable
+         transfers and provide events when they occur. This change enables
+         transfers within ARI created bridges and adds events for when
+         they occur. Unlike other events these will be received if *any*
+         subscribed object is involved in the transfer. (closes issue
+         ASTERISK-22984) Reported by: David M. Lee Review:
+         https://reviewboard.asterisk.org/r/3120/ ........ Merged
+         revisions 407153 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-02-01 00:25 +0000 [r407105]  Corey Farrell <git@cfware.com>
+
+       * apps/app_stack.c, /: app_stack: protect against missing
+         parameters to STACK_PEEK and LOCAL_PEEK STACK_PEEK requires 2
+         parameters and LOCAL_PEEK requires 1 parameter. This protects
+         against situations where those parameters are blank or missing by
+         logging an error and returning. (closes issue ASTERISK-23220)
+         Reported by: James Sharp ........ Merged revisions 407100 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 407103 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407104 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-31 23:40 +0000 [r407083-407085]  Matthew Jordan <mjordan@digium.com>
+
+       * apps/app_dial.c, main/cdr.c, main/pbx.c, /, main/bridge_after.c,
+         UPGRADE.txt, main/manager_channels.c: CDRs: fix a variety of dial
+         status problems, h/hangup handler creating CDRs This patch fixes
+         a number of small-ish problems that were noticed when witnessing
+         the records that the FreePBX dialplan produces: (1) Mid-call
+         events (as well as privacy options) have the ability to change
+         the overall state of the Dial operation after the called party
+         answers. This means that publishing the DialEnd event when the
+         called party is premature; we have to wait for the execution of
+         these subroutines to complete before we can signal the overall
+         status of the DialEnd. This patch moves that publication and adds
+         handlers for the mid-call events. (2) The AST_FLAG_OUTGOING
+         channel flag is cleared if an after bridge goto datastore is
+         detected. This flag was preventing CDRs from being recorded for
+         all outbound channels that had a 'continue' option enabled on
+         them by the Dial application. (3) The CDR engine now locks the
+         'Dial' application as being the CDR application if it detects
+         that the current CDR has entered that app. This is similar to the
+         logic that is done for Parking. In general, if we entered into
+         Dial, then we want that CDR to record the application as such -
+         this prevents pre-dial handlers, mid-call handlers, and other
+         shenaniganry from changing the application value. (4) The CDR
+         engine now checks for the AST_SOFTHANGUP_HANGUP_EXEC in more
+         places to determine if the channel is in hangup logic or dead. In
+         either case, we don't want to record changes in the channel. (5)
+         The default option for "endbeforehexten" has been changed to
+         "yes". In general, you don't want to see CDRs in the 'h' exten or
+         in hangup logic. Since the semantics of that option changed in
+         12, it made sense to update the default value as well. (6)
+         Finally, because we now have the ability to synchronize on the
+         messages published to the CDR topic, on shutdown the CDR engine
+         will now synchronize to the messages currently in flight. This
+         helps to ensure that all in-flight CDRs are written before
+         shutting down. (closes issue ASTERISK-23164) Reported by: Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/3154 ........
+         Merged revisions 407084 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_dial.c, /: app_dial: Allow macro/gosub pre-bridge
+         execution to occur on priorities The parsing for the destination
+         of the macro/gosub uses the '^' character to separate out
+         context, extension, and priority. However, the logic for the
+         macro/gosub execution was written such that it would only do the
+         actual macro/gosub jump if a '^' character existed. This doesn't
+         apply when the macro/gosub jump occurs in a priority/priority
+         label. This patch changes the logic so that the parsing still
+         occurs, but the jump will occur even for priorities/priority
+         labels. (issue ASTERISK-23164) Review:
+         https://reviewboard.asterisk.org/r/3154 ........ Merged revisions
+         407041 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 407074 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 407082 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-31 23:15 +0000 [r407035-407037]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_logger.c, CHANGES, res/res_pjsip.c,
+         include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
+         contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py
+         (added), /, configs/pjsip.conf.sample, UPGRADE.txt: res_pjsip:
+         Config option to enable PJSIP logger at load time. Added a
+         "debug" configuration option for res_pjsip that when set to "yes"
+         enables SIP messages to be logged. It is specified under the
+         "system" type. Also added an alembic script to add the option to
+         realtime. (closes issue ASTERISK-23038) Reported by: Rusty Newton
+         Review: https://reviewboard.asterisk.org/r/3148/ ........ Merged
+         revisions 407036 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_exten_state.c, /: res_pjsip_exten_state: Exporting
+         global symbols caused load order issues Removed the exportation
+         of global symbols from the module as it is no longer needed and
+         it could potentially cause load problems as on some systems it
+         would try to load before res_pjsip_pubsub ........ Merged
+         revisions 407034 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-31 23:04 +0000 [r407033]  Richard Mudgett <rmudgett@digium.com>
+
+       * CHANGES, apps/app_chanspy.c: ChanSpy: Add ability to specify
+         channel uniqueids as well as channel names. * Made ChanSpy accept
+         a channel uniqueid or a fully specified channel name as the
+         chanprefix parameter if the 'u' option is specified. (closes
+         issue AFS-42) Review: https://reviewboard.asterisk.org/r/3160/
+
+2014-01-31 22:39 +0000 [r407030-407032]  Mark Michelson <mmichelson@digium.com>
+
+       * include/asterisk/res_pjsip_presence_xml.h (added), /: Add file
+         that apparently got missed in the merge. ........ Merged
+         revisions 407031 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_pidf_body_generator.c (added),
+         include/asterisk/res_pjsip_exten_state.h (removed),
+         res/res_pjsip_pubsub.exports.in, /,
+         include/asterisk/res_pjsip_body_generator_types.h (added),
+         res/res_pjsip_mwi.c, res/res_pjsip_xpidf_body_generator.c
+         (added), res/res_pjsip_mwi_body_generator.c (added),
+         res/res_pjsip_pubsub.c, res/res_pjsip_pidf.c (removed),
+         res/res_pjsip_pidf_eyebeam_body_supplement.c (added),
+         res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c
+         (added), include/asterisk/res_pjsip_pubsub.h: Decouple
+         subscription handling from NOTIFY/PUBLISH body generation. When
+         the PJSIP pubsub framework was created, subscription handlers
+         were required to state what event they handled along with what
+         body types they knew how to generate. While this serves well when
+         implementing a base RFC, it has problems when trying to extend
+         the body to support non-standard or proprietary body elements.
+         The code also was NOTIFY-specific, meaning that when the time
+         comes that we start writing code to send out PUBLISH requests
+         with MWI or presence bodies, we would likely find ourselves
+         duplicating code that had previously been written. This changeset
+         introduces the concept of body generators and body supplements. A
+         body generator is responsible for allocating a native structure
+         for a given body type, providing the primary body content,
+         converting the native structure to a string, and deallocating
+         resources. A body supplement takes the primary body content (the
+         native structure, not a string) generated by the body generator
+         and adds nonstandard elements to the body. With these elements
+         living in their own module, it becomes easy to extend our support
+         for body types and to re-use resources when sending a PUBLISH
+         request. Body generators and body supplements register themselves
+         with the pubsub core, similar to how subscription and publish
+         handlers had done. Now, subscription handlers do not need to know
+         what type of body content they generate, but they still need to
+         inform the pubsub core about what the default body type for a
+         given event package is. The pubsub core keeps track of what body
+         generators and body supplements have been registered. When a
+         SUBSCRIBE arrives, the pubsub core will check that there is a
+         subscription handler for the event in the SUBSCRIBE, then it will
+         check that there is a body generator that can provide the content
+         specified in the Accept header(s). Because of the nature of body
+         generators and supplements, it means res_pjsip_exten_state and
+         res_pjsip_mwi have been completely gutted. They no longer worry
+         about body types, instead calling
+         ast_sip_pubsub_generate_body_content() when they need to generate
+         a NOTIFY body. Review: https://reviewboard.asterisk.org/r/3150
+         ........ Merged revisions 407016 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-31 22:23 +0000 [r407015-407029]  Kevin Harwell <kharwell@digium.com>
+
+       * contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
+         contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
+         /, UPGRADE.txt: alembic: script modifications due to errors A
+         couple of the scripts had errors that would not allow a full
+         migration to take place. The extensions table needed to make its
+         'id' column a primary key in order to work with mysql. The other
+         script ...add_endpoints... was missing tables that it was trying
+         to add columns to. Added the primary key on id for extensions and
+         added the tables in for the missing pjsip configuration options.
+         While it is not ideal to modify already released scripts this was
+         a case where it had to be done due to errors in the script and
+         lacking a better alternative. Review:
+         https://reviewboard.asterisk.org/r/3167/ ........ Merged
+         revisions 407019 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_mwi.c: res_pjsip_mwi: Subscribe fails when
+         missing aor name When subscribing to MWI (res_pjsip_mwi) and the
+         sip uri did not contain a name (ex: sip:<ip address>) then the
+         subscription would fail since it would be unable to locate an
+         associated aor. This patch makes it so that when a subscribe
+         comes with no aor name then it will subscribe to all aors on the
+         located endpoint. (closes issue ASTERISK-23072) Reported by: Bob
+         M Review: https://reviewboard.asterisk.org/r/3164/ ........
+         Merged revisions 407014 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-31 15:08 +0000 [r407001]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip_nat.c, /: PJSIP: Fix address for ACK in NAT
+         situations In NAT scenarios where a call is placed to a
+         Grandstream phone, res_pjsip will sometimes send the ACK to a 200
+         OK to the private address of the device behind the NAT instead of
+         the address of the NAT device. This corrects that behavior by
+         rewriting the address in the Contact header in the incoming 200
+         OK and the dialog's target address if necessary (since it has
+         already been rewritten to the incorrect private address). (closes
+         issue ASTERISK-23106) Review:
+         https://reviewboard.asterisk.org/r/3168/ Reported by: Matt Jordan
+         ........ Merged revisions 407000 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-31 05:31 +0000 [r406988]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Skinny: fix up possible double unlock
+         of chan. Return before chan is possibly unlocked a second time
+         when hanging up a channel in SUBSTATE_OFFHOOK. ........ Merged
+         revisions 406987 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-30 20:36 +0000 [r406936]  Corey Farrell <git@cfware.com>
+
+       * main/udptl.c, res/res_rtp_asterisk.c, /: res_rtp_asterisk &
+         udptl: fix port selection to work with SELinux restrictions
+         ast_bind to a port reserved for another program by SELinux causes
+         errno == EACCES. This caused random failures when binding rtp or
+         udptl sockets. Treat EACCES as a non-fatal error, try next port.
+         (closes issue ASTERISK-23134) Reported by: Corey Farrell ........
+         Merged revisions 406933 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406934 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406935 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-30 17:35 +0000 [r406920]  Sean Bright <sean@malleable.com>
+
+       * main/manager.c, /: Make a NOTICE about an invalid channel name
+         more useful. ........ Merged revisions 406918 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406919 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-29 00:44 +0000 [r406863]  Russell Bryant <russell@russellbryant.com>
+
+       * /, configs/queues.conf.sample: queues.conf.sample Fix documented
+         default for persistentmembers Closes issue ASTERISK-22662
+         ........ Merged revisions 406860 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406861 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406862 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-28 23:40 +0000 [r406789-406848]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_pubsub.c, /: res_pjsip_pubsub: potential crash on
+         timeout What seems to be happening is if a subscription has been
+         terminated and the subscription timeout/expires is less than the
+         time it takes for all pending transactions (currently on the
+         subscription) to end then the subscription timer will not have
+         been canceled yet and sub will be null. Since the subscription
+         has already been canceled nothing needs to be done so a null
+         check in the asterisk code is sufficient in working around this
+         problem. (closes issue ASTERISK-23129) Reported by: Dan Jenkins
+         ........ Merged revisions 406847 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * cdr/cdr_radius.c, cel/cel_radius.c, /, configure,
+         include/asterisk/autoconfig.h.in, configure.ac: cdr_radius,
+         cel_radius: build agains libfreeradius-client Asterisk's RADIUS
+         module currently build against libradiusclient-ng, but this
+         project has been superseeded by libfreeradius-client. The API is
+         99% compatible except that the header name has changed, the
+         library name has changed, and the configuration file location has
+         changed. (closes issue ASTERISK-22980) Reported by: Jeremy Lainé
+         Patches: freeradius-client.patch uploaded by sharky (license
+         6561) ........ Merged revisions 406801 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406802 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406803 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip/include/res_pjsip_private.h, /,
+         include/asterisk/compat.h: res_pjsip,compat: INFINITY and NAN
+         undefined On some systems the values for INFINITY and NAN are not
+         defined thus causing a build error on those systems. Added
+         definitions for those if they had not previously been defined.
+         (closes issue ASTERISK-23056) Reported by: capouch Patches:
+         inf-nan-patch.txt uploaded by capouch (license 6564) ........
+         Merged revisions 406788 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-28 19:19 +0000 [r406778]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_stasis_device_state.c: ARI: Make double subscribe
+         respond with success Currently, attempting to subscribe an
+         application to a device state that it has already subscribed to
+         will generate a 500 error response. This will now be treated as a
+         subscription refresh even though ARI subscriptions don't
+         currently support lifetimes and will respond with the normal
+         response for a successful subscription (200 OK). (closes issue
+         ASTERISK-23143) Reported by: Matt Jordan ........ Merged
+         revisions 406775 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-28 16:43 +0000 [r406724]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/rtp_engine.c, /: rtp_engine: improved handling of
+         get_rtp_info failure In ast_rtp_instance_make_compatible(), after
+         a failure of channel tech call get_rtp_info() to return
+         peer_instance, the null pointer would be passed to ao2_ref,
+         producing an error that looked like a refernce counting problem
+         but is not. This patch corrects that and adds helpful LOG_ERROR
+         messages to indicate which failure path occurred. (issue
+         AST-1276) Review: https://reviewboard.asterisk.org/r/3156/
+         ........ Merged revisions 406721 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406722 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406723 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-28 00:20 +0000 [r406710]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, tests/test_cel.c, tests/test_cdr.c: test_cdr.c, test_cel.c:
+         Correctly destroy created bridges. * Fixed the
+         test_cel_attended_transfer_bridges_link unit test to also account
+         for the local channel link being destroyed now that the bridges
+         are actually destroyed. * Made CDR unit test use its own version
+         of do_sleep() from the CEL unit tests. ........ Merged revisions
+         406707 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-27 22:54 +0000 [r406647-406696]  Kevin Harwell <kharwell@digium.com>
+
+       * CHANGES: manager: ExtensionStatus event status human readable
+         Added a note in the changes file about the new 'StatusText' field
+         that was added to the 'ExtensionStatus' event. (issue
+         ASTERISK-23154) Reported by: Jonathan Rose
+
+       * main/manager.c: manager: ExtensionStatus event status human
+         readable When an 'ExtensionStatus' event was raised it included
+         the status as a numerical value, but did not include a text
+         description of the status. Added a 'StatusText' field to the
+         event which is a string representation of the extension status.
+         Also added this to the 'Extension State' command response.
+         (closes issue ASTERISK-23154) Reported by: Jonathan Rose
+
+2014-01-27 20:38 +0000 [r406646]  Russell Bryant <russell@russellbryant.com>
+
+       * main/config.c, /: Allow nested #includes in extconfig.conf
+         extconfig.conf was hard-coded to not allow nested includes for
+         some reason. The code has been this way since a patch was merged
+         for ASTERISK-3333 (revision 4889), which was a significant update
+         to this code ("Merge config updates"). I can't figure out any
+         good reason why this should be limited. This patch just removes
+         the limit and uses the default nesting depth limit. Closes issue
+         ASTERISK-17837 Review: https://reviewboard.asterisk.org/r/3159/
+         ........ Merged revisions 406643 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406644 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406645 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-27 08:17 +0000 [r406618]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * main/manager.c, UPGRADE.txt, configs/manager.conf.sample:
+         manager: The eventfilter= option now takes an extended regex. In
+         pre-trunk versions (...12) it accepts a basic regex, which is
+         confusing because all other regexes in asterisk are of the
+         extended kind. Review: https://reviewboard.asterisk.org/r/3147/
+
+2014-01-27 01:25 +0000 [r406595]  Russell Bryant <russell@russellbryant.com>
+
+       * main/file.c, include/asterisk/channel.h, main/channel.c, /:
+         Protect ast_filestream object when on a channel The
+         ast_filestream object gets tacked on to a channel via
+         chan->timingdata. It's a reference counted object, but the
+         reference count isn't used when putting it on a channel. It's
+         theoretically possible for another thread to interfere with the
+         channel while it's unlocked and cause the filestream to get
+         destroyed. Use the astobj2 reference count to make sure that as
+         long as this code path is holding on the ast_filestream and
+         passing it into the file.c playback code, that it knows it's
+         valid. Bug reported by Leif Madsen. Review:
+         https://reviewboard.asterisk.org/r/3135/ ........ Merged
+         revisions 406566 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406567 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406574 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-26 23:04 +0000 [r406517]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/tcptls.c: tcptls.c: Add missing cleanup on off nominal
+         path. ........ Merged revisions 406514 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406515 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406516 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-26 14:19 +0000 [r406503]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * contrib/scripts/live_ast: live_ast: run wrapped programs with
+         exec live_ast can be used as a wrapper script to run asterisk,
+         gdb or valgrind. In those cases it runs them and returns the
+         result. It is more useful to use 'exec' to avoid having another
+         odd process in the chain. Review:
+         https://reviewboard.asterisk.org/r/3110/
+
+2014-01-26 02:11 +0000 [r406490]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Be less strict
+         with core requested outgoing capabilities. The core may
+         (depending on circumstances) request a single codec on outgoing
+         calls. Many channel drivers ignore or treat this as a suggestion
+         while still including configured codecs. The res_pjsip_session
+         logic treated this as an explicit request, leaving out other
+         configured codecs. This change makes res_pjsip_session behave
+         like other channel driver and simply adds the requested codec to
+         the list. (closes issue ASTERISK-23082) Reported by: xrobau
+         Review: https://reviewboard.asterisk.org/r/3140/ ........ Merged
+         revisions 406489 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-24 23:33 +0000 [r406466]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/cel.c: CEL: Protect data structures during reload and
+         shutdown. The CEL data structures need to be protected during a
+         configuration reload and shutdown. Asterisk crashed during a
+         shutdown because CEL events were still in flight and the CEL data
+         structures were already destroyed. * Protected the cel_backends,
+         cel_dialstatus_store, and cel_linkedids ao2 containers with a
+         global ao2 object wrapper. * Added NULL checks before use of the
+         cel_backends, cel_dialstatus_store, and cel_linkedids ao2
+         containers in case the CEL module is already shutdown. * Fixed
+         overloading of the cel_linkedids held objects reference count.
+         During shutdown any held objects would be leaked. * Fixed memory
+         leak of cel_linkedids held objects if the LINKEDID_END is not
+         being tracked. The objects in the cel_linkedids container were
+         not removed if the LINKEDID_END event is not used. * Added access
+         protection to the cel_backends container during the CLI "cel show
+         status" command. * Made cel_backends, cel_dialstatus_store, and
+         cel_linkedids use the standard ao2 callback templates for the
+         hash and cmp functions. * Eliminated unnecessary uses of
+         RAII_VAR(). * Made ast_cel_engine_init() cleanup alocated
+         resources on failure. (closes issue AST-1253) Reported by:
+         Guenther Kelleter Review:
+         https://reviewboard.asterisk.org/r/3128/ ........ Merged
+         revisions 406417 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406418 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406465 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-24 22:34 +0000 [r406416]  Jonathan Rose <jrose@digium.com>
+
+       * main/utils.c, CHANGES: Thread Debugging: Add LWP to core show
+         locks output This patch adds the LWP to core show locks output if
+         it is available. Review: https://reviewboard.asterisk.org/r/3142/
+
+2014-01-24 22:18 +0000 [r406407]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/manager.c, /: manager: Register atexit shutdown routine only
+         once. * Made register atexit shutdown routine only once in
+         __init_manager(). * Fixed some initial load failure conditions in
+         __init_manager(). * Made reset options to defaults on reload when
+         the reload will actually happen. * Removed unnecessary container
+         traversals of the white/black filters during manager_free_user().
+         * ast_free() does not need a NULL check before calling. ........
+         Merged revisions 406359 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406400 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406401 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-24 21:46 +0000 [r406399]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_config_pgsql.c, /: res_config_pgsql: Fix a memory leak
+         and use RAII_VAR for cleanup when practical Review:
+         https://reviewboard.asterisk.org/r/3141/ ........ Merged
+         revisions 406360 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406361 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406389 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-24 18:13 +0000 [r406343]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/manager.c, /: manager: Protect data structures during
+         shutdown. Occasionally, the manager module would get an
+         "INTERNAL_OBJ: bad magic number" error on a "core restart
+         gracefully" command if an AMI connection is established. * Added
+         ao2_global_obj protection to the sessions global container. *
+         Fixed the order of unreferencing a session object in
+         session_destroy(). * Removed unnecessary container traversals of
+         the white/black filters during session_destructor(). (closes
+         issue AST-1242) Reported by: Guenther Kelleter Review:
+         https://reviewboard.asterisk.org/r/3144/ ........ Merged
+         revisions 406341 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406342 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-23 23:43 +0000 [r406328]  Mark Michelson <mmichelson@digium.com>
+
+       * /: Today is not my day for writing code that compiles. ........
+         Merged revisions 406327 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-23 22:56 +0000 [r406312]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, addons/res_config_mysql.c: res_config_mysql: Fix Setting The
+         Column Name Incorrectly When support for a realtime sorcery
+         module was added in revision 386731, the wrong property was
+         accidentally used for setting the column name to be updated in
+         the database table. This patch fixes the typo. (closes issue
+         ASTERISK-23177) Reported by: Denis Tested by: Denis Patches:
+         asterisk-23177-use-field-name.diff by Michael L. Young (license
+         5026) ........ Merged revisions 406311 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-23 21:18 +0000 [r406298]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pidf.c, /: Multiple revisions 406294-406295
+         ........ r406294 | mmichelson | 2014-01-23 15:00:24 -0600 (Thu,
+         23 Jan 2014) | 11 lines Fix presence body errors found during
+         testing: * PIDF bodies were reporting an "open" state in many
+         cases where it should have been reporting "closed" * XPIDF bodies
+         had XML nodes placed incorrectly within the hierarchy. * SIP URIs
+         in XPIDF bodies did not go through XML sanitization * XML
+         sanitization had some errors: * Right angle bracket was being
+         replaced with "&rt;" instead of "&gt;" * Double quote,
+         apostrophe, and ampersand were not being escaped. ........
+         r406295 | mmichelson | 2014-01-23 15:09:35 -0600 (Thu, 23 Jan
+         2014) | 11 lines Fix presence body errors found during testing: *
+         PIDF bodies were reporting an "open" state in many cases where it
+         should have been reporting "closed" * XPIDF bodies had XML nodes
+         placed incorrectly within the hierarchy. * SIP URIs in XPIDF
+         bodies did not go through XML sanitization * XML sanitization had
+         some errors: * Right angle bracket was being replaced with "&rt;"
+         instead of "&gt;" * Double quote, apostrophe, and ampersand were
+         not being escaped. ........ Merged revisions 406294-406295 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-22 22:24 +0000 [r406269]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/pbx.c, /, utils/extconf.c: pbx.c: Pre-initialize timezone to
+         avoid crash on destroy In ast_build_timing, initialize the
+         timezone value to NULL in order to avoid deferencing an
+         uninitialized value later when calling ast_destroy_timing. The
+         timezone value could be uninitialized if ast_build_timing were to
+         fail due to a zero length time string. (closes issue
+         ASTERISK-22861) Reported by: Sebastian Murray-Roberts Review:
+         https://reviewboard.asterisk.org/r/3134/ Patches:
+         ast_build_timing-initialize-timezone.patch uploaded by
+         coreyfarrell (license 5909) ........ Merged revisions 406241 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406245 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406264 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-22 19:36 +0000 [r406153-406224]  Kinsey Moore <kmoore@digium.com>
+
+       * /, apps/app_confbridge.c: ConfBridge: Fix channel parameter
+         documentation Confbridge AMI and CLI commands for mute, unmute,
+         and setting the single video source can accept channel prefixes
+         in lieu of a full channel name, but documentation states only
+         that it is required and is a channel name. This corrects the
+         documentation. (closes issue PQ-1397) Reported by: Steve Pitts
+         ........ Merged revisions 406217 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406223 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: chan_sip: Decline image streams on
+         unsupported transports This change allows chan_sip to decline
+         individual image streams over unsupported transports in the SDP
+         of the 200 response. Previously, an image stream offer with
+         RTP/AVP as the transport would cause chan_sip to respond with a
+         488. (closes issue ASTERISK-22988) Reported by: adomjan Original
+         patch by: adomjan ........ Merged revisions 406170 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406171 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406172 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis_playback.c, /: res_stasis_playback: Correct error
+         argument order Several of the playback error messages for invalid
+         media input in res_stasis_playback.c had the media name and
+         channel name reversed. They now correctly identify the channel
+         name and media name. Reported by: skrusty ........ Merged
+         revisions 406152 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-21 21:48 +0000 [r406134]  Rusty Newton <rnewton@digium.com>
+
+       * /, res/res_pjsip.c: res_pjsip: Documentation improvement for
+         Endpoint and AOR mailbox options. Making the help text for both
+         more explicit regarding the format of mailbox identifiers. i.e.
+         clarifying the format for app_voicemail mailboxes vs mailboxes
+         from external MWI sources through modules such as
+         res_external_mwi. ........ Merged revisions 406133 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-21 21:08 +0000 [r406082]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * main/manager.c, /, configs/manager.conf.sample: manager: Clarify
+         eventfilter documentation. Textual changes only. Review:
+         https://reviewboard.asterisk.org/r/3133/ ........ Merged
+         revisions 406079 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406080 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406081 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-21 20:28 +0000 [r406006-406078]  Kinsey Moore <kmoore@digium.com>
+
+       * channels/chan_mgcp.c, /: chan_mgcp: Enforce locking for oseq This
+         restricts direct usage of global oseq so that all accesses are
+         locked and threads are not racing to get oseq values that they
+         did not claim. This also fixes a build error in res_pktccops
+         under dev mode. (closes issue ASTERISK-23100) Reported by:
+         adomjan Patch by: adomjan ........ Merged revisions 406037 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 406038 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 406049 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_outbound_registration.c, res/res_pjsip.c: PJSIP:
+         Handle headers in a list appropriately The PJSIP header parsing
+         function (pjsip_parse_hdr) can generate more than one header
+         instance from a single header field. These header instances exist
+         as a list attached to the returned header and must be handled
+         appropriately when they are added to a message or else only the
+         first header instance will be used. This changes the linked list
+         functions used in outbound proxy code to merge the lists
+         properly. ........ Merged revisions 406020 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/ari/resource_sounds.h, res/ari/resource_bridges.h,
+         res/ari/resource_device_states.h, res/ari/resource_mailboxes.h,
+         res/ari/resource_asterisk.h, rest-api/api-docs/channels.json,
+         res/ari/resource_applications.h, res/ari/resource_channels.c,
+         res/res_ari_playbacks.c, res/res_ari_sounds.c,
+         rest-api-templates/asterisk_processor.py,
+         res/ari/resource_channels.h, res/res_ari_bridges.c, /,
+         res/res_ari_device_states.c,
+         rest-api-templates/ari_resource.h.mustache,
+         res/res_ari_mailboxes.c, res/res_ari_asterisk.c,
+         res/res_ari_applications.c,
+         rest-api-templates/res_ari_resource.c.mustache,
+         rest-api-templates/body_parsing.mustache (added),
+         res/res_ari_channels.c, res/ari/resource_playbacks.h,
+         rest-api-templates/param_parsing.mustache: ARI: Support channel
+         variables in originate This adds back in support for specifying
+         channel variables during an originate without compromising the
+         ability to specify query parameters in the JSON body. This was
+         accomplished by generating the body-parsing code in a separate
+         function instead of being integrated with the URI query parameter
+         parsing code such that it could be called by paths with body
+         parameters. This is transparent to the user of the API and
+         prevents manual duplication of code or data structures. (closes
+         issue ASTERISK-23051) Review:
+         https://reviewboard.asterisk.org/r/3122/ Reported by: Matt Jordan
+         ........ Merged revisions 406003 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-20 23:25 +0000 [r405985]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Skinny: fix up handling of fragmented
+         packets. Bad offset in reading second or more fragment of skinny
+         packets. Fixed to offset by char (single byte) rather than size
+         of req. ........ Merged revisions 405982 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-20 22:23 +0000 [r405947]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/sig_pri.c, /: chan_dahdi/PRI: Suppress CONNECTED_LINE
+         updates when nothing in the udpate is valid. * Also simplified
+         some subddress handling code. (closes issue ASTERISK-23008)
+         Reported by: Michael Cargile ........ Merged revisions 405926
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 405927 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405928 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-20 21:56 +0000 [r405925]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Skinny: fix up session logging.
+         Logging from the skinny session loop was providing some incorrect
+         reasons for exiting the loop. Cleaned up messages and handling so
+         correct reason displayed. ........ Merged revisions 405924 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-20 18:18 +0000 [r405910]  Jonathan Rose <jrose@digium.com>
+
+       * channels/chan_pjsip.c, /: chan_pjsip: Provide a means for
+         tracking device state when holding/unholding Previously PJSIP did
+         not track hold/unhold and it would always simply be 'inuse'. This
+         patch fixes that. review:
+         https://reviewboard.asterisk.org/r/3129/ ........ Merged
+         revisions 405908 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-19 00:01 +0000 [r405894]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Skinny: fix reversed device reset from
+         CLI. Existing code would do a full device restart when "skinny
+         reset device" was entered at the CLI and do a reset when "skinny
+         reset device restart" entered. ........ Merged revisions 405893
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-17 22:09 +0000 [r405878]  Sean Bright <sean@malleable.com>
+
+       * /, channels/chan_sip.c: Make sure the maxptime attribute is added
+         to the correct offers. ........ Merged revisions 405877 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-17 21:33 +0000 [r405862-405876]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/format_pref.c, main/sorcery.c, main/frame.c, /,
+         include/asterisk/format_pref.h, res/res_pjsip_sdp_rtp.c: pjsip:
+         fix support for allow=all This change adds improvements to
+         support for allow=all in pjsip.conf so that it functions as
+         intended. Previously, the allow/disallow socery configuration
+         would set & clear codecs from the media.codecs and media.prefs
+         list, but if all was specified the prefs list was not updated.
+         Then a call would fail when create_outgoing_sdp_stream() created
+         an SDP with no audio codecs. A new function
+         ast_codec_pref_append_all() is provided to add all codecs to the
+         prefs list - only those not already on the list. This enables the
+         configuration to specify a codec preference, but still add all
+         codecs, and even then remove some codecs, as shown in this
+         example: allow = ulaw, alaw, all, !g729, !g723 Also, the display
+         order of allow in cli output is updated to match the
+         configuration by using prefs instead of caps when generating a
+         human readable string. Finally, a change to
+         create_outgoing_sdp_stream() skips a codec when it does not have
+         a payload code instead of the call failing. (closes issue
+         ASTERISK-23018) Reported by: xrobau Review:
+         https://reviewboard.asterisk.org/r/3131/ ........ Merged
+         revisions 405875 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/http.c: http: supported chunked Transfer-Encoding This
+         change implements support for HTTP Transfer-Encoding chunked in
+         both JSON and Form (post vars) body content. A new function
+         ast_http_get_contents() handles both regular and chunked mode
+         body, returning after the entire body is received. (closes issue
+         ASTERISK-23068) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3125/ ........ Merged
+         revisions 405861 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-17 18:55 +0000 [r405778-405844]  Rusty Newton <rnewton@digium.com>
+
+       * res/res_pjsip.c, /: Fixing some XML syntax issues with my
+         previous commit at r405777 for ASTERISK-23071 ........ Merged
+         revisions 405843 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c, doc/asterisk.8, main/features.c,
+         configs/sip.conf.sample, apps/app_queue.c, apps/app_transfer.c,
+         channels/chan_iax2.c: Documentation: doc fixes across various
+         parts of the code for ASTERISK issues 23061,23028,23046,23027
+         Fixes typos of "transfered" instead of "transferred" in various
+         code. Fixes incorrect gosub param help text for app_queue. Fixes
+         Asterisk man pages containing unquoted minus signs. Adds note
+         about the "textsupport" option in sip.conf.sample. (issue
+         ASTERISK-23061) (issue ASTERISK-23028) (issue ASTERISK-23046)
+         (issue ASTERISK-23027) (closes issue ASTERISK-23061) (closes
+         issue ASTERISK-23028) (closes issue ASTERISK-23046) (closes issue
+         ASTERISK-23027) Reported by: Eugene, Jeremy Laine, Denis
+         Pantsyrev Patches: transferred.patch uploaded by Jeremy Laine
+         (license 6561) hyphen.patch uploaded by Jeremy Laine (license
+         6561) sip.conf.sample.patch uploaded by Eugene (license 6360)
+         ........ Merged revisions 405791 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 405792 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405829 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip.c, /: res_pjsip: enhance documentation for
+         mailboxes options, for both endpoints and aors Made documentation
+         more explicit as to the use of the both options. (issue
+         ASTERISK-23071) (closes issue ASTERISK-23071) Reported by: Matt
+         Jordan ........ Merged revisions 405777 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-17 14:17 +0000 [r405766]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * res/res_musiconhold.c, CHANGES: Enable wide band audio in
+         musiconhold streams. Review:
+         https://reviewboard.asterisk.org/r/3112/
+
+2014-01-16 20:06 +0000 [r405747-405749]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip/pjsip_options.c, /: res_pjsip: AOR option
+         qualify_frequency not respected on startup If an endpoint had
+         previously dynamically registered a contact and the contact
+         information was successfully stored in astdb then upon restart
+         the qualify notifications would not be sent out if the
+         qualify_frequency was set. This was due to the fact that only
+         permanent contacts were being checked and scheduled for qualifies
+         on startup. Modified the code to check and schedule all
+         registered contacts at startup. (closes issue ASTERISK-23062)
+         Reported by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/3124/ ........ Merged
+         revisions 405748 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/manager.c, /: manager: Originate doesn't abort on failed
+         format_cap allocation action_originate responds to the remote
+         system with an error when cap==NULL, but doesn't return (abort
+         the originate). Patched to return. (closes issue ASTERISK-23034)
+         Reported by: Corey Farrell Patches: ASTERISK-23034.patch uploaded
+         by coreyfarrell (license 5909) ........ Merged revisions 405745
+         from http://svn.asterisk.org/svn/asterisk/branches/11 ........
+         Merged revisions 405746 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-16 19:33 +0000 [r405744]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_pjsip.c: PJSIP: Fix outbound OPTIONS support When path
+         support was added and contacts were made available during request
+         creation and transmission, the code path used by outbound qualify
+         support was not modified correctly and was causing request
+         creation to fail. This ensures that outbound request creation
+         with only a contact and no dialog, endpoint, or uri can succeed
+         which restores qualify support. Reported by: gtjoseph Reported
+         by: kharwell ........ Merged revisions 405743 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-16 19:13 +0000 [r405644-405695]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_fax.c, configs/res_fax.conf.sample: res_fax:
+         check_modem_rate() returned incorrect rate for V.27 According to
+         the new standard for V.27 and V.32 they are able to transmit at a
+         bit rate of 4,800 or 9,600. The check_mode_rate function needed
+         to be updated to reflect this. Also, because of this change the
+         default 'minrate' value was updated to be 4800. (closes issue
+         ASTERISK-22790) Reported by: Paolo Compagnini Patches:
+         res_fax.txt uploaded by looserouting (license 6548) ........
+         Merged revisions 405656 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 405693 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405694 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_pjsip.c: chan_pjsip: initial device state on
+         endpoints is INVALID When endpoints get loaded their device state
+         gets set to 'INVALID' because the channel driver has not been
+         loaded yet. Fixed by updating the device state for every endpoint
+         upon load of the channel driver. (closes issue ASTERISK-23065)
+         Reported by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/3123/ ........ Merged
+         revisions 405643 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-15 16:51 +0000 [r405586-405589]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES: Make 12 - 12.1 CHANGES log the same as in 12
+
+       * CHANGES, /: Include CHANGES info for r405553 ........ Merged
+         revisions 405585 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-15 16:36 +0000 [r405584]  Joshua Colp <jcolp@digium.com>
+
+       * /, cel/cel_manager.c: cel_manager: Don't crash if configuration
+         file is invalid. The cel_manager module did not properly handle
+         the case where the configuration file was invalid. The module
+         will now output a warning message and disable itself if this
+         occurs. Reported by: Bryan Walters ........ Merged revisions
+         405581 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 405582 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405583 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-15 13:16 +0000 [r405566]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
+         res/res_pjsip_path.c (added), res/res_pjsip_mwi.c,
+         res/res_pjsip/pjsip_distributor.c, res/res_pjsip_diversion.c,
+         channels/chan_pjsip.c, res/res_pjsip_registrar.c,
+         res/res_pjsip_refer.c, include/asterisk/res_pjsip.h,
+         include/asterisk/res_pjsip_session.h, res/res_pjsip_notify.c, /,
+         res/res_pjsip_messaging.c, res/res_pjsip_caller_id.c,
+         res/res_pjsip_t38.c, res/res_pjsip.c,
+         res/res_pjsip/pjsip_options.c, res/res_pjsip_nat.c,
+         res/res_pjsip_session.c,
+         contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py
+         (added), res/res_pjsip_header_funcs.c: PJSIP: Add Path header
+         support This adds Path support to chan_pjsip in res_pjsip_path.c
+         with minimal additions in res_pjsip_registrar.c to store the path
+         and additions in res_pjsip_outbound_registration.c to enable
+         advertisement of path support to registrars and intervening
+         proxies. Path information is stored on contacts and is enabled
+         via Address of Record (AoRs) and Registration configuration
+         sections. While adding path support, it became necessary to be
+         able to add SIP supplements that handled messages outside of
+         sessions, so a framework for handling these types of hooks was
+         added in parallel to the already-existing session supplements and
+         several senders of out-of-dialog requests were refactored as a
+         result. (closes issue ASTERISK-21084) Review:
+         https://reviewboard.asterisk.org/r/3050/ ........ Merged
+         revisions 405565 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-14 23:44 +0000 [r405554]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_stasis_mailbox.exports.in (added),
+         res/ari/ari_model_validators.h, rest-api/api-docs/mailboxes.json
+         (added), include/asterisk/stasis_app_mailbox.h (added),
+         res/ari/resource_mailboxes.c (added), /, res/ari.make,
+         res/res_ari_mailboxes.c (added), res/ari/resource_mailboxes.h
+         (added), res/res_stasis_mailbox.c (added),
+         rest-api/resources.json, res/ari/ari_model_validators.c: ARI: Add
+         mailboxes resource for controlling and polling external MWI Adds
+         the following AMI commands: PUT mailboxes/mailboxName modifies
+         mailbox state and implicitly creates new mailboxes GET
+         mailboxes/mailboxName retrieves a JSON representation of a single
+         mailbox if it exists GET mailboxes retrieves a JSON array of all
+         mailboxes DELETE mailbox/mailboxName deletes a mailbox Note that
+         res_mwi_external must be loaded for these functions to actually
+         do anything. Review: https://reviewboard.asterisk.org/r/3117/
+         ........ Merged revisions 405553 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-14 21:46 +0000 [r405542]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/strings.c, /: string container: Remove unnecessary RAII_VAR
+         usage and string object lock. ........ Merged revisions 405541
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-14 18:15 +0000 [r405437]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: fix Local From tag on outbound
+         register regression In ASTERISK-12117, an improvement to insure
+         consistant local from tags on outbound registrations resulted in
+         an undesirable behavior - caused by leftover unexpired sip_pvt
+         dialogs (with the previous cseq number), resulting in many
+         uncessary REGISTER requests. Instead of significant rework of
+         transmit_register(), this change deletes the dialogs after a 200
+         OK response indiciating a successful registration, keeping the
+         old dialogs from interfering with normal operation. (closes issue
+         ASTERISK-22946) Reported by: Stephan Eisvogel Review:
+         https://reviewboard.asterisk.org/r/3109/ ........ Merged
+         revisions 405433 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 405434 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405435 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-14 18:14 +0000 [r405436]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_verbose.c, main/asterisk.c, configs/logger.conf.sample,
+         main/cli.c, include/asterisk/logger.h, main/pbx.c,
+         main/manager.c, /, funcs/func_timeout.c, apps/app_dumpchan.c,
+         main/logger.c, UPGRADE.txt: verbosity: Fix performance of console
+         verbose messages. The per console verbose level feature as
+         previously implemented caused a large performance penalty. The
+         fix required some minor incompatibilities if the new rasterisk is
+         used to connect to an earlier version. If the new rasterisk
+         connects to an older Asterisk version then the root console
+         verbose level is always affected by the "core set verbose"
+         command of the remote console even though it may appear to only
+         affect the current console. If an older version of rasterisk
+         connects to the new version then the "core set verbose" command
+         will have no effect. * Fixed the verbose performance by not
+         generating a verbose message if nothing is going to use it and
+         then filtered any generated verbose messages before actually
+         sending them to the remote consoles. * Split the "core set debug"
+         and "core set verbose" CLI commands to remove the per module
+         verbose support that cannot work with the per console verbose
+         level. * Added a silent option to the "core set verbose" command.
+         * Fixed "core set debug off" tab completion. * Made "core show
+         settings" list the current console verbosity in addition to the
+         root console verbosity. * Changed the default verbose level of
+         the 'verbose' setting in the logger.conf [logfiles] section. The
+         default is now to once again follow the current root console
+         level. As a result, using the AMI Command action with "core set
+         verbose" could again set the root console verbose level and
+         affect the verbose level logged. (closes issue AST-1252) Reported
+         by: Guenther Kelleter Review:
+         https://reviewboard.asterisk.org/r/3114/ ........ Merged
+         revisions 405431 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405432 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-14 16:43 +0000 [r405420]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip/pjsip_distributor.c: Fix erroneous behavior when
+         sending auth rejection to artificial endpoint. We were not
+         including an authentication challenge when sending a 401 response
+         to unmatched endpoints. This was due to the conversion to use a
+         vector for authentication section names on an endpoint. The
+         vector for artificial endpoints was empty, resulting in the
+         challenge being sent back containing no challenges. This is
+         worked around by placing a bogus value in the artificial
+         endpoint's auth vector. This value is never looked up by
+         anything, since they instead will directly call
+         ast_sip_get_artificial_auth().
+
+2014-01-14 03:27 +0000 [r405369]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Skinny: do not add call to missed
+         calls list if answered elsewhere. Patch updates skinny devices
+         with a SKINNY_CONNECTED callstate if an inbound ringing or
+         callwaiting call is answered elsewhere. ........ Merged revisions
+         405367 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-13 13:34 +0000 [r405339]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_pjsip/pjsip_cli.c: res_pjsip: Fix CLI tab completion
+         issues This fixes several issues with the new res_pjsip CLI tab
+         completion such as output of headers during tab completion and
+         being able to tab-complete more items than the code actually
+         handled (further items would simply be ignored). (closes issue
+         ASTERISK-23081) Review: https://reviewboard.asterisk.org/r/3115/
+         Reported by: xrobau ........ Merged revisions 405338 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-12 22:24 +0000 [r405326]  Joshua Colp <jcolp@digium.com>
+
+       * res/ari/resource_playbacks.c, res/ari/resource_channels.c,
+         include/asterisk/ari.h, res/ari/resource_bridges.c,
+         res/ari/resource_recordings.c, res/ari/resource_device_states.c,
+         res/res_ari.c, res/ari/resource_endpoints.c, /,
+         res/ari/resource_applications.c: res_ari: Fix various memory
+         leaks. This change fixes a few memory leaks that were found based
+         on a mailing list post. 1. Some JSON response messages were never
+         freed. This was caused by the documentation stating that message
+         references were stolen when in reality they were not. The code
+         now follows the documentation and usage has been updated. 2. HTTP
+         response headers were never freed. 3. The variable list for
+         wildcards paths was never freed. (closes issue ASTERISK-23128)
+         Reported by: Kenneth Watson (on list) Review:
+         https://reviewboard.asterisk.org/r/3119/ ........ Merged
+         revisions 405325 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-12 22:13 +0000 [r405313-405314]  Matthew Jordan <mjordan@digium.com>
+
+       * apps/app_forkcdr.c, /, funcs/func_cdr.c, include/asterisk/cdr.h,
+         apps/app_cdr.c, main/cdr.c: CDRs: Synchronize dialplan
+         applications that manipulate CDRs with the engine In
+         https://reviewboard.asterisk.org/r/3057/, applications and
+         functions that manipulate CDRs were made to interact over Stasis.
+         This was done to synchronize manipulations of CDRs from the
+         dialplan with the updates the engine itself receives over the
+         message bus. This change rested on a faulty premise: that
+         messages published to the CDR topic or to a topic that forwards
+         to the CDR topic are synchronized with the messages handled by
+         the CDR topic subscription in the CDR engine. This is not the
+         case. There is no ordering guaranteed for two messages published
+         to the same topic; ordering is only guaranteed if a message is
+         published to the same subscriber. Stasis was modified in r405311
+         to allow a publisher to synchronize on the subscriber. This patch
+         uses that API to synchronize the CDR publishers with the CDR
+         engine message router, which maintains the overall topic
+         subscription. (closes issue ASTERISK-22884) Reported by: Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/3099/ ........
+         Merged revisions 405312 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis.c, main/stasis_message_router.c, /,
+         include/asterisk/stasis.h,
+         include/asterisk/stasis_message_router.h, tests/test_stasis.c:
+         stasis: Add methods to allow for synchronous publishing to
+         subscriber This patch adds an API call to Stasis that allows a
+         publisher to publish a stasis message that will not return until
+         a specific subscriber handles the message. Since a subscriber can
+         have their own forwarding topic which orders messages from many
+         topics, this allows a publisher who knows of that subscriber to
+         synchronize to that subscriber regardless of the forwarding
+         relationships between topics. This is of particular use for
+         dialplan applications that need to synchronize on a particular
+         subscriber's handling of a message. (issue ASTERISK-22884)
+         Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3099/ ........ Merged
+         revisions 405311 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-10 20:00 +0000 [r405299]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip/security_events.c: Print "<unknown>" for
+         artificial endpoint in PJSIP security events. Previously, this
+         printed a UUID, which was not very clear when dealing with an
+         artificial endpoint. Review:
+         https://reviewboard.asterisk.org/r/3113 ........ Merged revisions
+         405298 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-10 18:17 +0000 [r405284]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/logger.c: Logging callid: Fix some sizeof() references
+         per coding guidelines. ........ Merged revisions 405281 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405282 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-09 23:52 +0000 [r405270]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_pjsip_session.c: PJSIP: Add unhold on reinvite without
+         SDP behavior Review: https://reviewboard.asterisk.org/r/3106/
+
+2014-01-09 23:50 +0000 [r405269]  Damien Wedhorn <voip@facts.com.au>
+
+       * channels/chan_dahdi.c, /: Fix chan_dahdi copile issue in
+         dev-mode. Error "unused variable i in dahdi_create_channel_range"
+         when compiling in dev-mode. Small restructure to
+         dahdi_create_channel_range to move the for(x) loop and int i,x to
+         a block within the IFDEF. ........ Merged revisions 405268 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-09 23:39 +0000 [r405267]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip.c, /, res/res_pjsip_messaging.c:
+         res_pjsip_messaging: potential for field values in from/to
+         headers to be missing Added in ability to specify display name
+         format ("name" <sip:name@ipaddr:port>) for a given URI and made
+         sure it was fully propagated to the outgoing message. Also made
+         it so outoing messages in res_pjsip always send as "sip:".
+         (closes issue ASTERISK-22924) Reported by: Anthony Messina
+         Review: https://reviewboard.asterisk.org/r/3094/ ........ Merged
+         revisions 405266 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-09 20:34 +0000 [r405254]  Kinsey Moore <kmoore@digium.com>
+
+       * main/astobj2.c, res/res_pjsip_session.c, /,
+         include/asterisk/astobj2.h: astobj2: Correct ao2_iterator opacity
+         violations This corrects the ao2_iterator opacity violations in
+         res_pjsip_session.c by adding a global function to get the number
+         of elements inside the container hidden behind the iterator.
+         (closes issue ASTERISK-23053) Review:
+         https://reviewboard.asterisk.org/r/3111/ Reported by: Richard
+         Mudgett ........ Merged revisions 405253 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-09 16:52 +0000 [r405236]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fails to resume
+         WebRTC call from hold In ast_rtp_ice_start if the ice session
+         create check list failed, start check was never initiated and
+         ice_started was never set to true. Upon re-entering the function
+         (for instance, [un]hold) it would try to create the check list
+         again with duplicate remote candidates. Fixed so that if the
+         create check list fails the necessary data structures are
+         properly re-initialized for any subsequent retries. Note, it was
+         decided to not stop ice support (by calling ast_rtp_ice_stop) on
+         a check list failure because it possible things might still work.
+         However, a debug message was added to help with any future
+         troubleshooting. (closes issue ASTERISK-22911) Reported by: Vytis
+         Valentinavičius Patches: works_on_my_machine.patch uploaded by
+         xytis (license 6558) ........ Merged revisions 405234 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405235 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-09 15:50 +0000 [r405217]  Matthew Jordan <mjordan@digium.com>
+
+       * /, apps/app_confbridge.c,
+         apps/confbridge/conf_state_multi_marked.c: app_confbridge: Fix
+         crash caused when waitmarked/marked users leave together When
+         waitmarked users join a ConfBridge, the conference state is
+         transitioned from EMPTY -> INACTIVE. In this state, the users are
+         maintined in a waiting users list. When a marked user joins, the
+         ConfBridge conference transitions from INACTIVE -> MULTI_MARKED,
+         and all users are put onto the active list of users. This process
+         works correctly. When the marked user leaves, if they are the
+         last marked user, the MULTI_MARKED state does the following: (1)
+         It plays back a message to the bridge stating that the leader has
+         left the conference. This requires an unlocking of the bridge.
+         (2) It moves waitmarked users back to the waiting list (3) It
+         transitions to the appropriate state: in this case, INACTIVE
+         However, because it plays the prompt back to the bridge before
+         moving the users and before finishing the state transition, this
+         creates a race condition: with the bridge unlocked, waitmarked
+         users who leave the conference (or are kicked from it) can cause
+         a state transition of the bridge to another state before the
+         conference is transitioned to the INACTIVE state. This causes the
+         state machine to get a bit wonky, often leading to a crash when
+         the MULTI_MARKED state attempts to conclude its processing. This
+         patch fixes this problem: (1) It prevents kicked users from being
+         kicked again. That's just a nicety. (2) More importantly, it
+         fixes the race condition by only playing the prompt once the
+         state has transitioned correctly to INACTIVE. If waitmarked users
+         sneak out during the prompt being played, no harm no foul.
+         Review: https://reviewboard.asterisk.org/r/3108/ Note that the
+         patch committed here is essentially the same as uploaded by Simon
+         Moxon on ASTERISK-22740, with the addition of the double kick
+         prevention. (closes issue AST-1258) Reported by: Steve Pitts
+         (closes issue ASTERISK-22740) Reported by: Simon Moxon patches:
+         ASTERISK-22740.diff uploaded by Simon Moxon (license 6546)
+         ........ Merged revisions 405215 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405216 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-09 14:15 +0000 [r405163]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, apps/app_dumpchan.c: "Minimun" typo. ........ Merged revisions
+         405160 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 405161 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405162 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-08 17:23 +0000 [r405144]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip/security_events.c: Use proper case for checking
+         if digest authentication is used. ........ Merged revisions
+         405131 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-08 16:34 +0000 [r405129-405130]  Kinsey Moore <kmoore@digium.com>
+
+       * /, configure, configure.ac, pbx/pbx_lua.c: pbx_lua: Add support
+         for Lua 5.2 This adds support for Lua 5.2 in pbx_lua which is
+         available on newer operating systems. (closes issue
+         ASTERISK-23011) Review: https://reviewboard.asterisk.org/r/3075/
+         Reported by: George Joseph Patch by: George Joseph ........
+         Merged revisions 405090 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 405091 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405124 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: Add the missing part of r400140 When the
+         patch to add retry-on-forbidden-response was committed, part of
+         the patch for chan_sip was not committed which caused the feature
+         to be entirely nonfunctional. This corrects the code in question.
+         (closes issue ASTERISK-17138) Review:
+         https://reviewboard.asterisk.org/r/2874 ........ Merged revisions
+         405033 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 405081 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 405083 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-07 19:56 +0000 [r405020-405035]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_acl.c: res_pjsip_acl: Fix another case of
+         assuming a contact will always contain a URI. ........ Merged
+         revisions 405034 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_nat.c: res_pjsip_nat: Don't assume a Contact
+         header will always contain a URI. If the 'rewrite_contact' option
+         was enabled and a Contact header was received which contained a
+         '*' a crash would occur. This change makes the res_pjsip_nat
+         module ignore the Contact header if it contains only a '*'.
+         (closes issue ASTERISK-23101) Reported by: Matt Jordan ........
+         Merged revisions 405019 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-06 21:55 +0000 [r404953-405007]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_voicemail.c, /: app_voicemail: Explicitly set
+         defaultenabled=yes ........ Merged revisions 405006 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_mwi_external_ami.c (added): External MWI AMI support.
+         The external MWI AMI interface provides a thin wrapper around the
+         core external MWI resource. The resource adds the following AMI
+         actions: MWIGet, MWIDelete, and MWIUpdate. (closes issue AFS-46)
+         Review: https://reviewboard.asterisk.org/r/3061/ ........ Merged
+         revisions 404954 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_mwi_external.c (added), configs/sorcery.conf.sample,
+         include/asterisk/res_mwi_external.h (added),
+         res/res_mwi_external.exports.in (added), apps/app_voicemail.c:
+         External MWI core support. * The core external MWI resource
+         provides for MWI message counts persistence using sorcery. With
+         sorcery, the user is able to configure which sorcery wizzard
+         backend to use if the default astdb is not desired. * The core
+         external MWI resoruce provides some debugging CLI commands
+         enabled by defining MWI_DEBUG_CLI. The debugging CLI commands
+         are: "mwi delete all", "mwi delete like <regex>", "mwi delete
+         mailbox <mailbox>", "mwi list all", "mwi list like <regex>", "mwi
+         show mailbox <mailbox>", and "mwi update mailbox <mailbox> [<new>
+         [<old>]]". (closes issue AFS-43) Review:
+         https://reviewboard.asterisk.org/r/3061/ ........ Merged
+         revisions 404952 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-05 16:01 +0000 [r404924-404936]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c:
+         res_pjsip_outbound_registration: Don't assume that a registration
+         client will always exist. ........ Merged revisions 404935 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_outbound_registration.c:
+         res_pjsip_outbound_registration: Create registration client in pj
+         thread. Depending on which threading was loading the outbound
+         registration it was possible for the registration client to be
+         allocated outside of a pj thread. This change moves the creation
+         inside the synchronous task where it is guaranteed it will occur
+         in a pj thread. Reported by: Rob Thomas ........ Merged revisions
+         404923 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-04 10:52 +0000 [r404912]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * main/asterisk.c, /: asterisk.c: suppress live_dangerously warning
+         on rasterisk Even since the fixes of AST-2013-007, Asterisk
+         prints the following warning on startup if the user decided to
+         live dangerously: Privilege escalation protection disabled! See
+         https://wiki.asterisk.org/wiki/x/1gKfAQ for more details. This
+         message is intended for the logs and interactive startup. No need
+         for it to appear on a remote console. This commit removes it from
+         there. (closes issue ASTERISK-23084) Review:
+         https://reviewboard.asterisk.org/r/3101/ ........ Merged
+         revisions 404861 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404888 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404911 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-03 22:00 +0000 [r404860]  Kevin Harwell <kharwell@digium.com>
+
+       * cel/cel_pgsql.c, /: cel_pgsql: module not correctly reloading
+         Upon reload the module unconditionally "unloaded" the module
+         (freeing memory and setting pointers to NULL) and then when
+         attempting a "load" if the config file had not changed then
+         nothing would be reinitialized. By moving the "unload" to occur
+         conditionally (reload only) after an attempted configuration
+         load, but before module "loading" alleviates the issue. The
+         module now loads/unloads/reloads correctly. (closes issue
+         ASTERISK-22871) Reported by: Matteo ........ Merged revisions
+         404857 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 404858 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404859 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-03 21:45 +0000 [r404844-404856]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_pjsip_logger.c: res_pjsip_logger: Add the
+         ASTERISK_FILE_VERSION macro Registering yourself with the
+         Asterisk core is the nice thing to do, even when you're a logging
+         module. ........ Merged revisions 404855 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_authenticator_digest.c, tests/test_utils.c:
+         res_pjsip_authenticator_digest: Fix md5 hash buffer An md5 hash
+         is 32 bytes long. The char buffer must be at least 33 bytes to
+         avoid clobbering of the stack. This patch also fixes a potential
+         clobbering in test_utils.c. Thanks to Andrew Nagy for reporting
+         and testing this out in #asterisk-dev Reported by: Andrew Nagy
+         Tested by: Andrew Nagy ........ Merged revisions 404843 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-03 20:02 +0000 [r404787-404832]  Kevin Harwell <kharwell@digium.com>
+
+       * main/manager.c: manager: UserEvent including action on output AMI
+         action UserEvent event response would include the action header
+         in its keyvalue pairs list. Adjusted the start of the header loop
+         to skip over the action part. (closes issue ASTERISK-22899)
+         Reported by: outtolunc Patches:
+         svn_manager.c.skip_action.diff.txt uploaded by outtolunc (license
+         5198)
+
+       * channels/chan_dahdi.c, /: chan_dahdi: dahdi show channels slices
+         PRI channel dnid on output dahdi show channels output slices the
+         callerid (which is dnid copied over on PRI channels). If the
+         channel naming structures look like: 'DAHDI/i1/1408409XXXX-6'
+         then the output slices 1408409XXXX down to 1408409XXX. This patch
+         just opens it up to 15 chars so you can see the whole thing.
+         (closes issue ASTERISK-22918) Reported by: outtolunc Patches:
+         svn_chan_dahdi.c.format12_15.diff.txt uploaded by outtolunc
+         (license 5198) ........ Merged revisions 404784 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404785 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404786 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-03 18:33 +0000 [r404783]  Richard Mudgett <rmudgett@digium.com>
+
+       * tests/test_stasis.c, /: test_stasis.c: Fix ref leak in normal
+         execution path. ........ Merged revisions 404764 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-03 18:31 +0000 [r404782]  Kevin Harwell <kharwell@digium.com>
+
+       * /, apps/app_meetme.c: app_meetme: compiler warning Fixed a
+         compiler warning (errors in 'dev-mode') given by gcc version
+         4.8.1. The one in app_meetme involved the
+         'sizeof-pointer-memaccess' (see:
+         http://gcc.gnu.org/gcc-4.8/porting_to.html) warning. Fixed so it
+         would no longer issue a warning and can compile again in
+         'dev-mode'. Review: https://reviewboard.asterisk.org/r/3098/
+         ........ Merged revisions 404742 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404773 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404781 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-03 17:27 +0000 [r404726-404738]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip/pjsip_configuration.c, /, res/res_pjsip/location.c:
+         res_pjsip: Ensure more URI validation happens in pj threads.
+         ........ Merged revisions 404737 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_outbound_registration.c:
+         res_pjsip_outbound_registration: Ensure URI validation happens in
+         a pjlib thread. This change moves outbound registration URI
+         validation into the task executed within a pjlib thread. Reported
+         by: Andrew Nagy ........ Merged revisions 404725 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-02 19:38 +0000 [r404677]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, funcs/func_strings.c: func_strings: use memmove to prevent
+         overlapping memory on strcpy When calling REPLACE() with an empty
+         replace-char argument, strcpy is used to overwrite the the
+         matching <find-char>. However as the src and dest arguments to
+         strcpy must not overlap, it causes other parts of the string to
+         be overwritten with adjacent characters and the result is
+         mangled. Patch replaces call to strcpy with memmove and adds a
+         test suite case for REPLACE. (closes issue ASTERISK-22910)
+         Reported by: Gareth Palmer Review:
+         https://reviewboard.asterisk.org/r/3083/ Patches:
+         func_strings.patch uploaded by Gareth Palmer (license 5169)
+         ........ Merged revisions 404674 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404675 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404676 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2014-01-02 19:08 +0000 [r404664]  Kevin Harwell <kharwell@digium.com>
+
+       * channels/chan_pjsip.c, include/asterisk/res_pjsip.h, /,
+         configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
+         CHANGES, res/res_pjsip.c: res_pjsip: add 'set_var' support on
+         endpoints Added a new 'set_var' option for ast_sip_endpoint(s).
+         For each variable specified that variable gets set upon creation
+         of a pjsip channel involving the endpoint. (closes issue
+         ASTERISK-22868) Reported by: Joshua Colp Review:
+         https://reviewboard.asterisk.org/r/3095/ ........ Merged
+         revisions 404663 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-31 22:51 +0000 [r404620-404653]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_pjsip.c, res/res_pjsip_session.c, /: chan_pjsip:
+         Handle hanging up before calling. Channel creation in Asterisk is
+         broken up into two steps: requesting and calling. In some cases a
+         channel may be requested but never called. This happens in the
+         ChanIsAvail dialplan application for determining if something is
+         reachable or not. The PJSIP channel driver did not take this
+         situation into account and attempted to end a session that was
+         never called out on. The code now checks the session state to
+         determine if the session has been called out on and if not
+         terminates it instead of ending it. (closes issue ASTERISK-23074)
+         Reported by: Kilburn ........ Merged revisions 404652 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_endpoint_identifier_ip.c:
+         res_pjsip_endpoint_identifier_ip: Accept hostnames in the 'match'
+         field. Hostnames specified in the 'match' field will be resolved
+         and all addresses returned. Each address will be added to the
+         endpoint identifier for the matching process. Reported by: Rob
+         Thomas ........ Merged revisions 404613 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-31 21:39 +0000 [r404606]  Kevin Harwell <kharwell@digium.com>
+
+       * cel/cel_pgsql.c, /: cel_pgsql: deadlock on unload and
+         core_event_dispatcher A deadlock can happen between a thread
+         unloading or reloading the cel_pgsql module and the
+         core_event_dispatcher taskprocessor thread. Description of what
+         is happening: Thread 1 (for example, a netconsole thread): a
+         "module reload cel_pgsql" is launched the thread enter the
+         "my_unload_module" function (cel_pgsql.c) the thread acquire the
+         write lock on psql_columns the thread enter the
+         "ast_event_unsubscribe" function (event.c) the thread try to
+         acquire the write lock on ast_event_subs[sub->type] Thread 2
+         (core_event_dispatcher taskprocessor thread): the taskprocessor
+         pop a CEL event the thread enter the "handle_event" function
+         (event.c) the thread acquire the read lock on
+         ast_event_subs[sub->type] the thread callback the "pgsql_log"
+         function (cel_pgsql.c), since it's a subscriber of CEL events the
+         thread try to acquire a read lock on psql_columns (closes issue
+         ASTERISK-22854) Reported by: Etienne Lessard Patches:
+         cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license
+         6394) ........ Merged revisions 404603 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404604 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404605 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-31 20:27 +0000 [r404593]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_outbound_registration.c, /:
+         res_pjsip_outbound_registration: Add validation for 'server_uri'
+         and 'client_uri'. When applying configuration for outbound
+         registrations the 'server_uri' and 'client_uri' fields were not
+         validated. The code will now confirm that they exist and that
+         they contain parseable SIP URIs. Reported by: Andrew Nagy
+         ........ Merged revisions 404592 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-30 23:25 +0000 [r404582]  Kevin Harwell <kharwell@digium.com>
+
+       * main/channel.c, /: channels.c: core show channeltypes slicing
+         'core show channeltypes' type column is being sliced, resulting
+         in incomplete type names. (closes issue ASTERISK-22919) Reported
+         by: outtolunc Patches: svn_channel.c.format_15.diff.txt uploaded
+         by outtolunc (license 5198) ........ Merged revisions 404579 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404581 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-24 17:12 +0000 [r404567-404569]  David M. Lee <dlee@digium.com>
+
+       * UPGRADE-12.txt, /: Added note to UPGRADE.txt about the default
+         value of live_dangerously changing ........ Merged revisions
+         404568 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/http.c: http: Properly reject requests with
+         Transfer-Encoding set Asterisk does not support any of the
+         transfer encodings specified in HTTP/1.1, other than the default
+         "identity" encoding. According to RFC 2616: A server which
+         receives an entity-body with a transfer-coding it does not
+         understand SHOULD return 501 (Unimplemented), and close the
+         connection. A server MUST NOT send transfer-codings to an
+         HTTP/1.0 client. This patch adds the 501 Unimplemented response,
+         instead of the hard work of actually implementing other
+         recordings. This behavior is especially problematic for Node.js
+         clients, which use chunked encoding by default. (closes issue
+         ASTERISK-22486) Review: https://reviewboard.asterisk.org/r/3092/
+         ........ Merged revisions 404565 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-24 02:20 +0000 [r404554]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Ensure dialog
+         manipulation happens on proper thread. When destroying a
+         subscription we remove the serializer from its dialog and
+         decrease its reference count. Depending on which thread dropped
+         the subscription reference count to 0 it was possible for this to
+         occur in a thread where it is not possible. (closes issue
+         ASTERISK-22952) Reported by: Matt Jordan ........ Merged
+         revisions 404553 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-23 16:38 +0000 [r404542]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
+         UPGRADE-12.txt: chan_dahdi: enable ignore_failed_channels by
+         default If ignore_failed_channels is set to "true" for a channel,
+         the channel will continue to be configured even if configuring it
+         has failed. This allows Asterisk to start before all the DAHDI
+         initialization is done and thus not force the starting order
+         dahdi -> asterisk. Review:
+         https://reviewboard.asterisk.org/r/3063/
+
+2013-12-21 03:35 +0000 [r404532]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_pjsip/pjsip_cli.c: res_pjsip/pjsip_cli: fix
+         compilation error caused by passing ast_free When wanting to pass
+         *free as a function pointer, ast_free_ptr has to be used instead
+         of ast_free. This allows it to be compiled with MALLOC_DEBUG
+         enabled. ........ Merged revisions 404531 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 22:04 +0000 [r404511-404512]  David M. Lee <dlee@digium.com>
+
+       * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
+         res/res_ari_channels.c, res/ari/resource_channels.h, /,
+         rest-api/api-docs/applications.json: ari: Remove support for
+         specifying channel vars during origination. When we added support
+         for specifying channel variables for an origination, we didn't
+         consider how that would interact with another feature, namely
+         specifying request parameters in a JSON request body. The method
+         of specifying channel variables (as a flat JSON object passed in
+         the JSON body) interferes with parsing parameters out of the
+         request body. Unfortunately, fixing this would be a backward
+         incompatible change. In the interest of keeping the API sane and
+         keeping our release schedule, we're dropping the feature for
+         specifying channel variables in the origination request. We will
+         bring the feature back soon, as a backward compatible addition to
+         the API. (closes issue ASTERISK-23051) Review:
+         https://reviewboard.asterisk.org/r/3088 ........ Merged revisions
+         404509 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /: Remove automerge properties ........ Merged revisions 404488
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 21:32 +0000 [r404507]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/config.h, main/config.c, main/channel.c,
+         res/res_pjsip/location.c, include/asterisk/res_pjsip_cli.h
+         (added), res/res_pjsip/pjsip_cli.c (added),
+         include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip/include/res_pjsip_private.h,
+         res/res_pjsip_registrar.c, main/sorcery.c,
+         include/asterisk/res_pjsip.h, CREDITS,
+         res/res_pjsip/config_auth.c, /,
+         res/res_pjsip_endpoint_identifier_ip.c: res_pjsip: Add PJSIP CLI
+         commands Implements the following cli commands: pjsip list aors
+         pjsip list auths pjsip list channels pjsip list contacts pjsip
+         list endpoints pjsip show aor(s) pjsip show auth(s) pjsip show
+         channels pjsip show endpoint(s) Also... Minor modifications made
+         to the AMI command implementations to facilitate reuse. New
+         function ast_variable_list_sort added to config.c and config.h to
+         implement variable list sorting. (issue ASTERISK-22610) patches:
+         pjsip_cli_v2.patch uploaded by george.joseph (License 6322)
+         ........ Merged revisions 404480 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 21:18 +0000 [r404461]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, main/say.c: say.c: correct time for polish In
+         ast_say_date_with_format_pl(), change ast_say_number() to use
+         tm_sec instead of tm_mn. (closes issue ASTERISK-22856) Reported
+         by: Robert Mordec Review:
+         https://reviewboard.asterisk.org/r/3082/ Patches: say.c.patch
+         uploaded by veilen (license 6555) ........ Merged revisions
+         404456 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 404457 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404458 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 20:28 +0000 [r404452]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip_refer.c: Fix issue where PJSIP blind transferer
+         dialog may not complete as planned. When transferring to a
+         dialplan extension that will not place any outbound calls, the
+         only control frames that the PJSIP REFER framehook will receive
+         are inconsequential (such as unhold or srcchange). As such, we
+         shouldn't allow for the reception of those types of frames
+         prevent us from signaling to the transferring party that the
+         transfer has completed successfully once voice frames are read.
+         Thanks to Jonathan Rose for pointing this out. ........ Merged
+         revisions 404439 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 20:05 +0000 [r404438]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/ari/resource_applications.h,
+         res/res_stasis_device_state.c: res_stasis_device_state: Set
+         resource type for subscriptions to deviceState The documentation
+         for ARI already specifies that the device state resource when
+         used for subscribing for events is "deviceState", not
+         "device_state". The code, however, used "device_state"; although
+         this was inconsistent as well in doxygen comments in
+         resource_applications. Because the actual resource being
+         subscribed to is /deviceStates/{device}/, it makes sense for the
+         resource type specifier to be deviceState. Note that the key
+         value in the events is still "device_state". ........ Merged
+         revisions 404437 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 20:00 +0000 [r404436]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/ari/resource_channels.c, tests/test_scoped_lock.c,
+         tests/test_stasis.c, res/parking/parking_manager.c,
+         res/ari/resource_bridges.c, res/ari/resource_endpoints.c, /,
+         res/res_pjsip/location.c, tests/test_cel.c: ao2_iterator:
+         Mini-audit of the ao2_iterator loops in the new code files. *
+         Fixed several places where ao2_iterator_destroy() was not called.
+         * Fixed several iterator loop object variable reference problems.
+         * Fixed res_parking AMI actions returning non-zero. Only the AMI
+         logoff action can return non-zero. Review:
+         https://reviewboard.asterisk.org/r/3087/ ........ Merged
+         revisions 404434 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 19:25 +0000 [r404433]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/manager.h, /: manager: bump version to 2.0.0 AMI
+         has received substantial updates over the past year. Not only has
+         the syntax been vastly improved and made consistent (which
+         entails many event changes), but the underlying things that those
+         events convey have changed substantially as well. After some
+         conversation in #asterisk-dev, it was agreed that this is a good
+         time to jump to 2. At the same time, since ARI will most likely
+         use semantic versioning, we might as well use that for AMI as
+         well. That also affords us greater meaning for the AMI version.
+         ........ Merged revisions 404421 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 19:06 +0000 [r404420]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/sounds_index.c: Whitespace fixes. ........ Merged
+         revisions 404419 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-20 17:22 +0000 [r404406]  Rusty Newton <rnewton@digium.com>
+
+       * /, configs/pjsip.conf.sample: Documentation: Updates for info
+         about NAT-related settings and fixes for pjsip.conf.sample Added
+         another NAT example to pjsip.conf.sample. We had a few mentions
+         of NAT configuration throughout the sample, but I added another
+         for a little bit more clarity. Additionally many pjsip options
+         were affected by the change to snake case, so I fixed any
+         instances of those options in pjsip.conf. I regenerated the
+         config option list (at the bottom of the file) from a new xml
+         config doc dump, so all the snake case changes should be
+         reflected there, as well as any other changes to those options.
+         (issue ASTERISK-23004) (closes issue ASTERISK-23004) Reported by:
+         Matt Jordan Review: https://reviewboard.asterisk.org/r/3086/
+         ........ Merged revisions 404405 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 20:48 +0000 [r404387]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/security_events.c: security_events: log events with
+         descriptive names This patch updates the log messages to include
+         descriptive names for event types. This is an improvement over
+         having only cryptic type numbers. (closes issue ASTERISK-22909)
+         Reported by: outtolunc Review:
+         https://reviewboard.asterisk.org/r/3081/ Patches:
+         svn_security_events.c.names.diff.txt uploaded by outtolunc
+         (license 5198)
+
+2013-12-19 18:16 +0000 [r404376]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, CHANGES: Put notice in CHANGES as well as UPGRADE.txt.
+         ........ Merged revisions 404375 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 18:00 +0000 [r404370-404372]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip/pjsip_outbound_auth.c, /: res_pjsip: Ignore 401/407
+         responses for transactions and dialogs we don't know about. Under
+         normal conditions it is unlikely we will ever receive a response
+         for a transaction or dialog we don't know about but if any are
+         received ignore them. ........ Merged revisions 404371 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_session.c: res_pjsip_session: Fix SDP
+         negotiation when resending an INVITE with authentication. The
+         process for resending an INVITE with authentication involves
+         restarting the UAC session. We were incorrectly passing in that a
+         new offer is being sent, causing the SDP negotiation to get into
+         a (technically speaking) funky state. ........ Merged revisions
+         404369 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 17:45 +0000 [r404368]  Mark Michelson <mmichelson@digium.com>
+
+       * include/asterisk/channel.h, res/res_pjsip.c, main/channel.c, /,
+         include/asterisk/autochan.h: Fix a deadlock that occurred due to
+         a conflict of masquerades. For the explanation, here is a
+         copy-paste of the review board explanation: Initially, it was
+         discovered that performing an attended transfer of a multiparty
+         bridge with a PJSIP channel would cause a deadlock. A PBX thread
+         started a masquerade and reached the point where it was calling
+         the fixup() callback on the "original" channel. For chan_pjsip,
+         this involves pushing a synchronous task to the session's
+         serializer. The problem was that a task ahead of the fixup task
+         was also attempting to perform a channel masquerade. However,
+         since masquerades are designed in a way to only allow for one to
+         occur at a time, the task ahead of the fixup could not continue
+         until the masquerade already in progress had completed. And of
+         course, the masquerade in progress could not complete until the
+         task ahead of the fixup task had completed. Deadlock. The initial
+         fix was to change the fixup task to be asynchronous. While this
+         prevented the deadlock from occurring, it had the frightful side
+         effect of potentially allowing for tasks in the session's
+         serializer to operate on a zombie channel. Taking a step back
+         from this particular deadlock, it became clear that the problem
+         was not really this one particular issue but that masquerades
+         themselves needed to be addressed. A PJSIP attended transfer
+         operation calls ast_channel_move(), which attempts to both set up
+         and execute a masquerade. The problem was that after it had set
+         up the masquerade, the PBX thread had swooped in and tried to
+         actually perform the masquerade. Looking at changes that had been
+         made to Asterisk 12, it became clear that there never is any time
+         now that anyone ever wants to set up a masquerade and allow for
+         the channel thread to actually perform the masquerade. Everyone
+         always is calling ast_channel_move(), performs the masquerade
+         itself before returning. In this patch, I have removed all blocks
+         of code from channel.c that will attempt to perform a masquerade
+         if ast_channel_masq() returns true. Now, there is no distinction
+         between setting up a masquerade and performing the masquerade. It
+         is one operation. The only remaining checks for
+         ast_channel_masq() and ast_channel_masqr() are in ast_hangup()
+         since we do not want to interrupt a masquerade by hanging up the
+         channel. Instead, now ast_hangup() will wait for a masquerade to
+         complete before moving forward with its operation. The
+         ast_channel_move() function has been modified to basically
+         in-line the logic that used to be in ast_channel_masquerade().
+         ast_channel_masquerade() has been killed off for real.
+         ast_channel_move() now has a lock associated with it that is used
+         to prevent any simultaneous moves from occurring at once. This
+         means there is no need to make sure that ast_channel_masq() or
+         ast_channel_masqr() are already set on a channel when
+         ast_channel_move() is called. It also means the channel container
+         lock is not pulling double duty by both keeping the container
+         locked and preventing multiple masquerades from occurring
+         simultaneously. The ast_do_masquerade() function has been renamed
+         to do_channel_masquerade() and is now internal to channel.c. The
+         function now takes explicit arguments of which channels are
+         involved in the masquerade instead of a single channel. While it
+         probably is possible to do some further refactoring of this
+         method, I feel that I would be treading dangerously. Instead, all
+         I did was change some comments that no longer are true after this
+         changeset. The other more minor change introduced in this patch
+         is to res_pjsip.c to make ast_sip_push_task_synchronous() run the
+         task in-place if we are already a SIP servant thread. This is
+         related to this patch because even when we isolate the channel
+         masquerade to only running in the SIP servant thread, we would
+         still deadlock when the fixup() callback is reached since we
+         would essentially be waiting forever for ourselves to finish
+         before actually running the fixup. This makes it so the fixup is
+         run without having to push a task into a serializer at all.
+         (closes issue ASTERISK-22936) Reported by Jonathan Rose Review:
+         https://reviewboard.asterisk.org/r/3069 ........ Merged revisions
+         404356 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 17:13 +0000 [r404355]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/udptl.c, addons/chan_ooh323.c, /, channels/chan_sip.c,
+         include/asterisk/udptl.h: udptl: Dead code elimination.
+         ast_udptl_bridge was not used. Removing dead code starting with
+         ast_udptl_bridge() eliminated the code in this change. Note: This
+         code has actually been dead since Asterisk v1.4 when it was first
+         put in. Review: https://reviewboard.asterisk.org/r/3079/ ........
+         Merged revisions 404354 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 17:03 +0000 [r404353]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, res/res_fax.c: res_fax.c: crash on framehook with no dsp in
+         fax detect In fax_detect_framehook() a null pointer reference can
+         occur where a voice frame is processed but no dsp is attached to
+         the fax detection structure. The code block that rejects frames
+         that detection cannot be processed on is checking for dsp but
+         falls through when it should instead return, as this change
+         implements. (closes issue ASTERISK-22942) Reported by: adomjan
+         Review: https://reviewboard.asterisk.org/r/3076/ ........ Merged
+         revisions 404351 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404352 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 16:52 +0000 [r404350]  Richard Mudgett <rmudgett@digium.com>
+
+       * configs/skinny.conf.sample, res/res_xmpp.c, res/res_jabber.c,
+         CHANGES, channels/chan_iax2.c, channels/sig_pri.c,
+         channels/h323/chan_h323.h, configs/iax.conf.sample,
+         channels/sig_pri.h, channels/chan_dahdi.c,
+         include/asterisk/app.h, channels/chan_skinny.c,
+         channels/chan_dahdi.h, channels/chan_h323.c, main/app.c,
+         UPGRADE-12.txt, configs/sip.conf.sample,
+         channels/sip/include/sip.h, channels/chan_mgcp.c,
+         apps/app_voicemail.c, channels/chan_unistim.c,
+         configs/chan_dahdi.conf.sample, /, channels/chan_sip.c,
+         configs/voicemail.conf.sample, funcs/func_vmcount.c: Voicemail:
+         Remove mailbox identifier format (box@context) assumptions in the
+         system. This change is in preparation for external MWI support.
+         Removed code from the system for normal mailbox handling that
+         appends @default to the mailbox identifier if it does not have a
+         context. The only exception is the legacy hasvoicemail users.conf
+         option. The legacy option will only work for app_voicemail
+         mailboxes. The system cannot make any assumptions about the
+         format of the mailbox identifer used by app_voicemail. chan_sip
+         and chan_dahdi/sig_pri had the most changes because they both
+         tried to interpret the mailbox identifier. chan_sip just stored
+         and compared the two components. chan_dahdi actually used the box
+         information. The ISDN MWI support configuration options had to be
+         reworked because chan_dahdi was parsing the box@context format to
+         get the box number. As a result the mwi_vm_boxes chan_dahdi.conf
+         option was added and is documented in the chan_dahdi.conf.sample
+         file. Review: https://reviewboard.asterisk.org/r/3072/ ........
+         Merged revisions 404348 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 16:33 +0000 [r404346]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/db.c, /: astdb: crash in sqlite3 during shutdown When
+         Asterisk is shut down, the astdb_atexit() function releases
+         (finalize) the previously initiated (prepared) SQL statements in
+         sqlite3. Another thread making a subsequent request can cause a
+         crash in sqlite3. This patch eliminates that issue by resetting
+         the statement pointer after it is released/cleared. The sqlite3
+         code detects the null pointer, and aborts the operation cleanly.
+         (closes issue AST-1265) Reported by: Alexander Hömig (closes
+         issue ASTERISK-22350) Reported by: Birger "WIMPy" Harzenetter
+         Review: https://reviewboard.asterisk.org/r/3078/ ........ Merged
+         revisions 404344 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404345 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 12:18 +0000 [r404333]  Joshua Colp <jcolp@digium.com>
+
+       * main/channel.c, /: channel: Add a missing ast_channel_unlock when
+         allocating a Surrogate channel. ........ Merged revisions 404332
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 08:35 +0000 [r404321]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooGkClient.c,
+         addons/chan_ooh323.c, /, addons/ooh323c/src/ooGkClient.h: Handle
+         temporary failures on gk registration Introduce new 'stopped'
+         state for gk client and restart gk client on failures Remove
+         ooh323 stack command lock as it is not need now. (closes issue
+         ASTERISK-21960) Reported by: Dmitry Melekhov Patches:
+         ASTERISK-21960.patch ASTERISK-21960-stacklockup-2.patch Tested
+         by: Dmitry Melekhov ........ Merged revisions 404318 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404320 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 02:59 +0000 [r404307]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Fixup some skinny bugs causing Fracks
+         and ao2 cleanup issues. Moved channel locking into setsubstate so
+         that a process can complete working on a sub before another
+         starts changing it. The existing code was causing some Fracks
+         with schedule deletion. Removed multiple rtp cleanup. Now only
+         cleansup up once, fixing ao2 object cleanup issues. ........
+         Merged revisions 404306 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 00:50 +0000 [r404295]  Matthew Jordan <mjordan@digium.com>
+
+       * include/asterisk/cdr.h, CHANGES, apps/app_cdr.c, main/cdr.c,
+         apps/app_forkcdr.c, main/pbx.c, /, funcs/func_cdr.c,
+         apps/app_disa.c, UPGRADE-12.txt: app_cdr,app_forkcdr,func_cdr:
+         Synchronize with engine when manipulating state When doing the
+         rework of the CDR engine that pushed all of the logic into cdr.c
+         and made it respond to changes in channel state over Stasis, we
+         knew that accessing the CDR engine from the dialplan would be
+         "slightly" non-deterministic. Dialplan threads would be accessing
+         CDRs while Stasis threads would be updating the state of said
+         CDRs - whereas in the past, everything happened on the dialplan
+         threads. Tests have shown that "slightly" is in reality "very".
+         This patch synchronizes things by making the dialplan
+         applications/functions that manipulate CDRs do so over Stasis.
+         ForkCDR, NoCDR, ResetCDR, CDR, and CDR_PROP now all use Stasis to
+         send their requests over to the CDR engine, and synchronize on
+         the channel Stasis topic via a subscription so that they return
+         their values/control to the dialplan at the appropriate time.
+         While going through this, the following changes were also made: *
+         DISA, which can reset the CDR when a user successfully
+         authenticates, now just uses the ResetCDR app to do this. This
+         prevents having to duplicate the same Stasis synchronization
+         logic in that application. * Answer no longer disables CDRs. It
+         actually didn't work anyway - calling DISABLE on the channel's
+         CDR doesn't stop the CDR from getting the Answer time - it just
+         kills all CDRs on that channel, which isn't what the caller would
+         intend. (closes issue ASTERISK-22884) (closes issue
+         ASTERISK-22886) Review: https://reviewboard.asterisk.org/r/3057/
+         ........ Merged revisions 404294 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-19 00:32 +0000 [r404293]  Damien Wedhorn <voip@facts.com.au>
+
+       * /, channels/chan_skinny.c: Fixup skinny registration following
+         network issues. On session registration, if device is already
+         reporting that it is connected to a device, an innocuous packet
+         (update time) is sent to the already connected device. If the tcp
+         connection is down, the device will be unregistered and the new
+         connection allowed. Without this patch, network issues can see a
+         situation where a device can not reregister until after
+         3*timeout. ........ Merged revisions 404292 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 23:00 +0000 [r404280]  Jason Parker <jparker@digium.com>
+
+       * main/manager.c, /: Add AMI event for presence state. Review:
+         https://reviewboard.asterisk.org/r/3039/ ........ Merged
+         revisions 404275 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404279 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 21:12 +0000 [r404264]  Richard Mudgett <rmudgett@digium.com>
+
+       * addons/ooh323c/src/ooTimer.c, /: ooh323c: Fix gcc 4.6.3 compiler
+         warnings. ........ Merged revisions 404212 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404219 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404263 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 20:48 +0000 [r404260-404262]  Kevin Harwell <kharwell@digium.com>
+
+       * channels/chan_oss.c, /: chan_oss.c: channel being locked twice
+         and unlocked once Removed channel lock as it is now being down in
+         ast_channel_alloc ........ Merged revisions 404261 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
+         addons/chan_mobile.c, main/bridge_channel.c, tests/test_cdr.c,
+         channels/chan_pjsip.c, res/parking/parking_manager.c,
+         channels/chan_mgcp.c, channels/chan_unistim.c, main/pbx.c,
+         funcs/func_timeout.c, /, apps/app_meetme.c, main/bridge.c,
+         tests/test_stasis_channels.c, include/asterisk/channel.h,
+         channels/chan_gtalk.c, channels/sig_pri.c, apps/app_queue.c,
+         main/cel.c, main/stasis_bridges.c, channels/chan_jingle.c,
+         channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
+         channels/sig_analog.c, include/asterisk/stasis_channels.h,
+         res/res_agi.c, channels/chan_motif.c, tests/test_cel.c,
+         apps/app_confbridge.c, res/res_stasis.c, res/res_pjsip_refer.c,
+         apps/app_voicemail.c, apps/app_dial.c, channels/chan_vpb.cc,
+         addons/chan_ooh323.c, main/pickup.c, include/asterisk/aoc.h,
+         include/asterisk/stasis_bridges.h, apps/app_userevent.c,
+         apps/app_disa.c, channels/chan_console.c,
+         include/asterisk/channelstate.h, main/core_local.c,
+         channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
+         res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
+         main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c:
+         channel locking: Add locking for channel snapshot creation
+         Original commit message by mmichelson (asterisk 12 r403311):
+         "This adds channel locks around calls to create channel snapshots
+         as well as other functions which operate on a channel and then
+         end up creating a channel snapshot. Functions that expect the
+         channel to be locked prior to being called have had their
+         documentation updated to indicate such." The above was initially
+         committed and then reverted at r403398. The problem was found to
+         be in core_local.c in the publish_local_bridge_message function.
+         The ast_unreal_lock_all function locks and adds a reference to
+         the returned channels and while they were being unlocked they
+         were not being unreffed when no longer needed. Fixed by unreffing
+         the channels. Also in bridge.c a lock was obtained on
+         "other->chan", but then an attempt was made to unlock "other" and
+         not the previously locked channel. Fixed by unlocking
+         "other->chan" (closes issue ASTERISK-22709) Reported by: John
+         Bigelow ........ Merged revisions 404237 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 19:36 +0000 [r404211]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/chan_ooh323.c, configs/ooh323.conf.sample: Introduce new
+         config option 'aniasdni'. If yes then asterisk set dialed number
+         as own id back to the caller on incoming h.323 calls. Option can
+         be set globally or per user section. (closes issue
+         ASTERISK-22020) Reported by: Ross Beer
+
+2013-12-18 19:28 +0000 [r404210]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_mgcp.c, main/pbx.c, channels/chan_sip.c,
+         apps/confbridge/conf_chan_record.c, tests/test_app.c,
+         tests/test_stasis_channels.c, main/core_unreal.c,
+         include/asterisk/channel.h, channels/chan_console.c,
+         channels/chan_oss.c, channels/chan_jingle.c,
+         channels/chan_misdn.c, channels/chan_h323.c, tests/test_cel.c,
+         channels/chan_nbs.c, channels/chan_pjsip.c, res/res_calendar.c,
+         apps/app_voicemail.c, channels/chan_unistim.c,
+         tests/test_substitution.c, channels/chan_vpb.cc,
+         addons/chan_ooh323.c, channels/chan_multicast_rtp.c, /,
+         apps/app_meetme.c, res/res_stasis_snoop.c, channels/chan_gtalk.c,
+         channels/chan_iax2.c, main/channel.c, channels/chan_dahdi.c,
+         channels/chan_phone.c, channels/chan_skinny.c,
+         res/parking/parking_tests.c, channels/chan_motif.c,
+         tests/test_voicemail_api.c, channels/chan_alsa.c, main/message.c,
+         addons/chan_mobile.c, tests/test_cdr.c: channels: Return
+         allocated channels locked. This change makes ast_channel_alloc
+         return allocated channels locked. By doing so no other thread can
+         acquire, lock, and manipulate the channel before it is completely
+         set up. (closes issue AST-1256) Review:
+         https://reviewboard.asterisk.org/r/3067/ ........ Merged
+         revisions 404204 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 19:10 +0000 [r404198]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/chan_ooh323.c: Implement module reload command for
+         chan_ooh323 (close issue ASTERISK-22817) Patches:
+         ooh323_module_reload.patch
+
+2013-12-18 12:46 +0000 [r404185]  Matthew Jordan <mjordan@digium.com>
+
+       * rest-api/api-docs/applications.json,
+         rest-api/api-docs/playbacks.json,
+         rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
+         rest-api/resources.json, rest-api/api-docs/bridges.json,
+         rest-api/api-docs/recordings.json,
+         rest-api/api-docs/deviceStates.json,
+         rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
+         /, rest-api/api-docs/asterisk.json: ari: Bump the version of ARI
+         to 1.0.0 (closes issue ASTERISK-23007) ........ Merged revisions
+         404184 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 12:01 +0000 [r404138]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_calendar.c, /: res_calendar: Protect channel when adding
+         datastore. This change adds a missing channel lock when adding a
+         datastore to a channel. ........ Merged revisions 404135 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404136 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404137 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 00:36 +0000 [r404100]  Rusty Newton <rnewton@digium.com>
+
+       * /, funcs/func_strings.c: func_strings: Documentation fix for
+         QUOTE() Example output was inaccurate. (issue ASTERISK-22970)
+         (closes issue ASTERISK-22970) Reported by: Gareth Palmer Patches:
+         func_strings.patch uploaded by Gareth Palmer (license 5169)
+         ........ Merged revisions 404081 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 404087 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 404099 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-18 00:17 +0000 [r404051]  Matthew Jordan <mjordan@digium.com>
+
+       * /, LICENSE: LICENSE: Update language to include ARI ........
+         Merged revisions 404050 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-17 23:57 +0000 [r404049]  Jonathan Rose <jrose@digium.com>
+
+       * /, tests/test_cel.c, tests/test_cdr.c: tests: fix
+         ast_bridge_base_new calls not using the additional arguments
+         r404042 gave ast_bridge_base_new two new arguments for setting a
+         bridge creator and name. Unfortunately since a couple test
+         modules aren't compiled by default, I missed the fact that this
+         change impacted those tests and caused compilation failures
+         against them. ........ Merged revisions 404048 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-17 23:38 +0000 [r404047]  Rusty Newton <rnewton@digium.com>
+
+       * include/asterisk/test.h, main/channel.c, main/rtp_engine.c, /,
+         channels/chan_iax2.c, apps/app_chanspy.c, apps/app_mixmonitor.c:
+         Several components: fixing Typos in comments and code,
+         "avaliable" instead of "available" (issue ASTERISK-23021) (closes
+         issue ASTERISK-23021) Reported by: Jeremy Lainé Tested by: Rusty
+         Newton Patches: available.patch uploaded by Jeremy Lainé (license
+         6561) ........ Merged revisions 404046 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-17 23:25 +0000 [r404043]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_bridgewait.c, res/ari/ari_model_validators.c,
+         doc/appdocsxml.xslt, main/stasis_bridges.c,
+         rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
+         apps/app_agent_pool.c, res/parking/parking_bridge.c,
+         res/ari/ari_model_validators.h, main/manager_bridges.c,
+         res/ari/resource_bridges.h, include/asterisk/bridge_internal.h,
+         apps/app_confbridge.c, res/res_stasis.c,
+         include/asterisk/bridge.h, res/res_ari_bridges.c, /,
+         main/bridge.c, main/bridge_basic.c,
+         include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h:
+         bridging: Give bridges a name and a known creator Bridges have
+         two new optional properties, a creator and a name. Certain
+         consumers of bridges will automatically provide bridges that they
+         create with these properties. Examples include app_bridgewait,
+         res_parking, app_confbridge, and app_agent_pool. In addition, a
+         name may now be provided as an argument to the POST function for
+         creating new bridges via ARI. (closes issue AFS-47) Review:
+         https://reviewboard.asterisk.org/r/3070/ ........ Merged
+         revisions 404042 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-17 18:35 +0000 [r404028-404030]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_sorcery_config.c, /: res_sorcery_config: Output an error
+         message when an object can't be created. If object creation fails
+         an error message will now be output with the id, type, and
+         configuration file. ........ Merged revisions 404029 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/framehook.c: framehooks: Re-iterate if framehook provides
+         different frame. Framehooks can be used in a reactive manner to
+         execute specific logic when a frame is received with a certain
+         type and payload. Since it is possible for framehooks to provide
+         frames it was possible for this reactive framehook to be unaware
+         of frames it is looking for. This change makes it so that when
+         framehooks return a modified frame the code will now re-iterate
+         (from the beginning) and call any previous framehooks that have
+         not provided a modified frame themselves. Review:
+         https://reviewboard.asterisk.org/r/3046/ ........ Merged
+         revisions 404027 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-17 14:41 +0000 [r404008-404009]  David M. Lee <dlee@digium.com>
+
+       * /, configs/asterisk.conf.sample, main/asterisk.c: Changed the
+         default for live_dangerously to no ........ Merged revisions
+         404006 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/pjsip, /: Setting svn:ignore ........ Merged revisions
+         403748 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-17 12:59 +0000 [r403994]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/ari/resource_channels.c: ari/resource_channels: When
+         creating a channel, specify a default format (SLIN) When creating
+         channels via ARI, the current code fails to provide any default
+         format capabilities. For non-virtual channels this isn't really a
+         problem - the channels typically receive their capabilities as a
+         result of the underlying channel driver configuration. For
+         virtual channels (such as Local channels), the lack of any format
+         capabilities causes the Asterisk core to make some 'odd' choices
+         with respect to the translation paths. The issue reporter had
+         some paths that had 3 hops on each channel leg, causing multiple
+         transcodings and some really crappy audio/performance. By
+         specifying a baseline of SLIN, we prevent that from occurring.
+         Note that this is what AMI does when it performs an Originate, as
+         does res_clioriginate. Review:
+         https://reviewboard.asterisk.org/r/3068/ (issue ASTERISK-22962)
+         Reported by: Matt DiMeo ........ Merged revisions 403993 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-16 19:11 +0000 [r403960]  David M. Lee <dlee@digium.com>
+
+       * include/asterisk/pbx.h, main/asterisk.c, funcs/func_realtime.c,
+         main/pbx.c, main/tcptls.c, funcs/func_db.c, /,
+         README-SERIOUSLY.bestpractices.txt, configs/asterisk.conf.sample,
+         funcs/func_shell.c, funcs/func_env.c, funcs/func_lock.c,
+         UPGRADE-12.txt: security: Inhibit execution of privilege
+         escalating functions This patch allows individual dialplan
+         functions to be marked as 'dangerous', to inhibit their execution
+         from external sources. A 'dangerous' function is one which
+         results in a privilege escalation. For example, if one were to
+         read the channel variable SHELL(rm -rf /) Bad Things(TM) could
+         happen; even if the external source has only read permissions.
+         Execution from external sources may be enabled by setting
+         'live_dangerously' to 'yes' in the [options] section of
+         asterisk.conf. Although doing so is not recommended. Also, the
+         ABI was changed to something more reasonable, since Asterisk 12
+         does not yet have a public release. (closes issue ASTERISK-22905)
+         Review: http://reviewboard.digium.internal/r/432/ ........ Merged
+         revisions 403913 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 403917 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 403959 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-16 18:31 +0000 [r403958]  Jonathan Rose <jrose@digium.com>
+
+       * /, main/bridge.c: transfers: Fix bug setting both BLINDTRANSFER
+         and ATTENDEDTRANSFER The ast_bridge_set_transfer_variables
+         function is supposed to wipe whichever variable isn't being set.
+         Instead it was setting both to the new value. Oops. (issue
+         AFS-24) ........ Merged revisions 403957 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-16 16:12 +0000 [r403857-403865]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/pbx.c, /: pbx.c: put copy of ast_exten.data on stack to
+         prevent memory corruption During dialplan execution in
+         pbx_extension_helper(), the contexts global read lock prevents
+         link list corruption, but was released with a pointer to the
+         ast_exten and data later used in variable substitution. Instead,
+         this patch removes pbx_substitute_variables() and locates a copy
+         of the ast_exten data on the stack before releasing the lock,
+         where ast_exten could get free'd by another thread performing a
+         module reload. (issue AST-1179) Reported by: Thomas Arimont
+         (issue AST-1246) Reported by: Alexander Hömig Review:
+         https://reviewboard.asterisk.org/r/3055/ ........ Merged
+         revisions 403862 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 403863 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 403864 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_sms.c: app_sms: BufferOverflow when receiving odd
+         length 16 bit message This patch prevents an infinite loop
+         overwriting memory when a message is received into the
+         unpacksms16() function, where the length of the message is an odd
+         number of bytes. (closes issue ASTERISK-22590) Reported by: Jan
+         Juergens Tested by: Jan Juergens ........ Merged revisions 403856
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-15 01:39 +0000 [r403824]  Matthew Jordan <mjordan@digium.com>
+
+       * channels/pjsip/dialplan_functions.c, /: pjsip/dialplan_functions:
+         Use the right buffer length when printing URIs While
+         entertaining, sizeof(buflen) is not the same as buflen. Doh.
+         ........ Merged revisions 403823 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-14 17:28 +0000 [r403810-403812]  Joshua Colp <jcolp@digium.com>
+
+       * include/asterisk/res_pjsip.h, /, res/res_pjsip/location.c,
+         res/res_pjsip/pjsip_options.c, res/res_pjsip.c: res_pjsip: Apply
+         outbound proxy to all SIP requests. Objects which are involved in
+         SIP request creation and sending now allow an outbound proxy to
+         be specified. For cases where an endpoint is used the outbound
+         proxy specified there will be applied. (closes issue
+         ASTERISK-22673) Reported by: Antti Yrjola Review:
+         https://reviewboard.asterisk.org/r/3022/ ........ Merged
+         revisions 403811 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis_channels.c, apps/app_queue.c,
+         res/ari/ari_model_validators.c, apps/app_dial.c,
+         res/ari/ari_model_validators.h, main/dial.c,
+         include/asterisk/stasis_channels.h,
+         rest-api/api-docs/events.json, /, res/stasis/app.c: res_stasis:
+         Expose event for call forwarding and follow forwarded channel.
+         This change adds an event for when an originated call is
+         redirected to another target. This event contains the original
+         channel and the newly created channel. If a stasis subscription
+         exists on the original originated channel for a stasis
+         application then a new subscription will also be created on the
+         stasis application to the redirected channel. This allows the
+         application to follow the call path completely. (closes issue
+         ASTERISK-22719) Reported by: Joshua Colp Review:
+         https://reviewboard.asterisk.org/r/3054/ ........ Merged
+         revisions 403808 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-13 21:35 +0000 [r403797]  Jonathan Rose <jrose@digium.com>
+
+       * /, res/res_pjsip_messaging.c, main/message.c: documentation: Add
+         PJSIP technology to messaging documentation ........ Merged
+         revisions 403796 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-13 20:17 +0000 [r403784]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/test.c: test.c: Fix too sticky unit test failed status.
+         Rerunning a failed unit test after loading any required modules
+         should allow the test to report a pass status if it now passes.
+         ........ Merged revisions 403782 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-13 20:13 +0000 [r403783]  Jonathan Rose <jrose@digium.com>
+
+       * /, main/bridge.c, main/bridge_basic.c, include/asterisk/bridge.h,
+         res/parking/parking_bridge_features.c,
+         res/parking/parking_manager.c: Transfers: Make Asterisk set
+         ATTENDEDTRANSFER/BLINDTRANSFER more reliably There were still a
+         few cases in which ATTENDEDTRANSFER and BLINDTRANSFER wouldn't be
+         set on channels involved with blind and attended transfers. This
+         would happen with features that were initialized by channel
+         driver specific mechanisms in multiparty calls. This patch
+         resolves those cases while attempted to keep the behavior for
+         setting those variables as consistent as possible. (closes issue
+         AFS-24) Review: https://reviewboard.asterisk.org/r/3040/ ........
+         Merged revisions 403781 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-13 18:33 +0000 [r403750-403768]  Kevin Harwell <kharwell@digium.com>
+
+       * main/channel.c, /, channels/chan_sip.c,
+         include/asterisk/channel.h, bridges/bridge_native_rtp.c,
+         channels/chan_pjsip.c: bridge_native_rtp: Deadlock during 4-way
+         conference creation The change contains a slightly adjusted patch
+         that was on the issue (submitted by kmoore). A fix was made by
+         adding in a bridge lock while calling bridge_start/stop from the
+         framehook callback. Since the framehook callback is not called
+         from the bridging core the bridge is not locked, but needs to be
+         before calling bridge_start. (closes issue ASTERISK-22749)
+         Reported by: Kinsey Moore Review:
+         https://reviewboard.asterisk.org/r/3066/ Patches:
+         lock_inversion.diff uploaded by kmoore (license 6273) ........
+         Merged revisions 403767 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
+         res/res_ari_channels.c, res/ari/resource_channels.h, /,
+         main/http.c: ARI: Allow specifying channel variables during a
+         POST /channels Added the ability to specify channel variables
+         when creating/originating a channel in ARI. The variables are
+         sent in the body of the request and should be formatted as a
+         single level JSON object. No nested objects allowed. For example:
+         {"variable1": "foo", "variable2": "bar"}. (closes issue
+         ASTERISK-22872) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3052/ ........ Merged
+         revisions 403752 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis_answer.c, rest-api/api-docs/bridges.json,
+         res/ari/resource_bridges.c, res/res_ari_bridges.c,
+         res/stasis/command.c, res/res_stasis_playback.c, /,
+         res/stasis/control.c, res/stasis/command.h,
+         include/asterisk/stasis_app.h,
+         include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c:
+         ARI: Adding a channel to a bridge while a live recording is
+         active blocks Added the ability to have rules that are checked
+         when adding and/or removing channels to/from a bridge. In this
+         case, if a channel is currently recording and someone attempts to
+         add it to a bridge an "is recording" rule is checked, fails, and
+         a 409 conflict is returned. Also command functions now return an
+         integer value that can be descriptive of what kind of problems,
+         if any, occurred before or during execution. (closes issue
+         ASTERISK-22624) Reported by: Joshua Colp Review:
+         https://reviewboard.asterisk.org/r/2947/ ........ Merged
+         revisions 403749 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-13 05:00 +0000 [r403737]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/Makefile: channels/Makefile: clean pjsip directory
+         ........ Merged revisions 403736 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-13 00:40 +0000 [r403726]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/app.h, tests/test_voicemail_api.c, main/app.c:
+         test_voicemail_api: Add check for a registered voicemail provider
+         before tests. It is much nicer diagnosing a test failure if
+         app_voicemail is actually loaded.
+
+2013-12-12 19:46 +0000 [r403714]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py
+         (added), /: realtime: Create extensions in alembic ast-db-manage
+         contribution When the alembic scripts were written for creating
+         Asterisk realtime databases the extensions table for dialplan
+         wasn't included. This update creates the extensions table.
+         (closes issue ASTERISK-22815) Reported by: Zone Conkle Review:
+         https://reviewboard.asterisk.org/r/3064/ ........ Merged
+         revisions 403713 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-12 19:18 +0000 [r403707]  Jonathan Rose <jrose@digium.com>
+
+       * /, channels/chan_pjsip.c: chan_pjsip: Revert r403587 This patch
+         was intended to eliminate a deadlock that occurs when masquerades
+         occur in pjsip channels, but has some potential side effects.
+         Mark Michelson is currently working on addressing this problem
+         from another angle. (issue ASTERISK-22936) Reported by: Jonathan
+         Rose ........ Merged revisions 403705 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-11 20:24 +0000 [r403687]  Kevin Harwell <kharwell@digium.com>
+
+       * include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c, /,
+         configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip_messaging.c,
+         res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c:
+         res_pjsip_messaging: send message to a default outbound endpoint
+         In some cases messages need to be sent to a direct URI (sip:<ip
+         address>). This patch adds in that support by using a default
+         outbound endpoint. When sending messages, if no endpoint can be
+         found then the default one is used. To facilitate this a new
+         default_outbound_endpoint option was added to the globals section
+         for pjsip.conf. Review: https://reviewboard.asterisk.org/r/2944/
+         ........ Merged revisions 403680 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-11 19:22 +0000 [r403652]  Russell Bryant <russell@russellbryant.com>
+
+       * /, channels/chan_sip.c: Reset peer outboundproxy on sip.conf
+         reload If you set a peer's outboundproxy and then removed it from
+         the config, this would not get picked up in a config reload. This
+         patch fixes that by resetting it in set_peer_defaults(). Closes
+         ASTERISK-19454 Review: https://reviewboard.asterisk.org/r/3065/
+         ........ Merged revisions 403634 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 403635 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 403639 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-11 19:19 +0000 [r403643]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_voicemail.c, include/asterisk/app.h,
+         include/asterisk/doxyref.h, main/app.c: app_voicemail: Voicemail
+         callback registration/unregistration function improvements. * The
+         voicemail registration/unregistration functions now take a struct
+         of callbacks instead of a lengthy parameter list of callbacks. *
+         The voicemail registration/unregistration functions now prevent a
+         competing module from interfering with an already registered
+         callback supplying module.
+
+2013-12-11 13:06 +0000 [r403617-403619]  Matthew Jordan <mjordan@digium.com>
+
+       * channels/pjsip/dialplan_functions.c,
+         include/asterisk/res_pjsip_session.h, channels/pjsip (added), /,
+         funcs/func_channel.c, channels/pjsip/include,
+         channels/pjsip/include/dialplan_functions.h, res/res_pjsip_t38.c,
+         channels/pjsip/include/chan_pjsip.h, channels/Makefile,
+         channels/chan_pjsip.c, main/xmldoc.c: func_channel, chan_pjsip:
+         Add CHANNEL read function support for chan_pjsip This patch adds
+         CHANNEL read support for chan_pjsip. This allows the dialplan to
+         use the CHANNEL function on a chan_pjsip channel to obtain
+         run-time information about the channel from the PJSIP channel
+         driver and the PJSIP stack. This includes: * RTP information,
+         including source/destination media addresses, whether or not the
+         media is secure, held, and other properties. * RTCP information.
+         This includes sets of parseable information, as well as
+         individual statistic attriutes. * PJSIP information. This
+         includes URIs, local/remote signalling addresses, whether or not
+         the signalling is secure, and other properties. * The endpoint
+         name. This can be used in conjunction with the PJSIP_ENDPOINT
+         function to obtain more detailed endpoint information. Review:
+         https://reviewboard.asterisk.org/r/3038/ ........ Merged
+         revisions 403618 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * Makefile, funcs/func_pjsip_endpoint.c (added), doc/snapshots.xslt
+         (removed), /, doc/appdocsxml.xslt (added), doc/appdocsxml.dtd,
+         main/sorcery.c: func_pjsip_endpoint: Add PJSIP_ENDPOINT function
+         for querying endpoint details This patch adds a new function,
+         PJSIP_ENDPOINT, which lets the dialplan query, for any endpoint,
+         any property configured on an endpoint. This function is a
+         companion to the CHANNEL function, which can be used to extract
+         the endpoint name for a channel. Review:
+         https://reviewboard.asterisk.org/r/3035 ........ Merged revisions
+         403616 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-10 15:15 +0000 [r403605]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_authenticator_digest.c: Fix correct authentication
+         behavior for artificial endpoint. When switching to using a
+         vector for authentication, I initialized the vector for the
+         artificial endpoint to be of size 1. However, this does not
+         result in AST_VECTOR_SIZE() returning 1 since there isn't
+         actually anything in the vector. Rather than trifle with the
+         vector by putting unnecessary elements in, I simply changed the
+         callback in res_pjsip_authenticator_digest.c to explicitly report
+         that the artificial endpoint requires authentication. Thanks to
+         Joshua Colp for pointing this out.
+
+2013-12-09 22:59 +0000 [r403576-403588]  Jonathan Rose <jrose@digium.com>
+
+       * /, channels/chan_pjsip.c: chan_pjsip: Fix a sticking channel lock
+         caused by channel masquerades (closes issue ASTERISK-22936)
+         Reported by: Jonathan Rose Review:
+         https://reviewboard.asterisk.org/r/3042/ ........ Merged
+         revisions 403587 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * CHANGES, main/dial.c, apps/app_page.c, include/asterisk/dial.h:
+         app_page: Add predial handlers for app_page. (closes issue
+         AFS-14) Review: https://reviewboard.asterisk.org/r/3045/
+
+2013-12-09 19:24 +0000 [r403544-403560]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_sorcery_astdb.c: Reverting regex part of -r403545 at
+         request of file. res_sorcery_astdb.c: Fix get multiple records by
+         regex. * Fix sorcery_astdb_retrieve_regex() pattern matching. Let
+         the regexec() function match the stored key values instead of
+         having astdb prefilter them. Previoiusly you could only use a
+         simple regex pattern when the pattern began with '^'. ........
+         Merged revisions 403559 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix get multiple
+         records by regex. * Fix sorcery_astdb_retrieve_regex() pattern
+         matching. Let the regexec() function match the stored key values
+         instead of having astdb prefilter them. Previoiusly you could
+         only use a simple regex pattern when the pattern began with '^'.
+         * Fix off nominal memory leak in sorcery_astdb_retrieve_regex().
+         ........ Merged revisions 403545 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/sorcery.c, /: sorcery: Eliminate shadowing a varaible that
+         caused confusion. * Eliminated shadowing of the
+         __ast_sorcery_apply_config() name parameter causing confusion. *
+         Fix potential crash from sorcery.conf user input in
+         __ast_sorcery_apply_config() if the user supplied a malformed
+         config line that is missing the sorcery object type name. *
+         Remove redundant test in __ast_sorcery_apply_config(). !config
+         and config == CONFIGS_STATUS_FILEMISSING are identical. ........
+         Merged revisions 403541 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-09 18:32 +0000 [r403543]  Joshua Colp <jcolp@digium.com>
+
+       * /, main/endpoints.c: endpoints: Keep a reference to channel ids
+         when creating snapshot. The snapshot process for endpoints uses
+         the channel ids present on the endpoint itself. Without keeping a
+         reference it was possible for the strings to be freed underneath
+         any consumer of an endpoint snapshot. A reference is now held by
+         the snapshot to the channel ids and released when the snapshot is
+         destroyed. (issue ASTERISK-22801) Reported by: Matt Jordan
+         ........ Merged revisions 403542 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-09 18:14 +0000 [r403528]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/sorcery.c, /: sorcery: Whitespace You would think that a new
+         file would start off without any whitespace oddities. ........
+         Merged revisions 403527 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-09 17:29 +0000 [r403512-403526]  Mark Michelson <mmichelson@digium.com>
+
+       * apps/app_confbridge.c, CHANGES,
+         apps/confbridge/conf_state_multi_marked.c: Add a
+         CONFBRIDGE_RESULT channel variable to discern why a channel left
+         a ConfBridge. Review: https://reviewboard.asterisk.org/r/3009
+
+       * CHANGES, apps/app_mixmonitor.c: Create function for retrieving
+         Mixmonitor instance data. For the time, this is only useful for
+         retrieving the filename. The purpose of this function is to
+         better facilitate multiple mixmonitors per channel. Setting a
+         MIXMONITOR_FILENAME channel variable is not conducive to such
+         behavior, so allowing finer grained access to individual
+         mixmonitor properties improves the situation. The
+         MIXMONITOR_FILENAME channel variable is still set, though, so
+         there is no worry about backwards compatibility. Review:
+         https://reviewboard.asterisk.org/r/3023
+
+2013-12-09 16:41 +0000 [r403511]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_nat.c, /: res_pjsip_nat: Add NAT module to session
+         dialogs. Due to the way pjproject internally works it was
+         possible for the NAT module to not be invoked on messages with-in
+         a session dialog. This means that the various parts of the
+         message would not get rewritten with the source IP address and
+         port. This change uses a session supplement to add the NAT module
+         to the dialog on the first incoming or outgoing INVITE. (closes
+         issue ASTERISK-22941) Reported by: Leif Madsen ........ Merged
+         revisions 403510 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-09 16:10 +0000 [r403499]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip/config_auth.c,
+         res/res_pjsip_outbound_authenticator_digest.c,
+         res/res_pjsip_authenticator_digest.c,
+         res/res_pjsip_outbound_registration.c,
+         res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip/pjsip_distributor.c, res/res_pjsip.c,
+         include/asterisk/res_pjsip.h: Switch PJSIP auth to use a vector.
+         Since Asterisk has a vector API now, places where arrays are
+         manually resized don't really make sense any more. Since the auth
+         work in PJSIP was freshly-written, it was easy to reform it to
+         use a vector. Review: https://reviewboard.asterisk.org/r/3044
+
+2013-12-09 03:21 +0000 [r403436-403466]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_fax_spandsp.c: res_fax_spandsp: Always init T.38
+         session to avoid crashes during state change Prior to this patch,
+         res_fax_spandsp was conservative with how it initialized the
+         spandsp T.38 context. It would only initialize it if the driver
+         thought the current state was a T.38 fax. While this works fine
+         in nominal situations, in certain off nominal situations,
+         res_fax_spandsp can believe that a T.38 fax will not occur when
+         in fact one has started. In particular, this was discovered when
+         res_fax would fall back to audio after timing out on a T.38
+         upgrade. The SIP channel driver would continue to retry the
+         re-INVITE and - if the remote end responded after res_fax timed
+         out with a 200 OK - a T.38 frame would be delivered to the
+         res_fax stack when it no longer expected it. As it turns out,
+         there does not appear to be any downside to always initializing
+         the T.38 context, other than the actual memory allocation. Since
+         that avoids this off nominal situation (and others which are
+         equally likely hard to predict), this is the safest way to avoid
+         this problem. Much thanks to Torrey as well for providing a
+         scenario that reproduces this issue. (closes issue
+         ASTERISK-21242) Reported by: Ashley Winters Tested by: Torrey
+         Searle patches: always-init-t38.patch uploaded by awinters
+         (License 6477) A_PARTY.xml uploaded by tsearle (License 5334)
+         ........ Merged revisions 403449 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 403450 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 403458 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_config_sqlite.c: res_config_sqlite: Check for CDR
+         unregistration failures If the CDR unregistration fails due to an
+         inflight CDR, the res_config_sqlite module needs to bail on
+         unloading itself. Otherwise, the config could be unloaded
+         (including the CDR table name) while the CDR engine posts a CDR
+         to the still registered backend, resulting in a crash. ........
+         Merged revisions 403435 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-05 23:40 +0000 [r403414]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_record.c: app_record: Add an option that allows DTMF '0'
+         to act as an additional terminator Using this terminator when
+         active results in ${RECORD_STATUS} being set to 'OPERATOR'
+         instead of 'DTMF' (closes issue AFS-7) Review:
+         https://reviewboard.asterisk.org/r/3041/
+
+2013-12-05 22:10 +0000 [r403402-403404]  David M. Lee <dlee@digium.com>
+
+       * addons/chan_mobile.c, main/bridge_channel.c, tests/test_cdr.c,
+         channels/chan_pjsip.c, res/parking/parking_manager.c,
+         channels/chan_mgcp.c, channels/chan_unistim.c, main/pbx.c, /,
+         apps/app_meetme.c, funcs/func_timeout.c, main/bridge.c,
+         tests/test_stasis_channels.c, main/core_unreal.c,
+         include/asterisk/channel.h, channels/chan_gtalk.c, main/cel.c,
+         apps/app_queue.c, channels/sig_pri.c, main/stasis_bridges.c,
+         channels/chan_jingle.c, channels/chan_phone.c,
+         channels/chan_dahdi.c, main/dial.c, channels/sig_analog.c,
+         include/asterisk/stasis_channels.h, res/res_agi.c,
+         channels/chan_motif.c, channels/chan_h323.c, tests/test_cel.c,
+         apps/app_confbridge.c, res/res_stasis.c, res/res_pjsip_refer.c,
+         apps/app_voicemail.c, apps/app_dial.c, channels/chan_vpb.cc,
+         addons/chan_ooh323.c, channels/chan_sip.c, main/pickup.c,
+         include/asterisk/aoc.h, include/asterisk/stasis_bridges.h,
+         apps/app_userevent.c, apps/app_disa.c, main/core_local.c,
+         include/asterisk/channelstate.h, channels/chan_console.c,
+         channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
+         res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
+         main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
+         pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
+         channels/chan_nbs.c: Reverting r403311. It's causing ARI tests to
+         hang. ........ Merged revisions 403398 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/stasis/control.c: ari: Fix deadlock problem with functions
+         that use autoservice. The code for getting channel variables from
+         ARI assumed that you needed to lock the channel in order to
+         properly execute functions and read channel variables.
+         Apparently, this is not the case, since any dialplan function
+         that puts the channel into autoservice deadlocks when attempting
+         to remove the channel from autoservice. ........ Merged revisions
+         403342 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /: Multiple revisions 403304,403310 ........ r403304 | dlee |
+         2013-12-02 12:34:50 -0600 (Mon, 02 Dec 2013) | 1 line Fixed the
+         filename for the ari.conf docs ........ r403310 | file |
+         2013-12-03 10:32:12 -0600 (Tue, 03 Dec 2013) | 5 lines Revert
+         revision 403304: Fixed the filename for the ari.conf docs The
+         changed value refers to the name of the module. The name of the
+         configuration file is specified in the configFile section.
+         ........ Merged revisions 403304,403310 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-04 21:42 +0000 [r403378]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_pjsip_registrar.c: res_pjsip_registrar: undefined
+         function pointer symbol Used a static wrapper around the
+         offending function to alleviate the issue. Reported by: rmudgett
+         ........ Merged revisions 403377 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-04 20:54 +0000 [r403365]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_t38.c, /: res_pjsip_t38: Don't pass T.38 control
+         frames through to other hooks. This crept up during gateway
+         testing where the gateway would receive the request to negotiate
+         and assume it came from the remote side, causing the gateway
+         state machine to go a little, to a use a technical term, "wonky".
+         ........ Merged revisions 403364 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-04 18:41 +0000 [r403350]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip.c: Initialize the hash value argument to
+         pj_hash_get() to 0. Passing a non-zero value causes PJLIB to use
+         the given input as the hash value. Passing zero causes the
+         parameter to become an output parameter that receives the hash
+         value that was computed based on the given key. This change
+         essentially makes ast_sip_dict_get() properly retrieve the
+         desired value. ........ Merged revisions 403349 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-03 18:01 +0000 [r403330]  Joshua Colp <jcolp@digium.com>
+
+       * /, configure, include/asterisk/autoconfig.h.in, configure.ac,
+         res/res_pjsip_session.c: res_pjsip_session: Add support for
+         PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag. Newer versions of PJSIP
+         have changed to using a flag for the
+         PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE instead of a define. This adds
+         a configure check to detect the presence of the flag and use it
+         if found. ........ Merged revisions 403329 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-03 17:35 +0000 [r403327]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip_registrar_expire.c, res/res_pjsip/pjsip_options.c,
+         tests/test_sorcery.c, include/asterisk/bucket.h, main/sorcery.c,
+         /, main/bucket.c: sorcery, bucket: Change observer remove calls
+         to take const callbacks struct. * Make
+         ast_sorcery_observer_remove() accept a const callbacks struct. *
+         Make ast_sorcery_observer_remove() tolerant of the sorcery
+         parameter being NULL. Now it can be called within a module unload
+         routine if the sorcery initialization fails. * Fix
+         ast_sorcery_observer_add() to fail if the container link fails.
+         ........ Merged revisions 403324 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-03 17:07 +0000 [r403314]  Mark Michelson <mmichelson@digium.com>
+
+       * channels/chan_nbs.c, main/bridge_channel.c, res/res_stasis.c,
+         channels/chan_pjsip.c, res/parking/parking_manager.c,
+         apps/app_voicemail.c, channels/chan_unistim.c,
+         channels/chan_vpb.cc, addons/chan_ooh323.c, /,
+         include/asterisk/aoc.h, apps/app_meetme.c, main/bridge.c,
+         apps/app_userevent.c, channels/chan_gtalk.c,
+         channels/chan_iax2.c, main/endpoints.c, main/stasis_bridges.c,
+         main/channel.c, channels/chan_phone.c, channels/chan_dahdi.c,
+         main/dial.c, channels/sig_analog.c, channels/chan_skinny.c,
+         res/res_agi.c, channels/chan_motif.c, pbx/pbx_realtime.c,
+         channels/chan_alsa.c, main/stasis_channels.c,
+         apps/app_confbridge.c, addons/chan_mobile.c, tests/test_cdr.c,
+         res/res_pjsip_refer.c, channels/chan_mgcp.c, apps/app_dial.c,
+         main/pbx.c, channels/chan_sip.c, main/pickup.c,
+         funcs/func_timeout.c, tests/test_stasis_channels.c,
+         main/core_unreal.c, include/asterisk/stasis_bridges.h,
+         apps/app_disa.c, include/asterisk/channel.h, main/core_local.c,
+         include/asterisk/channelstate.h, channels/chan_console.c,
+         main/cel.c, apps/app_queue.c, channels/sig_pri.c,
+         channels/chan_oss.c, res/parking/parking_bridge_features.c,
+         apps/app_agent_pool.c, channels/chan_jingle.c,
+         channels/chan_misdn.c, include/asterisk/stasis_channels.h,
+         channels/chan_h323.c, tests/test_cel.c: Add channel locking for
+         channel snapshot creation. This adds channel locks around calls
+         to create channel snapshots as well as other functions which
+         operate on a channel and then end up creating a channel snapshot.
+         Functions that expect the channel to be locked prior to being
+         called have had their documentation updated to indicate such.
+         ........ Merged revisions 403311 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-03 16:39 +0000 [r403313]  Joshua Colp <jcolp@digium.com>
+
+       * main/media_index.c, /: media_index: Make media indexing tolerable
+         of bad symlinks. Media indexing will now skip over files and
+         directories that stat will not return information about. This can
+         occur under normal conditions when a symbolic link points to a
+         location that no longer exists. ........ Merged revisions 403312
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-02 18:12 +0000 [r403292]  Alexandr Anikin <may@telecom-service.ru>
+
+       * addons/chan_ooh323.c, /: Check and reject non-digits e164 values
+         on peers and general sections in ooh323.conf Regenerate e164
+         endpoint list on reload ooh323 (issue ASTERISK-22901) Reported
+         by: Cyril CONSTANTIN Patches: ASTERISK-22901.patch ........
+         Merged revisions 403288 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 403290 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-12-01 21:13 +0000 [r403257-403272]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_session.c: res_pjsip_session: Apply fromuser and
+         fromdomain to all requests as documented. ........ Merged
+         revisions 403271 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_t38.c, /: res_pjsip_t38: Add the framehook to the
+         channel only on first INVITE. The check for determining whether
+         the T.38 framehook should be added to the channel or not has now
+         been changed to guarantee adding only occurs on the first
+         incoming or outgoing INVITE. ........ Merged revisions 403258
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip/security_events.c, res/res_pjsip/pjsip_options.c,
+         res/res_pjsip.c, res/res_pjsip_transport_websocket.c,
+         include/asterisk/res_pjsip.h, /, res/res_pjsip/location.c:
+         res_pjsip_transport_websocket: Fix security events and simplify
+         implementation. Transport type determination for security events
+         has been simplified to use the type present on the message itself
+         instead of searching through configured transports to find the
+         transport used. The actual WebSocket transport has also been
+         simplified. It now leverages the existing PJSIP transport manager
+         for finding the active WebSocket transport for outgoing messages.
+         This removes the need for res_pjsip_transport_websocket to store
+         a mapping itself. (closes issue ASTERISK-22897) Reported by: Max
+         E. Reyes Vera J. Review: https://reviewboard.asterisk.org/r/3036/
+         ........ Merged revisions 403256 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-30 14:12 +0000 [r403241]  Joshua Colp <jcolp@digium.com>
+
+       * res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
+         res/ari/ari_model_validators.c: res_ari: Add Recording events to
+         the validator. ........ Merged revisions 403240 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-28 02:12 +0000 [r403208-403224]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Don't produce an
+         invalid media stream with no formats. Depending on configuration
+         it was possible for a media stream to be created without any
+         media formats. The produced SDP would fail internal validation
+         and cause a crash. The code will now no longer add media streams
+         with no formats to the SDP, allowing it to pass validation and
+         work. (closes issue ASTERISK-22858) Reported by: Anthony Messina
+         ........ Merged revisions 403223 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_header_funcs.c, /: res_pjsip_header_funcs: Don't
+         add headers to re-INVITEs. When sending a re-INVITE to an
+         endpoint it was possible for received headers to be added as well
+         (since they are stored for retrieval using the PJSIP_HEADER
+         dialplan function). This caused a broken (and potentially large)
+         SIP INVITE to be produced and sent. This changes the module so it
+         will no longer add headers to re-INVITEs. (closes issue
+         ASTERISK-22882) Reported by: David M. Lee ........ Merged
+         revisions 403221 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis_playback.c, /: res_stasis_playback: Add 'number',
+         'digits', and 'characters' URI scheme implementations. This
+         change adds new URI scheme implementations for playing numbers,
+         digits, and characters. This is done as part of the normal
+         playback mechanism and can be used with queueing to create a
+         combined sentence. Review:
+         https://reviewboard.asterisk.org/r/3028/ ........ Merged
+         revisions 403209 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c,
+         res/res_pjsip_session.c, include/asterisk/res_pjsip.h:
+         res_pjsip_session: Add configurable behavior for redirects. The
+         action taken when a redirect occurs is now configurable on a
+         per-endpoint basis. The redirect can either be treated as a
+         redirect to a local extension, to a URI that is dialed through
+         the Asterisk core, or to a URI that is dialed within PJSIP
+         itself. (closes issue ASTERISK-21710) Reported by: Matt Jordan
+         Review: https://reviewboard.asterisk.org/r/2963/ ........ Merged
+         revisions 403207 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-27 17:32 +0000 [r403192]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/astdb.h: astdb: Tweak some doxygen comments.
+
+2013-11-27 16:12 +0000 [r403180]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix crash when
+         reloading certain configurations. Certain options available that
+         specify a SIP URI perform validation on the provided URI using
+         the PJSIP URI parser. This operation requires that the thread
+         executing it be registered with the PJLIB library. During reloads
+         this was done on a thread which was NOT registered with it. This
+         fixes the problem by creating a task which reloads the
+         configuration on a PJSIP thread. (closes issue ASTERISK-22923)
+         Reported by: Anthony Messina ........ Merged revisions 403179
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-27 15:48 +0000 [r403177]  David M. Lee <dlee@digium.com>
+
+       * res/res_ari_channels.c, include/asterisk/ari.h,
+         rest-api-templates/param_parsing.mustache,
+         include/asterisk/http.h, res/res_ari_recordings.c,
+         res/res_ari_endpoints.c, main/http.c,
+         rest-api-templates/swagger_model.py, res/res_ari_playbacks.c,
+         res/res_ari_sounds.c, rest-api-templates/asterisk_processor.py,
+         res/res_ari_bridges.c, tests/test_ari.c, res/res_ari.c, /,
+         res/res_ari_device_states.c, res/res_ari_asterisk.c,
+         rest-api-templates/res_ari_resource.c.mustache,
+         res/res_ari_applications.c: ari:Add application/json parameter
+         support The patch allows ARI to parse request parameters from an
+         incoming JSON request body, instead of requiring the request to
+         come in as query parameters (which is just weird for POST and
+         DELETE) or form parameters (which is okay, but a bit asymmetric
+         given that all of our responses are JSON). For any operation that
+         does _not_ have a parameter defined of type body (i.e.
+         "paramType": "body" in the API declaration), if a request
+         provides a request body with a Content type of
+         "application/json", the provided JSON document is parsed and
+         searched for parameters. The expected fields in the provided JSON
+         document should match the query parameters defined for the
+         operation. If the parameter has 'allowMultiple' set, then the
+         field in the JSON document may optionally be an array of values.
+         (closes issue ASTERISK-22685) Review:
+         https://reviewboard.asterisk.org/r/2994/
+
+2013-11-27 15:31 +0000 [r403161-403174]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Update
+         handling of some options to work with new option names. Some
+         options (such as call_group and pickup_group) share the same
+         configuration handler and decide what logic to use based on the
+         name of the option. These handlers were not updated to check for
+         the new option names and were treating the options as invalid.
+         This change simply updates the handlers with the proper names of
+         the options. (closes issue ASTERISK-22922) Reported by: Anthony
+         Messina ........ Merged revisions 403173 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, configure, include/asterisk/autoconfig.h.in, configure.ac: Fix
+         a configure issue with PJSIP transaction group lock detection.
+         The configure check did not use the provided paths for pjproject
+         if provided when looking for transaction group lock support.
+         ........ Merged revisions 403160 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-23 17:48 +0000 [r403133-403135]  Kevin Harwell <kharwell@digium.com>
+
+       * res/ari.make, rest-api/api-docs/applications.json,
+         res/ari/resource_device_states.h (added),
+         include/asterisk/stasis_app_device_state.h (added),
+         res/ari/resource_applications.h, res/res_stasis.c,
+         include/asterisk/devicestate.h, rest-api/api-docs/events.json,
+         res/res_stasis_device_state.exports.in (added), res/stasis/app.c,
+         res/res_ari_device_states.c (added), /,
+         include/asterisk/stasis_app.h, main/devicestate.c,
+         res/stasis/app.h, rest-api/resources.json,
+         res/res_stasis_device_state.c (added),
+         res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
+         res/ari/resource_device_states.c (added),
+         rest-api/api-docs/deviceStates.json (added),
+         rest-api-templates/ari.make.mustache: ARI: Implement device state
+         API Created a data model and implemented functionality for an ARI
+         device state resource. The following operations have been added
+         that allow a user to manipulate an ARI controlled device:
+         Create/Change the state of an ARI controlled device PUT
+         /deviceStates/{deviceName}&{deviceState} Retrieve all ARI
+         controlled devices GET /deviceStates Retrieve the current state
+         of a device GET /deviceStates/{deviceName} Destroy a device-state
+         controlled by ARI DELETE /deviceStates/{deviceName} The ARI
+         controlled device must begin with 'Stasis:'. An example
+         controlled device name would be Stasis:Example. A
+         'DeviceStateChanged' event has also been added so that an
+         application can subscribe and receive device change events. Any
+         device state, ARI controlled or not, can be subscribed to. While
+         adding the event, the underlying subscription control mechanism
+         was refactored so that all current and future resource
+         subscriptions would be the same. Each event resource must now
+         register itself in order to be able to properly handle
+         [un]subscribes. (issue ASTERISK-22838) Reported by: Matt Jordan
+         Review: https://reviewboard.asterisk.org/r/3025/ ........ Merged
+         revisions 403134 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_registrar.c, main/sorcery.c,
+         include/asterisk/res_pjsip.h, include/asterisk/acl.h,
+         res/res_pjsip/config_auth.c, include/asterisk/utils.h,
+         res/res_pjsip.exports.in, /,
+         res/res_pjsip_endpoint_identifier_ip.c, main/acl.c, main/utils.c,
+         res/res_pjsip.c, res/res_pjsip_exten_state.c,
+         include/asterisk/res_pjsip_pubsub.h, res/res_pjsip/location.c,
+         res/res_pjsip_outbound_registration.c, res/res_pjsip_mwi.c,
+         res/res_pjsip/pjsip_configuration.c, include/asterisk/sorcery.h,
+         include/asterisk/strings.h,
+         res/res_pjsip/include/res_pjsip_private.h,
+         res/res_pjsip_pubsub.c, res/res_pjsip/config_transport.c:
+         res_pjsip: AMI commands and events. Created the following AMI
+         commands and corresponding events for res_pjsip:
+         PJSIPShowEndpoints - Provides a listing of all pjsip endpoints
+         and a few select attributes on each. Events: EndpointList - for
+         each endpoint a few attributes. EndpointlistComplete - after all
+         endpoints have been listed. PJSIPShowEndpoint - Provides a detail
+         list of attributes for a specified endpoint. Events:
+         EndpointDetail - attributes on an endpoint. AorDetail - raised
+         for each AOR on an endpoint. AuthDetail - raised for each
+         associated inbound and outbound auth TransportDetail - transport
+         attributes. IdentifyDetail - attributes for the identify object
+         associated with the endpoint. EndpointDetailComplete - last event
+         raised after all detail events. PJSIPShowRegistrationsInbound -
+         Provides a detail listing of all inbound registrations. Events:
+         InboundRegistrationDetail - inbound registration attributes for
+         each registration. InboundRegistrationDetailComplete - raised
+         after all detail records have been listed.
+         PJSIPShowRegistrationsOutbound - Provides a detail listing of all
+         outbound registrations. Events: OutboundRegistrationDetail -
+         outbound registration attributes for each registration.
+         OutboundRegistrationDetailComplete - raised after all detail
+         records have been listed. PJSIPShowSubscriptionsInbound - A
+         detail listing of all inbound subscriptions and their attributes.
+         Events: SubscriptionDetail - on each subscription detailed
+         attributes SubscriptionDetailComplete - raised after all detail
+         records have been listed. PJSIPShowSubscriptionsOutbound - A
+         detail listing of all outboundbound subscriptions and their
+         attributes. Events: SubscriptionDetail - on each subscription
+         detailed attributes SubscriptionDetailComplete - raised after all
+         detail records have been listed. (issue ASTERISK-22609) Reported
+         by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2959/
+         ........ Merged revisions 403131 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-23 12:52 +0000 [r403118-403120]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_stasis_playback.c, rest-api/api-docs/events.json, /,
+         res/res_stasis_recording.c, res/ari/ari_model_validators.c,
+         rest-api/api-docs/recordings.json,
+         res/ari/ari_model_validators.h: ari: Add events for playback and
+         recording. While there were events defined for playback and
+         recording these were not actually sent. This change implements
+         the to_json handlers which produces them. (closes issue
+         ASTERISK-22710) Reported by: Jonathan Rose Review:
+         https://reviewboard.asterisk.org/r/3026/ ........ Merged
+         revisions 403119 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis_snoop.exports.in (added), /,
+         include/asterisk/stasis_app_snoop.h (added),
+         rest-api/api-docs/channels.json, res/res_stasis_snoop.c (added),
+         main/audiohook.c, res/ari/resource_channels.c,
+         res/res_ari_channels.c, res/ari/resource_channels.h: ari: Add
+         Snoop operation for spying/whispering on channels. The Snoop
+         operation can be invoked on a channel to spy or whisper on it. It
+         returns a channel that any channel operations can then be invoked
+         on (such as record to do monitoring). (closes issue
+         ASTERISK-22780) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/3003/ ........ Merged
+         revisions 403117 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-23 00:22 +0000 [r403106]  Rusty Newton <rnewton@digium.com>
+
+       * apps/app_voicemail.c: app_voicemail: when forwarding a message,
+         play vm-msgforwarded instead of vm-msgsaved In the last release
+         of sounds, 1.4.25 we added a vm-msgforwarded prompt for various
+         core languages. Now we use that prompt. (issue ASTERISK-21413)
+         (closes issue ASTERISK-21413) Reported by: netwrkr Tested by:
+         newtonr
+
+2013-11-22 23:57 +0000 [r403095]  Kinsey Moore <kmoore@digium.com>
+
+       * tests/test_stasis.c, /, tests/test_stasis_channels.c: Make sure
+         unit tests compile This fixes the unit tests that were broken by
+         r403069 and several functions requiring a new parameter for
+         sanitization of JSON messages generated from object snapshots.
+         ........ Merged revisions 403094 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-22 22:37 +0000 [r403083]  Kevin Harwell <kharwell@digium.com>
+
+       * /,
+         contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
+         res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
+         configuration settings names to snake case some more Updated the
+         alembic script for pjsip. Also, the dtls config parsing stuff was
+         expecting strings with no underscores, so removed the underscores
+         from the option name before passing it to the parser. ........
+         Merged revisions 403082 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-22 20:10 +0000 [r403070]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_stasis.c, main/stasis_endpoints.c,
+         res/ari/resource_endpoints.c, main/rtp_engine.c, /,
+         res/stasis/app.c, include/asterisk/stasis_bridges.h,
+         include/asterisk/stasis.h, include/asterisk/stasis_app.h,
+         main/stasis_bridges.c, res/ari/resource_bridges.c, main/json.c,
+         main/stasis_message.c, include/asterisk/stasis_channels.h,
+         main/stasis_channels.c, res/ari/resource_channels.c,
+         include/asterisk/stasis_endpoints.h: ARI: Don't leak
+         implementation details This change prevents channels used as
+         implementation details from leaking out to ARI. It does this by
+         preventing creation of JSON blobs of channel snapshots created
+         from those channels and sanitizing JSON blobs of bridge snapshots
+         as they are created. This introduces a framework for excluding
+         information from output targeted at Stasis applications on a
+         consumer-by-consumer basis using channel sanitization callbacks
+         which could be extended to bridges or endpoints if necessary.
+         This prevents unhelpful error messages from being generated by
+         ast_json_pack. This also corrects a bug where BridgeCreated
+         events would not be created. (closes issue ASTERISK-22744)
+         Review: https://reviewboard.asterisk.org/r/2987/ Reported by:
+         David M. Lee ........ Merged revisions 403069 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-22 17:27 +0000 [r403051]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_acl.c, res/res_pjsip.c,
+         res/res_pjsip/config_transport.c, res/res_pjsip/config_global.c,
+         /, configs/pjsip.conf.sample, res/res_pjsip/config_system.c,
+         contrib/scripts/sip_to_pjsip/sip_to_pjsip.py,
+         res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
+         configuration settings names to snake case Renamed, where
+         appropriate, the configuration options for chan/res_pjsip to use
+         snake case (compound words separated by an underscore). For
+         example, faxdetect will become fax_detect, recordofffeature will
+         become record_off_feature, etc... Review:
+         https://reviewboard.asterisk.org/r/3002/ ........ Merged
+         revisions 403022 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-22 17:12 +0000 [r403017]  Joshua Colp <jcolp@digium.com>
+
+       * /, main/translate.c: translate: Move freeing of frame to after it
+         is used. When translating from one format to another it is
+         possible to inform the translation function that the source frame
+         should be freed. This was previously done immediately but shortly
+         afterwards the frame that was freed was accessed and used again.
+         This change moves code around a bit so that the frame is now
+         freed after it has been completely used. (closes issue
+         ASTERISK-22788) Reported by: Corey Farrell Patches:
+         translate-access-after-free-11up.patch uploaded by coreyfarrell
+         (license 5909) translate-access-after-free-1.8.patch uploaded by
+         coreyfarrell (license 5909) ........ Merged revisions 403014 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 403015 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 403016 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-22 16:43 +0000 [r403013]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_directed_pickup.c, CHANGES: PickupChan: Add ability to
+         specify channel uniqueids as well as channel names. * Made
+         PickupChan() search by channel uniqueids if the search could not
+         find a channel by name. * Ensured PickupChan() never considers
+         the picking channel for pickup. * Made PickupChan() option p use
+         a common search by name routine. The original search was
+         erroneously case sensitive. (issue AFS-42) Review:
+         https://reviewboard.asterisk.org/r/3017/
+
+2013-11-21 22:38 +0000 [r402995]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES, apps/app_directory.c: app_directory: Set variable
+         indicating reason directory exited By the time the directory
+         application exits, a channel variable DIRECTORY_RESULT will be
+         set for the channel that invoked it which can be used to
+         determine the reason for exit. The changes log and the
+         app_directory documentation contain specific details about each
+         of the possible values for DIRECTORY_RESULT. Review:
+         https://reviewboard.asterisk.org/r/3016/
+
+2013-11-21 22:36 +0000 [r402982-402994]  David M. Lee <dlee@digium.com>
+
+       * rest-api-templates/ari_resource.c.mustache, /,
+         rest-api-templates/res_ari_resource.c.mustache: ari: Fix #include
+         to match generated headers for snakeCase resource files ........
+         Merged revisions 402993 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * rest-api-templates/make_ari_stubs.py, /: ari: Fix generators for
+         resources with camelCase names. For the new deviceState resource,
+         we need to properly generate device_state.[ch] files. ........
+         Merged revisions 402981 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-21 19:22 +0000 [r402969]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Fix memory leak of
+         direct media format capabilities The direct media format
+         capabilities are always allocated in ast_sip_session_alloc and
+         were not freed in the session destructor. Whoops. (This being the
+         third whoops caught by Scott and Nitesh's valgrind work for the
+         Asterisk Test Suite. Nifty!) ........ Merged revisions 402968
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-21 19:09 +0000 [r402945-402957]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/app.h, /: voicemail: Fixup some doxygen
+         comments. ........ Merged revisions 402956 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/bucket.c: bucket: Fix scheme ref leak in
+         __ast_bucket_scheme_register(). ........ Merged revisions 402944
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-21 17:53 +0000 [r402942-402943]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Fix use of
+         uninitialized value in PJSIP In PJMEDIA,
+         pjmedia_sdp_rtpmap_to_attr will attempt to use the string
+         rtpmap.param regardless of its length value. Simply setting the
+         length to 0 does not prevent the garbage on the stack in
+         rtpmap.param.ptr from being formatted in a sprintf call. This
+         patch initializes the string to NULL so that at the very least,
+         something is provided to the function that is predictable.
+         ........ Merged revisions 402941 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_mwi.c: res_pjsip_mwi: Fix memory leak of MWI
+         subscriptions container This patch fixes a reference counting
+         memory leak on the ao2_container created as part of
+         create_mwi_subscriptions. When we create the container in this
+         routine, the intent is to hand lifetime ownership over to the
+         global container unsolicited_mwi. When
+         ao2_global_obj_replace_unref is called, the reference count on
+         mwi_subscriptions (the container) will be bumped by 1; however,
+         the function does not decrement the reference count on
+         mwi_subscriptions when this occurs. This will prevent the
+         container from being fully disposed of when Asterisk exits (or on
+         any subsequent call to this operation, such as during a reload).
+         ........ Merged revisions 402940 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-21 15:57 +0000 [r402928-402929]  David M. Lee <dlee@digium.com>
+
+       * res/res_stasis.c, /: stasis: Fixed scoping problem with bridge
+         tracking. ........ Merged revisions 402817 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/ari/resource_channels.c, res/res_ari_channels.c,
+         res/ari/resource_channels.h, /, res/stasis/control.c,
+         include/asterisk/stasis_app.h, rest-api/api-docs/channels.json:
+         ari: Add silence generator controls This patch adds the ability
+         to start a silence generator on a channel via ARI. This generator
+         will play silence on the channel (avoiding audio timeouts on the
+         peer) until it is stopped, or some other media operation is
+         started (like playing media, starting music on hold, etc.).
+         (closes issue ASTERISK-22514) Review:
+         https://reviewboard.asterisk.org/r/3019/ ........ Merged
+         revisions 402926 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-19 23:17 +0000 [r402892]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_caller_id.c: res_pjsip_caller_id: Don't
+         overwrite user portion of the From header when fromuser is set.
+         The fromuser option is used to explicitly set the user within the
+         From header. The res_pjsip_caller_id module did not take this
+         setting into account when determining if the From header could be
+         modified or not. (closes issue ASTERISK-22866) Reported by:
+         Anthony Messina ........ Merged revisions 402891 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-16 13:51 +0000 [r402865]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip/pjsip_distributor.c, /, configure,
+         include/asterisk/autoconfig.h.in, configure.ac: res_pjsip: Add
+         support for building against pjproject with SIP transaction group
+         lock support. SIP transaction group lock support has been
+         backported into our pjproject. Since the code now internally uses
+         a group lock the code is now changed to unlock it if present.
+         Note that the act of finding the transaction is what actually
+         returns it locked. For further information about group locks
+         check out the wiki page at:
+         http://trac.pjsip.org/repos/wiki/Group_Lock (issue
+         ASTERISK-22818) Reported by: Matt Jordan ........ Merged
+         revisions 402864 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-15 22:38 +0000 [r402854]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_confbridge.c, CHANGES,
+         apps/confbridge/conf_config_parser.c,
+         configs/confbridge.conf.sample,
+         apps/confbridge/include/confbridge.h: Confbridge: Add option to
+         review the recording similar to announce_join_leave Review:
+         https://reviewboard.asterisk.org/r/3008/
+
+2013-11-15 14:37 +0000 [r402839]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/cel.c: CEL: Fix crash when using CELGenUserEvent This
+         fixes a crash when CELGenUserEvent is called from the dialplan
+         while CEL is disabled. Currently, CEL does not create its topics
+         and forwards if it is not enabled and external entities may
+         depend on these topics blindly since they should always be
+         available. This patch breaks up route creation and topic/forward
+         creation such that the CEL topics and forwards will always exist
+         while the router and its associated routes will be torn down and
+         recreated as necessary. (closes issue ASTERISK-22799) Review:
+         https://reviewboard.asterisk.org/r/3010/ Reported by: Matt Jordan
+         ........ Merged revisions 402838 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-14 21:36 +0000 [r402820-402829]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_directed_pickup.c: Pickup: Pickup() and PickupChan()
+         parameter parsing improvements. * Made Pickup() and PickupChan()
+         tollerate empty pickup values. i.e., You can now have
+         Pickup(&&exten@context). * Made PickupChan() use the standard
+         option flag parsing code.
+
+       * apps/app_directed_pickup.c: Pickup: Ensure using PICKUPMARK never
+         considers the picking channel.
+
+2013-11-14 20:32 +0000 [r402819]  Jonathan Rose <jrose@digium.com>
+
+       * CHANGES, main/pbx.c, apps/app_sayunixtime.c: Say: If
+         SAY_DTMF_INTERRUPT is set to an ast_true value, jump on DTMF
+         Similar to how background works, if a say application is called
+         with this variable set to 'true', 'yes', 'on', etc. then using
+         DTMF while the say action is in progress will result in the
+         channel jumping to that extension in the dialplan. Review:
+         https://reviewboard.asterisk.org/r/3011/
+
+2013-11-13 23:11 +0000 [r402805]  Joshua Colp <jcolp@digium.com>
+
+       * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
+         res/res_ari_channels.c, res/ari/resource_channels.h, /,
+         res/stasis/control.c, include/asterisk/stasis_app.h:
+         res_ari_channels: Add the ability to stop locally generated
+         ringing on a channel. Using the 'ring' operation it is possible
+         to start locally generated ringback if the channel is answered.
+         This change adds the ability to stop it by using DELETE. ........
+         Merged revisions 402804 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-12 23:17 +0000 [r402788-402795]  Kevin Harwell <kharwell@digium.com>
+
+       * res/ari/resource_endpoints.c, /: ari endpoints: GET
+         /ari/endpoints/{invalid-tech} should return a 404 Was returning a
+         404 on a valid technology with an empty list of endpoints. Now
+         checking against the channel tech to make sure the tech itself is
+         valid and not just an empty list of endpoints. (issue
+         ASTERISK-22803) Reported by: David M. Lee ........ Merged
+         revisions 402793 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
+         /, res/res_ari_endpoints.c: ari endpoints: GET
+         /ari/endpoints/{invalid-tech} should return a 404 Implementation
+         listing endpoints by technology returned an empty array if no
+         matching endpoints were found. Fixed so a "404 Not Found" will be
+         returned instead. (closes issue ASTERISK-22803) Reported by:
+         David M. Lee ........ Merged revisions 402787 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-12 19:38 +0000 [r402768-402778]  Mark Michelson <mmichelson@digium.com>
+
+       * /, main/channel.c: Switch to a scoped lock to avoid missing
+         unlocks in failure returns. ........ Merged revisions 402769 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/channel.c, /: Move a NULL check to a place that makes more
+         sense. Two variables were being checked for NULLity immediately
+         after being declared NULL. I moved the NULL check until after the
+         variables are allocated. This allows for the "channelvars" option
+         in manager.conf to work as intended again. ........ Merged
+         revisions 402767 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-12 16:49 +0000 [r402758]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_messaging.c, res/res_pjsip_header_funcs.c, /:
+         pjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer
+         dereferences Both res_pjsip_messaging and res_pjsip_header_funcs
+         were causing asterisk to crash because they were trying to
+         dereference a NULL pointer. In the case of res_pjsip_messaging it
+         was attempting to "print" a contact header that did not exist. In
+         fact contact headers should not be part of a SIP MESSAGE, so the
+         offending code was simply removed. In the case of
+         res_pjsip_header_funcs a null private channel tech was being
+         passed to the function and then later dereferenced. Added null
+         checks (and error logging) to the read/write function handlers to
+         guard against crashing. (closes issue ASTERISK-22821) Reported
+         by: Anthony Messina ........ Merged revisions 402757 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-12 16:34 +0000 [r402756]  Kinsey Moore <kmoore@digium.com>
+
+       * /, apps/app_celgenuserevent.c: CELGenUserEvent: Fix error message
+         from ast_json_pack This prevents NULL from being passed into an
+         ast_json_pack call when no extra information is passed to the
+         application which prevents an error message about NULL arguments
+         from being generated. ........ Merged revisions 402755 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-12 15:27 +0000 [r402741]  David M. Lee <dlee@digium.com>
+
+       * res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /:
+         Fixed a typ. ........ Merged revisions 402738 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-12 15:03 +0000 [r402711]  Kinsey Moore <kmoore@digium.com>
+
+       * channels/chan_dahdi.c, /: chan_dahdi: Fix crash during caller ID
+         read Asterisk will sometimes core dump during caller id read on
+         analog channels due to a negative return value from the read() in
+         my_get_callerid that slips through as a negative length argument
+         to callerid_feed() if the errno returned by DAHDI is ELAST. This
+         change ensures that the negative return is treated properly even
+         when it is ELAST. (closes issue ASTERISK-22746) Reported by:
+         Michael Walton Patches: chan_dahdi_cid_crash_fix.r401410.patch
+         uploaded by Michael Walton (License 6502) ........ Merged
+         revisions 402708 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 402709 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402710 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-11 20:28 +0000 [r402698]  Jonathan Rose <jrose@digium.com>
+
+       * apps/app_confbridge.c: Confbridge: add test events for dynamic
+         menus test Adds a couple of test events for conference menu
+         actions so that it's easy to discern when those menu actions have
+         been triggered. (issue ASTERISK-22760) Reported by: Matt Jordan
+         Review: https://reviewboard.asterisk.org/r/2999/
+
+2013-11-11 19:31 +0000 [r402688]  Mark Michelson <mmichelson@digium.com>
+
+       * apps/app_confbridge.c, /: Get rid of some inaccurate comments.
+         I'm doing some unrelated work in app_confbridge and finding these
+         "invalid pin" comments to be annoying. Get out! ........ Merged
+         revisions 402686 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402687 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-11 15:37 +0000 [r402648]  Kinsey Moore <kmoore@digium.com>
+
+       * /, apps/app_queue.c: app_queue: Honor penalty limits of 0 In the
+         current app_queue code from 1.8 up to trunk the upper and lower
+         penalties can be set to 0 but the value is interpreted to be
+         disabled instead of actually setting limits. This is especially
+         evident if min and max limits are set to 0 and members with
+         penalties of 0 and 1 are in the queue since the member with
+         penalty 1 will still receive calls. This patch adjusts the
+         special disabled value to be INT_MAX instead of 0. (closes issue
+         ASTERISK-20862) Review: https://reviewboard.asterisk.org/r/2995/
+         Reported by: Schmooze Com ........ Merged revisions 402645 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 402646 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402647 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 23:07 +0000 [r402607]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
+         keep same local (from) tag for outgoing register requests For
+         outbound register requests the tag on the From line was updated
+         every 20 seconds prior to a successful registration and also once
+         for each registration renewal. That behavior can possibly cause
+         the registration to be denied because of the different tag, and
+         is not aligned with the intention of RFC 3261 8.1.3.5 "...
+         request constitutes a new transaction and SHOULD have the same
+         value of the Call-ID, To, and From of the previous request...".
+         This updates chan_sip to have a field to keep the local tag in
+         the registration structure and use that tag for registration
+         requests where the callid is also unchanged. (closes issue
+         ASTERISK-12117) Reported by: Pawel Pierscionek Review:
+         https://reviewboard.asterisk.org/r/2988/ ........ Merged
+         revisions 402604 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 402605 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402606 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 20:37 +0000 [r402595]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_stasis.c: res_stasis.c: Fix locking issues with the
+         app_bridge_moh container. * Fix unlinking from the
+         app_bridges_moh container in remove_bridge_moh() without a lock
+         under normal circumstances. * Made check
+         ast_bridge_set_after_callback() return value in
+         bridge_moh_create() to handle failure. * Fixed SCOPED_AO2LOCK()
+         locking over too much scope in stasis_app_bridge_moh_channel()
+         and stasis_app_bridge_moh_stop(). * Fixed unusual usage of
+         ao2_unlink_flag() in control_unlink(). * Fixed orphaned bridge
+         from off nominal path in stasis_app_bridge_create(). * Fixed
+         strange construct in stasis_app_unsubscribe(). From a bad merge?
+         * Made load_module() cleanup on failure. Review:
+         https://reviewboard.asterisk.org/r/2962/ ........ Merged
+         revisions 402593 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 19:33 +0000 [r402585]  Jonathan Rose <jrose@digium.com>
+
+       * /, main/security_events.c, configs/manager.conf.sample, CHANGES,
+         include/asterisk/manager.h, main/manager.c: security_events: Push
+         out security events over AMI events Security Events will now be
+         written to any listener of the new 'security' class Review:
+         https://reviewboard.asterisk.org/r/2998/ ........ Merged
+         revisions 402584 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 19:22 +0000 [r402583]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip.c, /: Clarify an ambiguous error message. ........
+         Merged revisions 402582 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 18:53 +0000 [r402571-402572]  David M. Lee <dlee@digium.com>
+
+       * /, res/res_pjsip/config_system.c: res_pjsip: Print a helpful
+         error message if sorcery registration fails ........ Merged
+         revisions 402570 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/ari/resource_playbacks.h, /: Changes from make ari-stubs
+         after r402560 ........ Merged revisions 402561 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 17:59 +0000 [r402562]  Kevin Harwell <kharwell@digium.com>
+
+       * rest-api/resources.json, res/ari/resource_playback.h (removed),
+         res/res_ari_playbacks.c (added), res/ari/resource_playbacks.h
+         (added), /, res/ari.make, rest-api/api-docs/playback.json
+         (removed), res/ari/resource_playback.c (removed),
+         res/res_ari_playback.c (removed),
+         rest-api/api-docs/playbacks.json (added),
+         res/ari/resource_playbacks.c (added): ARI playback: Rename ARI
+         Playback to Playbacks Before playback was the only non plural
+         resource. It has been renamed to playbacks for consistency.
+         (closes issue ASTERISK-22737) Reported by: Paul Belanger ........
+         Merged revisions 402560 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 17:29 +0000 [r402557]  David M. Lee <dlee@digium.com>
+
+       * res/res_ari.c, main/manager.c, /, main/http.c: ari: Add
+         application/x-www-form-urlencoded parameter support ARI POST
+         calls only accept parameters via the URL's query string. While
+         this works, it's atypical for HTTP API's in general, and
+         specifically frowned upon with RESTful API's. This patch adds
+         parsing for application/x-www-form-urlencoded request bodies if
+         they are sent in with the request. Any variables parsed this way
+         are prepended to the variable list supplied by the query string.
+         (closes issue ASTERISK-22743) Review:
+         https://reviewboard.asterisk.org/r/2986/ ........ Merged
+         revisions 402555 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-08 14:58 +0000 [r402546]  Kevin Harwell <kharwell@digium.com>
+
+       * apps/app_dahdiras.c, utils/extconf.c, main/asterisk.c:
+         app_dahdiras: Use waitpid instead of wait4. Several places in the
+         code were using wait4 while other places were using waitpid. This
+         change makes all places use waitpid in order to make things more
+         consistent and since the 'rusage' object passed in/out of wait4
+         was never used. (closes issue ASTERISK-22557) Reported by:
+         YvesGael Patches: asterisk-11.5.1-wait4.patch uploaded by hurdman
+         (license 6537)
+
+2013-11-07 23:42 +0000 [r402538]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_pjsip_authenticator_digest.c, /: PJSIP: Improve error
+         handling in digest authenticator Previously, regardless of
+         whether failure to authenticate was due to lacking any
+         authentication or actually failing authentication, the Digest
+         Authenticator would simply return that a challenge was still
+         needed. It will continue to do that when no authentication
+         information is in the received SIP digest, but when
+         authentication information is present and does not pass
+         authentication, that will be treated as an authentication error.
+         This is to ensure that PJSIP will issue security events indicated
+         failed auths. ........ Merged revisions 402537 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-07 21:10 +0000 [r402529]  David M. Lee <dlee@digium.com>
+
+       * res/ari/resource_applications.c, res/ari/resource_playback.c,
+         rest-api/api-docs/channels.json, res/ari/resource_applications.h,
+         res/ari/resource_channels.c, res/ari/resource_playback.h,
+         rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
+         rest-api-templates/ari_resource.c.mustache,
+         rest-api-templates/asterisk_processor.py,
+         res/ari/resource_channels.h, rest-api/api-docs/endpoints.json,
+         res/ari/resource_endpoints.c, res/ari/resource_recordings.h,
+         res/ari/resource_events.c, res/res_ari_playback.c,
+         res/res_ari_applications.c, res/ari/resource_endpoints.h,
+         res/ari/resource_events.h, rest-api/api-docs/sounds.json,
+         res/ari/resource_sounds.c, res/res_ari_channels.c,
+         rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
+         res/ari/resource_sounds.h, res/res_ari_recordings.c,
+         res/ari/resource_bridges.h, rest-api/api-docs/asterisk.json,
+         res/ari/resource_asterisk.c, res/res_ari_endpoints.c,
+         rest-api/api-docs/applications.json,
+         rest-api/api-docs/playback.json, res/res_ari_events.c,
+         res/ari/resource_asterisk.h, rest-api-templates/swagger_model.py,
+         res/res_ari_sounds.c, res/res_ari_bridges.c, /,
+         rest-api-templates/ari_resource.h.mustache,
+         rest-api-templates/rest_handler.mustache, res/res_ari_asterisk.c,
+         rest-api-templates/res_ari_resource.c.mustache: ari: User better
+         nicknames for ARI operations While working on building client
+         libraries from the Swagger API, I noticed a problem with the
+         nicknames. channel.deleteChannel() channel.answerChannel()
+         channel.muteChannel() Etc. We put the object name in the nickname
+         (since we were generating C code), but it makes OO generators
+         redundant. This patch makes the nicknames more OO friendly. This
+         resulted in a lot of name changing within the res_ari_*.so
+         modules, but not much else. There were a couple of other fixed I
+         made in the process. * When reversible operations (POST /hold,
+         POST /unhold) were made more RESTful (POST /hold, DELETE
+         /unhold), the path for the second operation was left in the API
+         declaration. This worked, but really the two operations should
+         have been on the same API. * The POST /unmute operation had still
+         not been REST-ified. Review:
+         https://reviewboard.asterisk.org/r/2940/ ........ Merged
+         revisions 402528 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-06 21:58 +0000 [r402518]  Kevin Harwell <kharwell@digium.com>
+
+       * /, apps/app_queue.c: app_queue: crash if first agent is "busy" If
+         the first agent/member (via CLI "queue show") in a queue is
+         "busy" (dnd, circuit busy, etc...) and no agents answered then
+         app_queue would crash. This occurred because while the calling of
+         agent(s) remained valid the channel on "busy" agent would be set
+         to NULL and then later dereferenced upon a second "rna" function
+         call. The original intention of the code is to have only valid
+         "call attempt" objects (channels != NULL) checked while
+         attempting to call agent(s). It does this by building a
+         "call_next" list of valid "call attempt" objects. In the case of
+         the "busy" agent subsequent builds of the valid "call attempt"
+         list would sometimes include (the case mentioned above) an
+         invalid "call attempt" object. The fix was to make sure the "call
+         attempt" list was appropriately built on every iteration. A NULL
+         sanity check was also added at the original offending spot of the
+         crash just in case another one slipped by somehow. (closes issue
+         ASTERISK-22644) Reported by: Marco Signorini Review:
+         https://reviewboard.asterisk.org/r/2983/ ........ Merged
+         revisions 402517 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-05 21:17 +0000 [r402502-402508]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Use AST_AF* defined constant
+         when calling ast_get_ip While the structure passed to ast_get_ip
+         should be set memset to 0, thus initializing the ss_family member
+         to 0, explicitly setting it to AST_AF_UNSPEC is more portable.
+         ........ Merged revisions 402507 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_iax2.c, /: chan_iax2: Fix incorrect usage of
+         ast_get_ip involving uninitialized struct This started off as a
+         fix for the failing IAX2 acl_call test in the Asterisk Test
+         Suite. When inspecting why that test was failing, it became clear
+         that all attempts to bind to any local loopback address was
+         failing: [Nov 2 15:56:28] VERBOSE[15787] chan_iax2.c: == Binding
+         IAX2 to address 127.0.0.1:4569 [Nov 2 15:56:28] DEBUG[15787]
+         netsock2.c: Splitting '127.0.0.1' into... [Nov 2 15:56:28]
+         DEBUG[15787] netsock2.c: ...host '127.0.0.1' and port ''. [Nov 2
+         15:56:28] ERROR[15787] netsock2.c: getaddrinfo("127.0.0.1",
+         "(null)", ...): ai_family not supported [Nov 2 15:56:28]
+         WARNING[15787] acl.c: Unable to lookup '127.0.0.1' While there's
+         conceivably other ways for getaddrino to return EAI_FAMILY, the
+         most common way is if AF_INET, AF_INET6, or AF_UNSPEC is not
+         provided as the desired family. The culprit was the call to
+         ast_get_ip, defined in acl.h. This function uses the family from
+         the passed in addr object (which it will also populate when it
+         returns!) when it eventually calls getaddrinfo. This patch fixes
+         the use of ast_get_ip that were not specifying the family in
+         chan_iax2. This prevents uninitialized use of the structure, so
+         that the addresses resolve correctly. Review:
+         https://reviewboard.asterisk.org/r/2991 ........ Merged revisions
+         402505 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/acl.h, /, include/asterisk/netsock2.h: netsock2:
+         Define AST_AF_* enum constants to their AF_* equivalents This
+         patch explicitly defines AST_AF_* enum constants to their
+         sys/socket.h defined equivalents. It is certainly unclear why
+         these constants actually have to exist, given that netsock2.h
+         includes sys/socket.h; however, since the code base is already
+         liberally sprinkled with the usage of AST_AF_* (as well as with
+         direct calls to AF_*), this will at least keep the semantics
+         consistent between their usage across systems. ........ Merged
+         revisions 402503 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis_channels.c, /: stasis_channels: Don't give preference
+         to ANI info in channel snapshots When publishing channel
+         snapshots, we currently compute the caller ID name and number by
+         giving preference first to ani.{name|number}, then to
+         id.{name|number}. However, when a channel driver (such as
+         chan_sip) updates the caller ID, it typically only updates the
+         caller ID stored in id.{name|number}. This means that we are
+         currently giving preference to stale information. When looking at
+         the rest of the code base, the only other place where we appear
+         to use this same logic is in app_amd. Everywhere else, we treat
+         the party information in ani as being separate to the party
+         information in id. This patch publishes only the caller ID name
+         and number in the snapshot field for caller_name and caller_num.
+         Note that the information in ANI is still available in
+         caller_ani. Review: https://reviewboard.asterisk.org/r/2992/
+         ........ Merged revisions 402501 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-04 21:02 +0000 [r402453]  Kevin Harwell <kharwell@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: notify dialog info ignores
+         presentation indicator in callerid The presentation indicator in
+         a callerid (e.g. set by dialplan function
+         Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog
+         Info Notifies are generated during extension monitoring. Added a
+         check to make sure the name and/or number presentations on the
+         callee (remote identity) are set to allow. If they are restricted
+         then "anonymous" is used instead. (closes issue AST-1175)
+         Reported by: Thomas Arimont Review:
+         https://reviewboard.asterisk.org/r/2976/ ........ Merged
+         revisions 402450 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402452 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-02 04:30 +0000 [r402406-402439]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/stasis.c, main/stasis_message_router.c, /,
+         include/asterisk/vector.h: vector: Uppercase API to follow C
+         convention. C does not support templates like C++. ........
+         Merged revisions 402438 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/lock.h, main/stasis.c,
+         main/stasis_message_router.c, /, include/asterisk/vector.h:
+         vector: Update API to be more flexible. Made the vector macro API
+         be more like linked lists. 1) Added a name parameter to
+         ast_vector() to name the vector struct. 2) Made the API take a
+         pointer to the vector struct instead of the struct itself. 3)
+         Added an element cleanup macro/function parameter when removing
+         an element from the vector for ast_vector_remove_cmp_unordered()
+         and ast_vector_remove_elem_unordered(). 4) Added
+         ast_vector_get_addr() in case the vector element is not a simple
+         pointer. * Converted an inline vector usage in
+         stasis_message_router to use the vector API. It needed the API
+         improvements so it could be converted. * Fixed topic reference
+         leak in router_dtor() when the stasis_message_router is
+         destroyed. * Fixed deadlock potential in stasis_forward_all() and
+         stasis_forward_cancel(). Locking two topics at the same time
+         requires deadlock avoidance. * Made internal_stasis_subscribe()
+         tolerant of a NULL topic. * Made stasis_message_router_add(),
+         stasis_message_router_add_cache_update(),
+         stasis_message_router_remove(), and
+         stasis_message_router_remove_cache_update() tolerant of a NULL
+         message_type. * Promoted a LOG_DEBUG message to LOG_ERROR as
+         intended in dispatch_message(). Review:
+         https://reviewboard.asterisk.org/r/2903/ ........ Merged
+         revisions 402429 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/confbridge/conf_state_single.c,
+         apps/confbridge/conf_state_inactive.c,
+         apps/confbridge/conf_state_single_marked.c, /,
+         apps/confbridge/include/confbridge.h,
+         apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
+         apps/confbridge/conf_state_multi_marked.c,
+         apps/confbridge/conf_state.c: confbridge: Separate user muting
+         from system muting overrides. The system overrides the user
+         muting requests when MOH is playing or a waitmarked user is
+         waiting for a marked user to join. System muting overrides
+         interfere with what the user may wish the muting to be when the
+         system override ends. * User muting requests are now independent
+         of the system muting overrides. The effective muting is now the
+         logical or of the user request and system override. * Added a
+         Muted flag to the CLI "confbridge list <conference>" command. *
+         Added a Muted header to the AMI ConfbridgeList action
+         ConfbridgeList event. (closes issue AST-1102) Reported by: John
+         Bigelow Review: https://reviewboard.asterisk.org/r/2960/ ........
+         Merged revisions 402425 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402427 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/config.c, apps/confbridge/conf_config_parser.c,
+         configs/confbridge.conf.sample, /: config: Allow ConfBridge DTMF
+         menus to have '#' as the first digit. ConfBridge allows custom
+         DTMF menus to be created in the confbridge.conf file by assigning
+         a DTMF key sequence to a sequence of actions as follows:
+         DTMF-sequence = action,action... Unfortunately, the normal config
+         file processing code interprets an initial '#' character as
+         starting a directive such as #include. * Add the ability to
+         escape the first non-blank character in a config line so the '#'
+         character can be used without triggering the directive processing
+         code. (closes issue AFS-2) (closes issue ASTERISK-22478) Reported
+         by: Nicolas Tanski Patches: jira_asterisk_22478_v11.patch
+         (license #5621) patch uploaded by rmudgett (modified) Review:
+         https://reviewboard.asterisk.org/r/2969/ ........ Merged
+         revisions 402407 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402416 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/app.h, /, main/app.c: voicemail: Simplify
+         callback pointer declarations and add doxygen. * Typedefed and
+         added doxegen for the voicemail callback functions. * Simplified
+         the prototypes for ast_install_vm_functions() and
+         ast_install_vm_test_functions() to use the new function typedefs.
+         * Simplified the voicemail callback function pointer variable
+         declarations to use the new function typedefs. ........ Merged
+         revisions 402398 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-01 22:48 +0000 [r402397]  Jonathan Rose <jrose@digium.com>
+
+       * apps/confbridge/conf_config_parser.c,
+         apps/confbridge/include/confbridge.h, apps/app_confbridge.c,
+         CHANGES: app_confbridge: Make the CONFBRIDGE function be able to
+         create dynamic menus Also adds the ability to clear all profile
+         items and makes behavior more consistent with documentation as
+         when choosing whether to use CONFBRIDGE datastore profiles or the
+         application arguments to the confbridge application. (closes
+         issue ASTERISK-22760) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2971/
+
+2013-11-01 21:51 +0000 [r402388]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/manager_bridges.c, /, main/bridge.c,
+         include/asterisk/bridge.h: Manager: Add equivalent AMI actions
+         for the bridge CLI commands. Adds the following AMI events,
+         closely following their CLI counterparts: BridgeDestroy
+         BridgeKick BridgeTechnologyList BridgeTechnologySuspend
+         BridgeTechnologyUnsuspend BridgeDestroy kicks an entire bridge,
+         where BridgeKick kicks just one channel off the bridge. When
+         kicking a channel, specifying the bridge also (optional) insures
+         it is not removed from the wrong bridge. The BridgeTechnology
+         events allow viewing and changing suspension status, which
+         affects only subsequent not active bridging. (closes
+         ASTERISK-22356) Reported by: Richard Mudgett Review:
+         https://reviewboard.asterisk.org/r/2973/ ........ Merged
+         revisions 402387 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-01 16:31 +0000 [r402368]  David M. Lee <dlee@digium.com>
+
+       * /, rest-api-templates/api.wiki.mustache: ari wiki docs: add notes
+         about allowMultiple parameters. This patch adds a note to any
+         parameter that has 'allowMultiple' set in the Swagger
+         documentation. (closes issue ASTERISK-22704) ........ Merged
+         revisions 402367 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-01 14:38 +0000 [r402359]  Joshua Colp <jcolp@digium.com>
+
+       * include/asterisk/stasis_app.h, rest-api/api-docs/channels.json,
+         res/ari/resource_channels.c, res/res_ari_channels.c,
+         res/ari/resource_channels.h, res/res_stasis_playback.c, /,
+         res/stasis/control.c: res_ari_channels: Add ring operation, dtmf
+         operation, hangup reasons, and tweak early media. The ring
+         operation sends ringing to the specified channel it is invoked
+         on. The dtmf operation can be used to send DTMF digits to the
+         specified channel of a specific length with a wait time in
+         between. Finally hangup reasons allow you to specify why a
+         channel is being hung up (busy, congestion). Early media behavior
+         has also been tweaked slightly. When playing media to a channel
+         it will no longer automatically answer. If it has not been
+         answered a progress indication is sent instead. (closes issue
+         ASTERISK-22701) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2916/ ........ Merged
+         revisions 402358 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-01 12:40 +0000 [r402349]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_rtp_asterisk.c, /, channels/chan_sip.c,
+         include/asterisk/rtp_engine.h: chan_sip: Fix RTCP port for SRFLX
+         ICE candidates This corrects one-way audio between Asterisk and
+         Chrome/jssip as a result of Asterisk inserting the incorrect RTCP
+         port into RTCP SRFLX ICE candidates. This also exposes an ICE
+         component enumeration to extract further details from candidates.
+         (closes issue ASTERISK-21383) Reported by: Shaun Clark Review:
+         https://reviewboard.asterisk.org/r/2967/ ........ Merged
+         revisions 402345 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402348 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-11-01 12:33 +0000 [r402337-402347]  Joshua Colp <jcolp@digium.com>
+
+       * /, include/asterisk/stasis_app.h, res/ari/resource_channels.c:
+         res_ari_channels: Fix a deadlock when originating multiple
+         channels close to eachother. If a Stasis application is specified
+         an implicit subscription is done on the originated channel. This
+         was previously done with the channel lock held which is dangerous
+         as the underlying code locks the container and iterates items.
+         This change releases the lock on the originated channel before
+         subscribing occurs. (closes issue ASTERISK-22768) Reported by:
+         Matt Jordan Review: https://reviewboard.asterisk.org/r/2979/
+         ........ Merged revisions 402346 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/stasis/control.c: res_stasis: Ensure the channel is always
+         departed from the bridge when it leaves. This change adds a
+         command to the command queue to explicitly depart the channel
+         from the bridge when it is told it has left. If the channel has
+         already been departed or has entered a different bridge this
+         command will become a no-op. (closes issue ASTERISK-22703)
+         Reported by: John Bigelow (closes issue ASTERISK-22634) Reported
+         by: Kevin Harwell Review:
+         https://reviewboard.asterisk.org/r/2965/ ........ Merged
+         revisions 402336 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-31 22:09 +0000 [r402328]  Mark Michelson <mmichelson@digium.com>
+
+       * /, contrib/scripts/sip_to_pjsip/sip_to_pjsip.py,
+         contrib/scripts/sip_to_res_sip (removed),
+         contrib/scripts/sip_to_pjsip (added),
+         contrib/scripts/sip_to_pjsip/astconfigparser.py,
+         contrib/scripts/sip_to_pjsip/astdicts.py: Update the conversion
+         script from sip.conf to pjsip.conf (closes issue ASTERISK-22374)
+         Reported by Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2846 ........ Merged revisions
+         402327 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-31 16:06 +0000 [r402286-402290]  Matthew Jordan <mjordan@digium.com>
+
+       * main/loader.c, /: core/loader: Don't call dlclose in a while loop
+         For awhile now, we've noticed continuous integration builds
+         hanging on CentOS 6 64-bit build agents. After resolving a number
+         of problems with symbols, strange locks, and other shenanigans,
+         the problem has persisted. In all cases, gdb shows the Asterisk
+         process stuck in loader.c on one of the infinite while loops that
+         calls dlclose repeatedly until success. The documentation of
+         dlclose states that it returns 0 on success; any other value on
+         error. It does not state that repeatedly calling it will
+         eventually clear those errors. Most likely, the repeated calls to
+         dlclose was to force a close by exhausting the references on the
+         library; however, that will never succeed if: (a) There is some
+         fundamental error at work in the loaded library that precludes
+         unloading it (b) Some other loaded module is referencing a symbol
+         in the currently loaded module This results in Asterisk sitting
+         forever. Since we have matching pairs of dlopen/dlclose, this
+         patch opts to only call dlclose once, and log out as an ERROR if
+         dlclose fails to return success. If nothing else, this might help
+         to determine why on the CentOS 6 64-bit build agent things are
+         not closing successfully. Review:
+         https://reviewboard.asterisk.org/r/2970 ........ Merged revisions
+         402287 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 402288 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402289 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/media_index.c, /: medix_index: Display errors when library
+         calls fail Based on feedback from ipengineer in #asterisk, when
+         the media indexer cannot access a sound file on the system (or
+         otherwise fails) Asterisk displays a "Cannot frob file" error but
+         fails to tell you why. This is especially problematic as the
+         media_indexer failing will rpevent Asterisk from starting, as it
+         is in the core. We now display the errno error messages so folks
+         can figure out what they've done wrong. ........ Merged revisions
+         402285 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-31 14:45 +0000 [r402277]  David M. Lee <dlee@digium.com>
+
+       * /, res/stasis/app.c: stasis: add functions embarrassingly missing
+         from r400522 I neglected to implement two of the endpoint
+         subscription functions when I did the work. Normally, you'll only
+         hit that when you unsubscribe from a specific endpoint. ........
+         Merged revisions 402276 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-30 17:54 +0000 [r402266]  Kevin Harwell <kharwell@digium.com>
+
+       * channels/chan_pjsip.c, /, res/res_pjsip_messaging.c:
+         pjsip_messaging: Added debug for in dialog messaging (issue
+         ASTERISK-22777) Reported by: Matt Jordan ........ Merged
+         revisions 402265 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-29 23:43 +0000 [r402227]  Rusty Newton <rnewton@digium.com>
+
+       * /, sounds/Makefile: Updates for 1.4.25 core sounds and 1.4.14
+         extra sounds, plus new en_GB language set The new sound packages
+         relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413,
+         ASTERISK-20782 Modified sounds/Makefile for the new sound
+         versions and to account for the new en_GB language set. (issue
+         ASTERISK-22659) (closes issue ASTERISK-22659) (closes issue
+         ASTERISK-22411) (closes issue ASTERISK-22544) ........ Merged
+         revisions 402224 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 402225 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402226 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-29 12:57 +0000 [r402155]  Matthew Jordan <mjordan@digium.com>
+
+       * main/xmldoc.c, main/channel.c, main/pbx.c, /, main/translate.c:
+         Remove some spammy debug messages; improve clarity of others
+         Debug messages aren't free. Even when the debug level is
+         sufficiently low such that the messages are never evaluated,
+         there is a cost to having to parse Asterisk logs that contain
+         debug messages that (a) fail to convey sufficient information or
+         (b) occur so frequently as to be next to meaningless. Based on
+         having to stare at lots of DEBUG messages, this patch makes the
+         following changes: * channel.c: When copying variables from a
+         parent channel to a child channel, specify the channels involved.
+         Do not log anything for a variable that is not inherited; the
+         fact that it doesn't have an _ or __ already signifies that it
+         won't be inherited. * pbx.c: Specify what function evaluation has
+         occurred that created the result. * translate.c: Bump up the
+         translator path messages to 10. I've never once had to use these
+         debug messages, and for each format that is registered (on
+         startup) and unregistered (on shutdown) the entire f^2 matrix is
+         logged out. For short tests in the Asterisk Test Suite, this
+         should make finding the actual test much easier. * xmldoc.c: The
+         debug message that 'blah' is not found in the tree is expected.
+         Often, description elements - which are not required - are not
+         provided. This debug message adds no additional value, as it is
+         not indicative of an error or helpful in debugging which element
+         did not contain a 'blah' element as a child. If an element is
+         supposed to contain a child element, then that XML tree should
+         have failed validation in the first place. Review:
+         https://reviewboard.asterisk.org/r/2966/ ........ Merged
+         revisions 402150 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 402151 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402154 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-29 12:51 +0000 [r402149-402153]  Kinsey Moore <kmoore@digium.com>
+
+       * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
+         res/res_ari_channels.c, res/ari/resource_channels.h, /: ARI:
+         Remove channels/{channelId}/dial This removes the
+         /ari/channels/{channelId}/dial URI since it is redundant, overly
+         complex, is likely to become more externally complex over time,
+         and is too high-level compared with other ARI operations. See the
+         following for further information:
+         http://lists.digium.com/pipermail/asterisk-app-dev/2013-October/000002.html
+         (closes issue ASTERISK-22784) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2968/ ........ Merged
+         revisions 402152 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * bridges/bridge_native_rtp.c, /: bridge_native_rtp: Ensure bridge
+         is torn down When a bridge transitions away from one tech to
+         another, the tech going away is provided a dummy bridge with no
+         channels in it to tear down. Currently this means that the
+         teardown code exits prematurely and does not tear anything down.
+         This change tears down RTP bridging for the channel provided in
+         the leave bridge tech callback. This also reverts the majority of
+         r400403 since it is now redundant. (closes issue ASTERISK-22628)
+         (closes issue ASTERISK-22676) Reported by: John Bigelow Reported
+         by: Kevin Harwell Tested by: John Bigelow Review:
+         https://reviewboard.asterisk.org/r/2905/ Patches:
+         native_rtp_fix.diff uploaded by Kinsey Moore (License 6273)
+         ........ Merged revisions 402148 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-29 11:15 +0000 [r402140]  Joshua Colp <jcolp@digium.com>
+
+       * /, rest-api/api-docs/playback.json, res/res_ari_playback.c:
+         res_ari_playback: Add missing 404 error response for GET and
+         DELETE. (closes issue ASTERISK-22722) Reported by: Richard
+         Mudgett ........ Merged revisions 402139 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-28 22:10 +0000 [r402128-402130]  David M. Lee <dlee@digium.com>
+
+       * /, doc: Ignore full docs ........ Merged revisions 402127 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /: Put back several merge revisions that were lost in r402054
+
+       * /: Put back several merge revisions that were lost in r401962
+
+2013-10-28 15:08 +0000 [r402113-402117]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, UPGRADE-11.txt, UPGRADE-12.txt: Fix UPGRADE.txt Due To Merging
+         From Branch 11 When merging in the patch for ASTERISK-22728, the
+         UPGRADE.txt file was changed incorrectly. That change should have
+         gone into ASTERISK-11.txt. This commit is to fix that. Also,
+         another comment in the UPGRADE-11.txt was missing and this commit
+         adds that as well. ........ Merged revisions 402115 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c, UPGRADE-12.txt: chan_sip: Clarify
+         'Forcerport' Setting Displayed When Running "sip show peers"
+         While looking at ASTERISK-22236, Walter Doekes pointed out that
+         when running "sip show peers", the setting being displayed can be
+         confusing. The display of "N" used to mean NAT (i.e. yes). The
+         NAT setting has gone through many different changes resulting in
+         the display of different characters to try and convey what the
+         current setting is for 'Forcerport' (A for Auto and Forcerport is
+         currently on, a for Auto but Forcerport is off, Y for yes, and N
+         for no). During the initial code review to try and clarify these
+         settings (especially since "N" no longer meant what it used to
+         mean in prior versions of Asterisk), Mark Michelson suggested
+         using the full space available to display the settings which
+         helped to make the settings very clear. That was a great
+         suggestion. Therefore, this patch does the following: * The
+         column for 'Forcerport' now will show: Auto (Yes), Auto (No),
+         Yes, or No. * A column for the 'Comedia' setting has been added.
+         It too will display the setting in a non-cryptic way: Auto (Yes),
+         Auto (No), Yes, or No. * UPGRADE.txt has been updated to document
+         this change. (closes issue ASTERISK-22728) Reported by: Walter
+         Doekes Tested by: Michael L. Young Patches:
+         asterisk-forcerport-display-clarification_v3.diff uploaded by
+         Michael L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/2941 ........ Merged revisions
+         402111 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........ Merged revisions 402112 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-27 23:22 +0000 [r402073-402091]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, /: Filter out internal channels from dial message
+         handling Surrogate channels would pop up from time to time in
+         dial message handling. This would cause a WARNING message to
+         appear, indicating that the Surrogate channel had no CDR. This
+         patch filters out those channels that have the internal
+         implementation flag set, such that the WARNING message isn't
+         displayed. ........ Merged revisions 402090 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * cdr/cdr_sqlite3_custom.c, /, cdr/cdr_syslog.c, cdr/cdr_sqlite.c,
+         cdr/cdr_adaptive_odbc.c, addons/cdr_mysql.c,
+         include/asterisk/cdr.h, cdr/cdr_pgsql.c, cdr/cdr_odbc.c,
+         cdr/cdr_radius.c, cdr/cdr_custom.c, cdr/cdr_manager.c,
+         cdr/cdr_tds.c, cdr/cdr_csv.c, main/cdr.c: Prevent CDR backends
+         from unregistering while billing data is in flight This patch
+         makes it so that CDR backends cannot be unregistered while active
+         CDR records exist. This helps to prevent billing data from being
+         lost during restarts and shutdowns. Review:
+         https://reviewboard.asterisk.org/r/2880/ ........ Merged
+         revisions 402081 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, contrib/ast-db-manage/config/env.py,
+         contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
+         contrib/ast-db-manage/voicemail/env.py: Update Alembic database
+         scripts for external scripting and PostgreSQL, Oracle This patch
+         does the following: 1) The env scripts have been updated to be
+         tolerant of a NULL configuration file. This occurs when
+         configuration is provided by an external script, such that the
+         actual config.ini file is not used. 2) Enum types have all been
+         given names. This is needed for PostgreSQL script generation. 3)
+         The identifier meetme_confno_starttime_endtime is greater than 30
+         characters, and hence invalid for Oracle databases. This has been
+         truncated down to meetme_confno_start_end. ........ Merged
+         revisions 400383 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-26 12:56 +0000 [r402065]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_pjsip.c, include/asterisk/res_pjsip_session.h, /:
+         chan_pjsip: Fix a crash when direct media is enabled and an ACK
+         is received after the channel is hung up. (closes issue
+         ASTERISK-22731) Reported by: Kinsey Moore ........ Merged
+         revisions 402064 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-26 00:36 +0000 [r402056]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_stasis.c, /: res_stasis.c: Made use the ao2_container
+         callback templates. * Made res_stasis.c use the OBJ_SEARCH_XXX
+         defines. ........ Merged revisions 402055 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-26 00:27 +0000 [r402054]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/rtp_engine.c, /, include/asterisk/rtp_engine.h: rtp_engine:
+         fix rtp payloads copy and improve argument names In function
+         ast_rtp_instance_early _bridge_make_compatible the use of
+         instance 0/1 as arguments doesn't clearly communicate a direction
+         that the copying of payloads from the source channel to the
+         destination channel will occur, making it more probable to have
+         the arguments to ast_rtp_codecs_payloads_copy() put in the
+         reverse order. This patch renames the arguments with _dst and
+         _src suffixes and corrects the copy direction. (closes issue
+         ASTERISK-21464) Reported by: Kevin Stewart Review:
+         https://reviewboard.asterisk.org/r/2894/ ........ Merged
+         revisions 402000 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 Test shows
+         rtpmap:119 being copied per this change, but is not in sip invite
+         ........ Merged revisions 402042 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 402043 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-25 23:58 +0000 [r402004-402045]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/taskprocessor.c: taskprocessor: Made use pthread_equal()
+         to compare thread ids. * Removed another silly use of RAII_VAR().
+         RAII_VAR() and SCOPED_LOCK() are not silver bullets that allow
+         you to turn off your brain. ........ Merged revisions 402044 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/stasis/app.c: You'd think that new files would be free of
+         whitespace issues. But you would be wrong. ........ Merged
+         revisions 402003 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-25 22:01 +0000 [r401999-402002]  Jonathan Rose <jrose@digium.com>
+
+       * res/ari/resource_bridges.c, res/res_ari_bridges.c, /,
+         rest-api/api-docs/channels.json, res/ari/resource_channels.c,
+         res/res_ari_channels.c, rest-api/api-docs/bridges.json: ARI:
+         channel/bridge recording errors when invalid format specified
+         Asterisk will now issue 422 if recording is requested against
+         channels or bridges with an unknown format (closes issue
+         ASTERISK-22626) Reported by: Joshua Colp Review:
+         https://reviewboard.asterisk.org/r/2939/ ........ Merged
+         revisions 402001 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis_recording.c, rest-api/api-docs/channels.json,
+         res/ari/resource_channels.c, res/ari/ari_model_validators.c,
+         res/res_ari_channels.c, rest-api/api-docs/bridges.json,
+         rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
+         res/ari/ari_model_validators.h, res/res_ari_bridges.c,
+         rest-api/api-docs/events.json, /: ARI recordings: Issue HTTP
+         failures for recording requests with file conflicts If a file
+         already exists in the recordings directory with the same name as
+         what we would record, issue a 422 instead of relying on the
+         internal failure and issuing success. (closes issue
+         ASTERISK-22623) Reported by: Joshua Colp Review:
+         https://reviewboard.asterisk.org/r/2922/ ........ Merged
+         revisions 401973 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-25 20:51 +0000 [r401962]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * include/asterisk/pbx.h, main/pbx.c, /: pbx.c: fix confused match
+         caller id that deleted exten still in hash This fixes a bug where
+         a zero length callerid match adjacent to a no match callerid
+         extension entry would be deleted together, which then resulted in
+         hashtable references to free'd memory. A third state of the
+         matchcid value has been added to indicate match to any extension
+         which allows enforcing comparison of matchcid on/off without
+         errors. (closes issue AST-1235) Reported by: Guenther Kelleter
+         Review: https://reviewboard.asterisk.org/r/2930/ ........ Merged
+         revisions 401959 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401960 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401961 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-25 17:41 +0000 [r401898-401939]  Jonathan Rose <jrose@digium.com>
+
+       * /, res/res_pjsip/pjsip_distributor.c,
+         res/res_pjsip_endpoint_identifier_user.c: PJSIP: Add log messages
+         when requests are received for non-existent endpoints (closes
+         issue ASTERISK-22552) Reported by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/2934/ ........ Merged
+         revisions 401938 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * utils/clicompat.c, utils/refcounter.c, /: Put clicompat-r2.patch
+         back in We've figured out how to resolve the problems this was
+         causing in 12/trunk, so this can go back in now. (issue
+         ASTERISK-22467) Reported by: Corey Farrell Patches:
+         clicompat-r2.patch uploaded by coreyfarrell (license 5909)
+         ........ Merged revisions 401914 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401935 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401936 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, utils/clicompat.c: revert clicompat-r2.patch from r401704
+         Patch caused the following build errors against testsuite
+         https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD4-244
+         (issue ASTERISK-22467) Reported by: Corey Farrell ........ Merged
+         revisions 401895 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401896 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401897 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-25 16:09 +0000 [r401886]  Kevin Harwell <kharwell@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Allow a sip peer to accept both
+         AVP and AVPF calls Adapts the behaviour of avpf to only impact
+         the format of outgoing calls. For inbound calls, both AVP and
+         AVPF calls will be accepted regardless of the value of avpf in
+         the configuration. (closes issue ASTERISK-22005) Reported by:
+         Torrey Searle Patches: optional_avpf_trunk.patch uploaded by
+         tsearle (license 5334) ........ Merged revisions 401884 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401885 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-25 13:49 +0000 [r401873]  David M. Lee <dlee@digium.com>
+
+       * tests/test_json.c, /: test_json: Fix deprecation warnings After a
+         series of upgrades over recent weeks, I've discovered that
+         test_json.c won't compile in dev mode any more for me. One of
+         gcc-4.8.2, OS X Mavericks or Xcode 5 has decided to deprecate
+         tempnam. Which, in general, is a good thing. But for test code
+         that just needs a temporary file, it's just annoying. This patch
+         replaces usage of tempname with mkstemp, avoiding the deprecation
+         warning. It also removes the temporary files when the test is
+         complete, which apparently we weren't doing before (oops).
+         Review: https://reviewboard.asterisk.org/r/2957/ ........ Merged
+         revisions 401872 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-24 21:06 +0000 [r401836]  Kevin Harwell <kharwell@digium.com>
+
+       * /, main/logger.c: Logging: Logging types ignored after specifying
+         a verbose level If one specified a verbose level within a logging
+         facility in logger.conf then any component after it was ignored.
+         Fixed so all values are correctly read. (closes issue
+         ASTERISK-22456) Reported by: Kevin Harwell ........ Merged
+         revisions 401833 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401835 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-24 20:48 +0000 [r401834]  David M. Lee <dlee@digium.com>
+
+       * rest-api-templates/models.wiki.mustache,
+         rest-api/api-docs/events.json, /,
+         rest-api-templates/swagger_model.py,
+         rest-api-templates/ari_model_validators.c.mustache: The Swagger
+         1.2 specification for type extension ended up being slightly
+         different than my proposal. Instead of putting an 'extends' field
+         on the subtype, the base type has a 'subTypes' field, which is a
+         list of the subTypes. Given that its a messaging model and not an
+         object model, kinda makes sense. This patch changes the
+         events.json api-doc, and the python translators to take the new
+         format into account. Other changes that are in Swagger 1.2 were
+         not adopted, since the spec is still in flux, and could change
+         before it's finalized. A summary of changes to the Swagger-1.2
+         spec can be found at
+         https://github.com/wordnik/swagger-core/wiki/1.2-transition.
+         (closes issue ASTERISK-22440) Review:
+         https://reviewboard.asterisk.org/r/2909/ ........ Merged
+         revisions 401701 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-24 20:34 +0000 [r401622-401832]  Jonathan Rose <jrose@digium.com>
+
+       * /, main/utils.c: utils: Fix memory leaks and missed
+         unregistration of CLI commands on shutdown Final set of patches
+         in a series of memory leak/cleanup patches by Corey Farrell
+         (closes issue ASTERISK-22467) Reported by: Corey Farrell Patches:
+         main-utils-1.8.patch uploaded by coreyfarrell (license 5909)
+         main-utils-11.patch uploaded by coreyfarrell (license 5909)
+         main-utils-12up.patch uploaded by coreyfarrell (license 5909)
+         ........ Merged revisions 401829 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401830 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401831 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, tests/test_linkedlists.c: test_linkedlists: Fix memory leak
+         (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
+         test_linkedlists-1.8.patch uploaded by coreyfarrell (license
+         5909) test_linkedlists-11up.patch uploaded by coreyfarrell
+         (license 5909) ........ Merged revisions 401790 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401791 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401792 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/jitterbuf.c: jitterbuf: Fix memory leak on jitter buffer
+         reset (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
+         jitterbuf-jb_reset-leak-1.8.patch
+         jitterbuf-jb_reset-leak-11up.patch ........ Merged revisions
+         401786 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 401787 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401788 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/astobj2.c, /: astobj2: Unregister debug CLI commands at exit
+         (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
+         astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell
+         (license 5909) astobj2-clean-debug-cli-12up.patch uploaded by
+         coreyfarrell (license 5909) ........ Merged revisions 401781 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401783 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401784 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_voicemail.c, /: app_voicemail: Memory Leaks against
+         tests (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
+         app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909)
+         app_voicemail-11up.patch uploaded by coreyfarrell (license 5909)
+         ........ Merged revisions 401743 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401744 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401745 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/app.c, main/asterisk.c, utils/clicompat.c,
+         channels/chan_dahdi.c, codecs/ilbc/doCPLC.c, main/data.c, /:
+         memory leaks: Memory leak cleanup patch by Corey Farrell (second
+         set) Also covers ast_app_parse_timelen-fail-zero-length.patch,
+         but the patch was replaced with one of my own. (issue
+         ASTERISK-22467) Reported by: Corey Farrell Patches:
+         chan_dahdi-cleanup_push.patch uploaded by coreyfarrell (license
+         5909) clicompat-r2.patch uploaded by coreyfarrell (license 5909)
+         codecs-ilbc-doCPLC.patch uploaded by coreyfarrell (license 5909)
+         data-cleanup-test-registration.patch uploaded by coreyfarrell
+         (license 5909) main-asterisk-kill-listener.patch uploaded by
+         coreyfarrell (license 5909) ........ Merged revisions 401704 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401705 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401706 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, tests/test_dlinklists.c, funcs/func_math.c,
+         channels/sip/reqresp_parser.c, main/test.c,
+         main/editline/readline.c: memory leaks: Memory leak cleanup patch
+         by Corey Farrell (first set) (issue ASTERSIK-22467) Reported by:
+         Corey Farrell Patches:
+         chan_sip-parse_contact_header_test-free-contacts.patch uploaded
+         by coreyfarrell (license 5909) cli-filename-completion-leak.patch
+         uploaded by coreyfarrell (license 5909) func_math.patch uploaded
+         by corefarrell (license 5909) main-test-cleanup.patch uploaded by
+         coreyfarrell (license 5909) test_dlinklists.patch uploaded by
+         coreyfarrell (license 5909) ........ Merged revisions 401660 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401661 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401662 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/translate.c, res/res_rtp_asterisk.c: res_rtp_asterisk:
+         Address jittery DTMF events in RTP streams (closes issue
+         ASTERISK-21170) Reported by: NITESH BANSAL Patches:
+         dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)
+         Review: https://reviewboard.asterisk.org/r/2938/ ........ Merged
+         revisions 401619 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401620 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401621 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-23 16:52 +0000 [r401582]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, cdr/cdr_adaptive_odbc.c: cdr_adaptive_odbc: Also apply a
+         filter when the CDR value is empty. Extra CDR records are written
+         if a filtered CDR value is empty because the filter is not
+         checked. (closes issue ASTERISK-22272) Reported by: Jordi Llull
+         Chavarria ........ Merged revisions 401577 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401579 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401581 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-23 16:48 +0000 [r401580]  John Bigelow <jbigelow@digium.com>
+
+       * /, main/bridge_channel.c: Add a test suite event to indicate when
+         the atxfer 3-way feature is detected This adds a test suite event
+         that indicates to tests when the attended transfer three-way call
+         feature is detected. Review:
+         https://reviewboard.asterisk.org/r/2912/ ........ Merged
+         revisions 401578 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-23 15:23 +0000 [r401540]  Kinsey Moore <kmoore@digium.com>
+
+       * channels/chan_mgcp.c, /: chan_mgcp: Properly handle malformed
+         media lines This corrects a situation in which a media line was
+         not parsed properly and resulted in a crash. (closes issue
+         ASTERISK-21190) Reported by: adomjan Patches:
+         chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448)
+         ........ Merged revisions 401537 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401538 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401539 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-23 11:16 +0000 [r401500]  Joshua Colp <jcolp@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Fix an issue where an
+         incompatible audio format may be added to SDP. If preferred
+         codecs included any non-audio format the code would mistakenly
+         add the audio format, even if it was not a joint capability with
+         the remote side. (closes issue ASTERISK-21131) Reported by:
+         nbougues Patches: patch_unsupported_codec_1.8.patch uploaded by
+         nbougues (license 6470) ........ Merged revisions 401497 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401498 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401499 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-23 02:36 +0000 [r401489]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * channels/chan_iax2.c, configs/iax.conf.sample, /: chan_iax2: Fix
+         Binding To Multiple Addresses Again When reworking chan_iax2 for
+         IPv6, the ability to bind to multiple addresses was removed by
+         mistake. This patch restores this functionality and adds notes
+         about IPv6 addresses in the sample config. (closes issue
+         ASTERISK-22741) Reported by: Joshua Colp Tested by: Michael L.
+         Young Patches: asterisk-22741-fix-binding-multiple-addr.diff
+         uploaded by Michael L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/2945/ ........ Merged
+         revisions 401488 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-22 23:10 +0000 [r401450]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix crash when RTCP
+         is not available during SSRC change In r400089, a patch was put
+         in to correct erroneous RTCP statistic resets. Unfortunately,
+         ast_rtp_read can be called on an RTP instance that does not have
+         RTCP information. This patch prevents that crash by only
+         resetting the statistics if we do actually have an RTCP instance.
+         (issue AST-1174) (closes issue ASTERISK-22667) Reported by: John
+         Bigelow ........ Merged revisions 401445 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401446 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401447 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-22 19:04 +0000 [r401421-401435]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_queue.c, /: app_queue: Fix CLI "queue remove member"
+         queue_log entry. The queue_log entry resulting from CLI "queue
+         remove member" when log_membername_as_agent is enabled is wrong.
+         It always uses the interface name instead of the member name in
+         the queue_log entry. * Get the queue member before removing it
+         from the queue so the member name is available for the queue_log
+         entry. (closes issue ASTERISK-21826) Reported by: Oscar Esteve
+         Patches: fix_membername.diff (license #6505) patch uploaded by
+         Oscar Esteve (modified to fix potential ref leak) ........ Merged
+         revisions 401433 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401434 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/bridge_channel.c,
+         include/asterisk/bridge_channel_internal.h, /, main/bridge.c:
+         Bridging: Fix orphaned bridge if neither of the joining channels
+         can join. The original issue noted that the bridge is orphaned
+         when res_parking.so is not loaded and a call uses the dial kK
+         flags. A similar issue happens when only one of the park flags is
+         used. In this case you have the bridge with one or the other
+         channel left in it. The channel and bridge will stay around until
+         the channel hangs up. * Fixed the initial bridge channel push
+         failure to act as if the channel were kicked out of the bridge.
+         The bridge then decides if it needs to be dissolved. (closes
+         issue ASTERISK-22629) Reported by: Kevin Harwell Review:
+         https://reviewboard.asterisk.org/r/2928/ ........ Merged
+         revisions 401424 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/parking/parking_bridge_features.c,
+         res/parking/parking_bridge.c, /: res_parking: Give parking
+         timeout comebacktoorigin channel DTMF features. Parking timeouts
+         did not set any DTMF features for the channel calling the parker
+         back. * Added code to set the parkedcalltransfers,
+         parkedcallreparking, parkedcallhangup, and parkedcallrecording
+         options appropriately for the channels when a parking timeout
+         occurs. The recall channel DTMF options are set using the
+         BRIDGE_FEATURES channel variable to allow the other timeout
+         options to have the DTMF features available. (closes issue
+         ASTERISK-22630) Reported by: Kevin Harwell Review:
+         https://reviewboard.asterisk.org/r/2942/ ........ Merged
+         revisions 401422 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_parking.c: res_parking: Update XML documention for
+         DTMF features after parking timeout. * Updated the XML
+         documentation to indicate that the parkedcalltransfers,
+         parkedcallreparking, parkedcallhangup, and parkedcallrecording
+         configuration options also apply to parking timeouts. (issue
+         ASTERISK-22630) Reported by: Kevin Harwell Review:
+         https://reviewboard.asterisk.org/r/2942/ ........ Merged
+         revisions 401420 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-22 15:17 +0000 [r401411]  Joshua Colp <jcolp@digium.com>
+
+       * apps/app_dial.c: Add an 'R' option to Dial which sends ringing
+         until early media has been received. (closes issue
+         ASTERISK-10487) Reported by: Gaspar Zoltan Patches: 10487.patch
+         uploaded by n8ideas (license 6075)
+
+2013-10-21 21:06 +0000 [r401365]  Mark Michelson <mmichelson@digium.com>
+
+       * /, main/bridge_channel.c: Remove a noisy debug message from
+         bridging code. This particular debug message, during a stress
+         test, was logged so often that it appeared that there may be a
+         memory leak in the logger code. In actuality, there was no memory
+         leak, but the logger thread was having a hard time keeping up
+         with the demands of the rest of the system. Since this debug
+         message has no value at all, the best way to fix the problem was
+         to just remove the message. (closes issue AST-1225) reported by
+         John Bigelow Patches: spammy_log.diff uploaded by Mark Michelson
+         (License #5049) ........ Merged revisions 401364 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-21 19:50 +0000 [r401328]  Kevin Harwell <kharwell@digium.com>
+
+       * /, main/editline/term.c: Segfault in LIBEDIT_INTERNAL after
+         tgetstr(), when libncurses5-dev isn't installed Include the
+         appropriate declarations when not using termcap, but term+curses
+         and [n]curses do not exist. (closes issue ASTERISK-22351)
+         Reported by: A. Iglesias Patches:
+         issueA22351_libedit_internal_without_ncurses_dev.patch uploaded
+         by wdoekes (license 5674) ........ Merged revisions 401325 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401326 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401327 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-21 18:59 +0000 [r401316-401317]  David M. Lee <dlee@digium.com>
+
+       * rest-api/api-docs/channels.json, /: Fixing r401281; the model
+         name is Channel, with a capital C ........ Merged revisions
+         401315 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_ari.c, /: Fixed malformed Access-Control-Allow-Methods
+         header. Was causing Safari to barf on POST and DELETE. ........
+         Merged revisions 401106 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-19 21:57 +0000 [r401292]  Kinsey Moore <kmoore@digium.com>
+
+       * /, channels/chan_iax2.c: Fix IAX2 incoming call address lookups
+         This fixes address lookup for incoming calls without a peer
+         definition. The address family was unset instead of being set to
+         AST_AF_UNSPEC which was causing lookup failures on "127.0.0.1".
+         This is one of the causes of the current failure of the app_page
+         integration test. Review:
+         https://reviewboard.asterisk.org/r/2933/ ........ Merged
+         revisions 401291 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-19 14:45 +0000 [r401282]  Joshua Colp <jcolp@digium.com>
+
+       * res/ari/resource_channels.h, main/pbx.c, /,
+         rest-api/api-docs/channels.json, res/ari/resource_channels.c,
+         res/res_ari_channels.c: Return a channel snapshot when
+         originating using ARI, and subscribe the Stasis application to
+         it. This change allows a user of ARI to know what channel it has
+         originated and also follow any progress. If a Stasis application
+         is provided it will be automatically subscribed to the originated
+         channel immediately. (closes issue ASTERISK-22485) Reported by:
+         David Lee Review: https://reviewboard.asterisk.org/r/2910/
+         ........ Merged revisions 401281 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-18 22:52 +0000 [r401272]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/parking/parking_controller.c: res_parking: Remove setting
+         useless flag. ........ Merged revisions 401271 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-18 21:51 +0000 [r401263]  David M. Lee <dlee@digium.com>
+
+       * contrib/scripts/get_swagger_ui.sh (added), Makefile, /,
+         static-http: This is just a quick script for dumping swagger-ui
+         into static-http, so that it can be served by the Asterisk web
+         server. I had to change the Makefile in order to recursively
+         install content from the static-http directory, hence the code
+         review instead of just putting it in. Review:
+         https://reviewboard.asterisk.org/r/2924/ ........ Merged
+         revisions 401261 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-18 18:44 +0000 [r401249]  Mark Michelson <mmichelson@digium.com>
+
+       * main/sorcery.c, main/cli.c, main/manager.c, /, main/bridge.c,
+         main/bucket.c: Resolve some memory leaks due to incorrect for
+         loop / ao2 ref usage. A common idiom in Asterisk is to due
+         something like: for (ao2_obj = list_beginning; ao2_obj =
+         next_item; ao2_ref(ao2_obj, -1)) { ...do stuff... } This is nice
+         because it automatically takes care of the object references for
+         you. However, there is a pitfall here. If a break statement is in
+         the for loop, then the current reference is not cleaned up. In
+         some cases, this is on purpose, but in others there is a leak.
+         This commit fixes the leak cases. ........ Merged revisions
+         401248 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-18 16:59 +0000 [r401233-401240]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_fax.c, include/asterisk/channel.h, apps/app_dial.c,
+         main/channel.c: Add channel lock protection around translation
+         path setup. Most callers of ast_channel_make_compatible() happen
+         before the channels enter a two party bridge. With the new
+         bridging framework, two party bridging technologies may also call
+         ast_channel_make_compatible() when there is more than one thread
+         involved with the two channels. * Added channel lock protection
+         in set_format() and ast_channel_make_compatible_helper() when
+         dealing with the channel's native formats while setting up a
+         translation path. * Fixed best_src_fmt and best_dst_fmt usage
+         consistency in ast_channel_make_compatible_helper(). The call to
+         ast_translator_best_choice() got them backwards. * Updated some
+         callers of ast_channel_make_compatible() and the function
+         documentation. There is actually a difference between the two
+         channels passed in. * Fixed the deadlock potential in res_fax.c
+         dealing with ast_channel_make_compatible(). The deadlock
+         potential was already there anyway because res_fax called
+         ast_channel_make_compatible() with chan locked. (closes issue
+         ASTERISK-22542) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2915/ ........ Merged
+         revisions 401239 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, include/asterisk/bridge.h: Tweak ast_bridge_depart() doxygen.
+         ........ Merged revisions 401232 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-18 16:06 +0000 [r401216-401224]  Mark Michelson <mmichelson@digium.com>
+
+       * include/asterisk/bridge.h, /: Remove the bit about requiring
+         ast_bridge_depart() to be called before ast_bridge_destroy().
+         ........ Merged revisions 401223 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/bridge.h, /: Clarify in ast_bridge_destroy()
+         about how departable channels must be handled. ........ Merged
+         revisions 401212 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-18 15:14 +0000 [r401184]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, channels/chan_sip.c: Remove Port Restriction When Checking For
+         NAT When trying to determine if a peer is behind NAT, we should
+         not be using the ports when comparing addresses. This patch
+         removes the port from being checked and just useds the addresses
+         now. (closes issue ASTERISK-22729) Reported by: Michael L. Young
+         Tested by: Michael L. Young Patches:
+         asterisk-remove-using-port-for-nat-check.diff uploaded by Michael
+         L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/2927/ ........ Merged
+         revisions 401182 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401183 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-18 14:50 +0000 [r401181]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * main/channel.c, /: Properly copy/remove the device state cache
+         flag over a masquerade. In r378303 the
+         AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells the
+         devstate system to not cache states for non-real devices.
+         However, when optimizing away channels (ast_do_masquerade), that
+         flag wasn't copied. In my case, using Local devices as queue
+         members created a situation where the endpoint was considered in
+         use, but the state change of the device being available again was
+         ignored (not cached). The endpoint channel was optimized into the
+         (previously) Local channel, but kept the do-not-cache flag. The
+         end result being that the queue member apparently stayed in use
+         forever. (closes issue ASTERISK-22718) Reported by: Walter Doekes
+         Review: https://reviewboard.asterisk.org/r/2925/ ........ Merged
+         revisions 401178 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401179 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401180 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-17 20:39 +0000 [r401169]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, channels/chan_sip.c: Fix Setting A chan_sip Dialog's
+         SIP_NAT_FORCE_RPORT Flag A condition was added in a commit to fix
+         ASTERISK-21374, that, if the SIP_PAGE3_NAT_AUTO_RPORT flag was
+         set, to then copy a peer's SIP_NAT_FORCE_RPORT flag to the
+         dialog. This condition should not have been there since it
+         assumed that if Asterisk is in an environment where NAT is
+         involved, that the auto_* nat settings or force_rport setting
+         would be on in the global settings. If the nat setting in the
+         global setting is set to 'nat=no' and then turned on for peers
+         (which is not quite the recommended way, although it is allowed)
+         this flag is never copied to the dialog resulting in problems
+         like, REGISTER replies going to the wrong port. This patch
+         removes this conditional check and will now always use the peer's
+         flag which by this point in the code the checks on whether the
+         peer is behind NAT or not (if using auto_force_rport) have
+         already been run. (closes issue ASTERISK-22236) Reported by:
+         Filip Frank Tested by: Michael L. Young Patches:
+         asterisk-2236-always-set-rport.diff uploaded by Michael L. Young
+         (license 5026) Review: https://reviewboard.asterisk.org/r/2919/
+         ........ Merged revisions 401167 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401168 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-17 18:25 +0000 [r401159]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_parking.c, /: res_parking: Fix bug where reloading
+         immediately wipes new parkpos extensions (closes issue
+         ASTERISK-22631) Reported by: Kevin Harwell ........ Merged
+         revisions 401158 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-17 15:41 +0000 [r401122]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_xmpp.c, res/res_jabber.c: Reduce log level of a
+         non-pubsub error message Drop an error log message to debug level
+         1 since distributed device state functions correctly when
+         receiving this message and it spams the logs. (closes issue
+         ASTERISK-22410) Reported by: abelbeck Patches:
+         asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch
+         uploaded by abelbeck (License 5903)
+         asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded
+         by abelbeck (License 5903) ........ Merged revisions 401119 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401120 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401121 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-16 21:22 +0000 [r401108]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/ari/resource_playback.c: ARI: Fix crash when POST
+         /playback/{id}/control does not have an operation parameter.
+         (closes issue ASTERISK-22680) Reported by: John Bigelow ........
+         Merged revisions 401107 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-16 17:01 +0000 [r401097]  David M. Lee <dlee@digium.com>
+
+       * rest-api/resources.json, /: Oops. Leftover /stasis reference
+         ........ Merged revisions 401096 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-16 14:02 +0000 [r401088]  Kinsey Moore <kmoore@digium.com>
+
+       * rest-api/api-docs/bridges.json, res/ari/resource_channels.h, /,
+         res/ari/resource_bridges.h, rest-api/api-docs/channels.json:
+         Clarify documentation for channel and bridge list This makes it
+         clear that the ARI API calls for listing channels and bridges
+         will list all channels or bridges in the system and not just
+         those that are in or are controlled by a Stasis application.
+         (closes issue ASTERISK-22635) Reported by: Kevin Harwell ........
+         Merged revisions 401087 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-16 12:19 +0000 [r401079]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, apps/app_queue.c: Don't check all realtime queues when doing
+         "queue show some_queue". When using realtime queues, queues have
+         to be fetched from the database every now and then to see if any
+         info has been changed or to see if the queue has been removed.
+         When fetching info for an individual queue, the pruning of other
+         queues is unnecessarily costly. Review:
+         https://reviewboard.asterisk.org/r/2907/ ........ Merged
+         revisions 401049 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 401076 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401077 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-16 00:12 +0000 [r401041]  Paul Belanger <paul.belanger@polybeacon.com>
+
+       * /, rest-api/api-docs/bridges.json, res/res_ari_bridges.c: Use
+         POST / DELETE to toggle ARI bridge moh Review:
+         https://reviewboard.asterisk.org/r/2911/ ........ Merged
+         revisions 401040 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-15 23:44 +0000 [r401020-401039]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/translate.c: translate.c: Some minor code tweaks. *
+         Consistently compare format2index() return value so matrix_get()
+         cannot get passed negative values. * Optimize
+         ast_translator_best_choice() to defer initializing things until
+         needed. Also cached the matrix_get() return value rather than
+         repeatedly calling it.
+
+       * /, channels/dahdi/bridge_native_dahdi.c: bridge_native_dahdi:
+         Return channel join failure if could not make the channels
+         compatible. ........ Merged revisions 401030 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_iax2.c: chan_iax2: Fix channel left locked in
+         off nominal code path. ........ Merged revisions 401016 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 401017 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-15 20:03 +0000 [r401019]  Kinsey Moore <kmoore@digium.com>
+
+       * rest-api/api-docs/bridges.json, res/res_ari_bridges.c, /: Ensure
+         bridge record error responses validate This adds the list of
+         expected errors to the /bridges/{bridgeId}/record ARI
+         documentation so that outbound 4xx errors validate properly.
+         Previously, this would result in a response validation failure.
+         (closes issue ASTERISK-22627) Reported by: Joshua Colp ........
+         Merged revisions 401018 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-15 15:30 +0000 [r401007]  Paul Belanger <paul.belanger@polybeacon.com>
+
+       * rest-api/api-docs/channels.json, res/res_ari_channels.c, /: Use
+         POST / DELETE to toggle hold / moh for ARI channels This change
+         updates how we handle toggle events, rather then create two
+         different function names, we'll just use POST / DELETE from HTTP
+         to handle it. Review: https://reviewboard.asterisk.org/r/2906/
+         ........ Merged revisions 400999 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-15 15:26 +0000 [r400998]  Mark Michelson <mmichelson@digium.com>
+
+       * /, channels/chan_sip.c: Prevent chan_sip from sending duplicate
+         BYEs. When a 200 OK for an initial INVITE is received, we were
+         doing the right thing by ACKing and sending an immediate BYE.
+         However, we also were doing the wrong thing and queuing an answer
+         frame, thus causing the call to be answered. This would cause the
+         call to be hung up by the channel thread, thus resulting in a
+         second BYE being sent out. In this fix, I also have set the
+         hangupcause to be correct since the initial BYE being sent by
+         Asterisk had an unknown hangup cause. I have changed to using
+         "Bearer capabilty not available" since the call was hung up due
+         to an SDP offer/answer error. (closes issue ASTERISK-22621)
+         reported by Kinsey Moore ........ Merged revisions 400970 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400971 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400984 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-15 13:44 +0000 [r400959]  David M. Lee <dlee@digium.com>
+
+       * /, rest-api-templates/asterisk_processor.py: My doc correction in
+         r400842 had a silly bug. Because I added a wiki_description to
+         models and not their properties, the rendered wiki page had the
+         model description instead of the property descriptions, which
+         looks very silly indeed. (closes issue ASTERISK-22705) ........
+         Merged revisions 400958 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-14 22:52 +0000 [r400913-400950]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
+         channels/chan_dahdi.h: chan_dahdi: Add config support for hwgain
+         settings. * Add hwtxgain and hwrxgain config options to
+         chan_dahdi.conf with documentation in chan_dahdi.conf.sample.
+         (closes issue ASTERISK-22429) Reported by: Jaco Kroon Patches:
+         jira_asterisk_22429_hwgain_trunk.patch (license #5621) patch
+         uploaded by rmudgett
+
+       * channels/chan_dahdi.c, /, channels/chan_dahdi.h: chan_dahdi:
+         Reflect the set software gain in the CLI "dahdi show channel"
+         output. * Remember the swgain setting from CLI "dahdi set swgain"
+         command so the CLI "dahdi show channel" output will reflect the
+         current setting. * Updated CLI "dahdi set hwgain" and "dahdi set
+         swgain" documentation. (issue ASTERISK-22429) Reported by: Jaco
+         Kroon Patches: jira_asterisk_22429_v1.8_v2.patch (license #5621)
+         patch uploaded by rmudgett ........ Merged revisions 400907 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400909 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400911 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-14 22:03 +0000 [r400912]  Mark Michelson <mmichelson@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Do not increment the SDP
+         version between 183 and 200 responses. Bumping the SDP version
+         number can cause interoperability problems since receivers of the
+         responses will expect that a 200 SDP will be identical to a
+         previous 183 SDP. (closes issue ASTERISK-21204) reported by
+         NITESH BANSAL Patches:
+         dont-increment-session-version-in-2xx-after-183.patch uploaded by
+         NITESH BANSAL (License #6418) ........ Merged revisions 400906
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 400908 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400910 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-14 15:54 +0000 [r400891]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c: pjsip outbound
+         registration: Log message says received a 408 when we didn't If
+         the server didn't exist that we are trying to register to the log
+         message would say that a 408 was received from that server when
+         in reality one wasn't. Added log messages stating no response was
+         received if the response does not exist. (closes issue
+         ASTERISK-22554) Reported by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/2893/ ........ Merged
+         revisions 400890 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-14 15:01 +0000 [r400882]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip_mwi.c, /: Remove duplicate module info block The
+         module info block was repeated twice. Once is sufficient.
+         ........ Merged revisions 400881 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-13 15:42 +0000 [r400873]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_session.c, /: Fix a race condition in
+         res_pjsip_session with rapidly terminating the session. The
+         INVITE session state callback wrongly assumes that a session will
+         always exist, but when rapidly terminating the session this
+         assumption goes out the window. As all handler code for the
+         INVITE session state callback requires the session it will now
+         just exit immediately if no session exists. (closes issue
+         ASTERISK-22668) Reported by: John Bigelow ........ Merged
+         revisions 400872 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-12 16:53 +0000 [r400864]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_pjsip_outbound_authenticator_digest.c: Fix realm
+         comparison for outbound auth When generating the list of
+         authentication credentials to pass to PJSIP, Asterisk was using
+         the raw pointer of a pj_str_t which is not always
+         NULL-terminated. This sometimes resulted in incorrect text for
+         the realm and a failure to match the realm for authentication
+         purposes which was causing the outbound nominal auth pjsip basic
+         call test to bounce. This now uses the pj_str_t that contains the
+         realm instead of generating a new one. Thanks to John Bigelow for
+         helping to narrow this down. ........ Merged revisions 400863
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-11 17:05 +0000 [r400855]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/channel.h, /: channel.h: whitespace changes.
+         ........ Merged revisions 400854 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-11 16:36 +0000 [r400851-400852]  David M. Lee <dlee@digium.com>
+
+       * /, res/ari/resource_bridges.h, rest-api/api-docs/playback.json,
+         rest-api-templates/api.wiki.mustache, res/res_ari_playback.c,
+         rest-api/api-docs/channels.json, res/ari/resource_playback.h,
+         rest-api/api-docs/bridges.json,
+         rest-api-templates/asterisk_processor.py,
+         res/ari/resource_channels.h,
+         rest-api-templates/models.wiki.mustache: Multiple revisions
+         400508,400842-400843,400848 ........ r400508 | dlee | 2013-10-03
+         23:54:51 -0500 (Thu, 03 Oct 2013) | 1 line Corrected response
+         class for stopPlayback ........ r400842 | dlee | 2013-10-10
+         14:23:24 -0500 (Thu, 10 Oct 2013) | 1 line Correct some ARI wiki
+         rendering errors ........ r400843 | dlee | 2013-10-10 14:26:19
+         -0500 (Thu, 10 Oct 2013) | 1 line Updated /play resource docs.
+         The playback of http: resources isn't implemented... yet ........
+         r400848 | dlee | 2013-10-11 11:18:46 -0500 (Fri, 11 Oct 2013) | 5
+         lines Fix a stupid copy/paste error in ARI docs. Patches:
+         ari-doc-patch.txt uploaded by jbigelow (license 5091) ........
+         Merged revisions 400508,400842-400843,400848 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /: Fixed merge tracking for r400360, which was somehow lost
+
+2013-10-11 16:28 +0000 [r400850]  Richard Mudgett <rmudgett@digium.com>
+
+       * bridges/bridge_softmix.c, /: Softmix: Fix crash when switching
+         from softmix to another bridge technology. The crash is caused by
+         a race condition when switching between native RTP and softmix
+         bridging technologies. In this situation, the bridging technology
+         is switched from native RTP to softmix, and then back to native
+         RTP fast enough that the softmix private data gets destroyed
+         before the softmix mixing thread gets started. Thanks to Kinsey
+         Moore for the crash analysis. * Fix race condition when starting
+         the softmix mixing thread and switching to another bridge
+         technology. (closes issue ASTERISK-22678) Reported by: John
+         Bigelow Patches: jira_asterisk_22678_v12.patch (license #5621)
+         patch uploaded by rmudgett Tested by: John Bigelow ........
+         Merged revisions 400849 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-10 18:21 +0000 [r400825-400834]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip/location.c: Perform validation of permanent
+         contacts on AORs in res_pjsip. ........ Merged revisions 400833
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c: Fix an
+         assertion in res_pjsip when specifying an invalid outbound proxy.
+         This change fixes two issues when setting an outbound proxy: 1.
+         The outbound proxy URI was not parsed and validated during
+         configuration. 2. If an outgoing dialog was created and the
+         outbound proxy could not be set an assertion would occur because
+         the usage count on the dialog was not decremented. The
+         documentation has also been updated to specify that a full URI
+         must be specified for the outbound proxy. (closes issue
+         ASTERISK-22672) Reported by: Antti Yrjola ........ Merged
+         revisions 400824 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-09 11:02 +0000 [r400772-400813]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_pjsip_header_funcs.c, /: Use 'z' as the format specifier
+         for size_t Using 'lu' will produce a compiler warning for some
+         versions of gcc and on some architectures. 'z' should be portable
+         as a format specifier for size_t. ........ Merged revisions
+         400812 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_header_funcs.c (added), /: Add PJSIP_HEADER
+         function for manipulation of SIP headers in the PJSIP stack This
+         patch adds support to the PJSIP stack in Asterisk for SIP header
+         manipulation. Note that this is analagous to
+         SIPAddHeader/SIPRemoveHeader. For PJSIP_HEADER, an incoming
+         supplemental session callback is registered that takes the
+         pjsip_hdrs from the incoming session and stores them in a linked
+         list in the session datastore. Calls to PJSIP_HEADER traverse
+         over the list and return the nth matching header where 'n' is the
+         'number' argument to the function. When adding a header, the
+         first call creates a datastore and linked list and adds the
+         datastore to the session. The header is then created as a
+         pjsip_hdr and added to the list. An outgoing supplemental session
+         callback then traverses the list and adds the headers to the
+         outgoing pjsip_msg. When removing a header, the list created with
+         PJSIP_HEADER(add,...) is traversed and all matching entries are
+         removed. (closes issue ASTERISK-22498) Reported by: George Joseph
+         patch: res_pjsip_header_funcs_v1.patch uploaded by george.joseph
+         (License 6322) ........ Merged revisions 400771 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-08 22:33 +0000 [r400770]  Kinsey Moore <kmoore@digium.com>
+
+       * /, configure, configure.ac: Add warning when compiling with iODBC
+         support When running configure, libiodbc2 development headers
+         will fulfill the requirement for ODBC development headers, but
+         will not function properly. This adds a warning when libiodbc2
+         development headers are detected instead of unixodbc development
+         headers. (closes issue ASTERISK-22459) Reported by: Patrick
+         Maille Tested by: Walter Doekes Patches:
+         issueA22459_warn_when_using_iodbc.patch uploaded by Walter Doekes
+         (License 5674) ........ Merged revisions 400767 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400768 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400769 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-08 21:20 +0000 [r400759]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_agent_pool.c, /: app_agent_pool: Fix AMI/CLI AgentLogoff
+         soft preventing agents from logging back in. * Clear the
+         deferred_logoff flag when an agent logs in. (closes issue
+         ASTERISK-22669) Reported by: John Bigelow ........ Merged
+         revisions 400754 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-08 20:52 +0000 [r400750]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip.c, res/res_pjsip/config_transport.c: Switch from
+         using pjsip_strerror to pj_strerror. pjsip_strerror is only aware
+         of PJSIP-specific error codes. pj_strerror() is aware of all
+         PJProject error codes and OS-specific error codes. This
+         specifically fixes an oft-seen error in transport configuration
+         code where EADDRINUSE would result in "Unknown PJSIP error
+         120098" instead of a useful message. ........ Merged revisions
+         400749 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-08 20:18 +0000 [r400728-400744]  Richard Mudgett <rmudgett@digium.com>
+
+       * configs/confbridge.conf.sample, /,
+         apps/confbridge/include/confbridge.h, apps/app_confbridge.c,
+         CHANGES, apps/confbridge/conf_config_parser.c: app_confbridge:
+         Can now set the language used for announcements to the
+         conference. ConfBridge now has the ability to set the language of
+         announcements to the conference. The language can be set on a
+         bridge profile in confbridge.conf or by the dialplan function
+         CONFBRIDGE(bridge,language)=en. (closes issue ASTERISK-19983)
+         Reported by: Jonathan White Patches: M19983_rev2.diff (license
+         #5138) patch uploaded by junky (modified) Tested by: rmudgett
+         ........ Merged revisions 400741 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400742 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
+         duplicate default_user profile. * Fixed looking in the wrong
+         profiles container to see if the default_user profile is already
+         created in verify_default_profiles(). The bridge profile
+         container is never going to hold user profiles. :) ........
+         Merged revisions 400723 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400724 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-08 18:19 +0000 [r400684-400704]  Kinsey Moore <kmoore@digium.com>
+
+       * funcs/func_config.c, /: Fix func_config list entry allocation The
+         AST_CONFIG dialplan function defined in func_config.c allocates
+         its config file list entries using ast_malloc. List entry
+         allocations destined for use with Asterisk's linked list API must
+         be ast_calloc()d or otherwise initialized so that list pointers
+         are set to NULL. These uses of ast_malloc have been replaced by
+         ast_calloc to prevent dereferencing of uninitialized pointer
+         values when traversing the list. (closes issue ASTERISK-22483)
+         Reported by: Brian Scott ........ Merged revisions 400694 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400697 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400701 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_rtp_asterisk.c, /: Fix STUN crash when using IPv6 any
+         address Ensure that when chan_sip binds to the IPv6 any address
+         ([::]), IPv4 candidates are also added. (closes issue
+         ASTERISK-21917) Reported by: Torrey Searle Patches:
+         0023_ipv6_stun_crash.patch uploaded by Torrey Searle (License
+         5334) ........ Merged revisions 400681 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400682 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-08 15:44 +0000 [r400683]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip/pjsip_options.c, /: Push CLI qualify into the
+         threadpool. If you run Asterisk in the background and then
+         connect to it through a separate console, the thread that runs
+         CLI commands is not registered with PJLIB. Thus PJLIB does not
+         like it when you attempt to send OPTIONS requests from that
+         thread. So now we push the task into the threadpool, which we
+         know to be registered with PJLIB. Thanks to Antti Yrjola for
+         reporting this. ........ Merged revisions 400680 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-08 15:12 +0000 [r400662-400672]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_agi.c, apps/app_queue.c: Make app_queue and res_agi
+         independent of AMI being enabled. The
+         https://reviewboard.asterisk.org/r/2888/ review changes manager
+         to not subscribe to stasis when it is disabled for performance
+         reasons. When manager is disabled app_queue and res_agi decline
+         to load and fail to clean up what they have already allocated. *
+         Made app_queue and res_agi clean up allocated resources when they
+         decline to load. * Made app_queue and res_agi use their own
+         subscriptions to the stasis topics instead of borrowing manager's
+         message router structure inappropriately. (closes issue
+         ASTERISK-22604) Reported by: rmudgett Review:
+         https://reviewboard.asterisk.org/r/2902/ ........ Merged
+         revisions 400671 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, include/asterisk/stasis.h, apps/app_queue.c,
+         include/asterisk/manager.h: Miscellaneous stand alone comment
+         cleanups. ........ Merged revisions 400661 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-06 17:13 +0000 [r400625]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, apps/app_queue.c: app_queue: Fix Queuelog EXITWITHKEY only
+         logging two of four fields Commit r62462 added two extra fields
+         for logging "the original position the caller entered the queue
+         at, and the amount of time the caller was waiting in the queue."
+         But when r75969 was merged from 1.4 into trunk (r75977), these
+         two fields disappeared. Those two extra fields were not logged in
+         1.4 and when the patch was merged, those fields went away.
+         Therefore, this is a regression and was caught by the reporter
+         because he was reading the awesome "Asterisk: The Definitive
+         Guide" book. (closes issue ASTERISK-22197) Reported by: Dalius M.
+         Tested by: Dalius M. Patches:
+         asterisk-22197-q-log-exitwithkey.diff uploaded by Michael L.
+         Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/2901/ ........ Merged
+         revisions 400622 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400623 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400624 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-05 00:59 +0000 [r400593]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, channels/iax2/include/parser.h: chan_iax2: Fix compile error.
+         ........ Merged revisions 400588 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-04 21:41 +0000 [r400568]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * main/acl.c, include/asterisk/netsock2.h, CHANGES,
+         channels/chan_iax2.c, channels/iax2/parser.c, main/netsock.c,
+         main/netsock2.c, /, channels/iax2/include/parser.h: Add IPv6
+         Support To chan_iax2 This patch adds IPv6 support to chan_iax2.
+         Yay! (closes issue ASTERISK-22025) Patches:
+         iax2-ipv6-v5-reviewboard.diff by Michael L. Young (license 5026)
+         Review: https://reviewboard.asterisk.org/r/2660/ ........ Merged
+         revisions 400567 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-04 19:32 +0000 [r400553]  David M. Lee <dlee@digium.com>
+
+       * rest-api/api-docs/applications.json (added), /: Added missing
+         file from r400522 ........ Merged revisions 400552 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-04 19:11 +0000 [r400533-400543]  Jonathan Rose <jrose@digium.com>
+
+       * res/res_pjsip_logger.c, /: chan_pjsip: Make logger togglable
+         without loading/unloading This patch makes the res_pjsip_logger
+         do a few things... First, it will be built and installed by
+         default now, so end users won't need to enable it in menuselect.
+         Second, while it is loaded, it no longer will immediately issue
+         log messages. Upon loading, it is in the disabled state and must
+         be turned on with the new CLI command. The CLI command 'pjsip set
+         logger <on/off/host> has been added and can be used to do the
+         following: pjsip set logger on: Enables logger for all PJSIP
+         traffic pjsip set logger off: Disables logger for all PJSIP
+         traffic pjsip set logger host <host>: Enables logger for the
+         specific host Review: https://reviewboard.asterisk.org/r/2900/
+         ........ Merged revisions 400542 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /,
+         contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
+         (added), configs/extconfig.conf.sample,
+         configs/sorcery.conf.sample,
+         contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py:
+         chan_pjsip: Add alembic scripts for generating db tables for
+         PJSIP Also updates sample configurations for sorcery and
+         extconfig to demonstrate how to use databases created by that
+         alembic script. (closes issue ASTERISK-22133) Reported by: Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/2892/ ........
+         Merged revisions 400532 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-04 16:01 +0000 [r400523]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_stasis.c, main/asterisk.c,
+         rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
+         res/stasis/app.c, /,
+         rest-api-templates/ari_model_validators.h.mustache,
+         include/asterisk/endpoints.h, res/res_ari_applications.c (added),
+         res/ari/resource_endpoints.h, include/asterisk/stasis_app.h,
+         res/stasis/app.h, rest-api/resources.json,
+         include/asterisk/_private.h, res/ari/ari_model_validators.c,
+         main/endpoints.c, res/ari/ari_model_validators.h, main/json.c,
+         res/res_ari_model.c, res/ari.make,
+         res/ari/resource_applications.c (added),
+         res/ari/resource_applications.h (added): ARI: Add subscription
+         support This patch adds an /applications API to ARI, allowing
+         explicit management of Stasis applications. * GET /applications -
+         list current applications * GET /applications/{applicationName} -
+         get details of a specific application * POST
+         /applications/{applicationName}/subscription - explicitly
+         subscribe to a channel, bridge or endpoint * DELETE
+         /applications/{applicationName}/subscription - explicitly
+         unsubscribe from a channel, bridge or endpoint Subscriptions work
+         by a reference counting mechanism: if you subscript to an event
+         source X number of times, you must unsubscribe X number of times
+         to stop receiveing events for that event source. Review:
+         https://reviewboard.asterisk.org/r/2862 (issue ASTERISK-22451)
+         Reported by: Matt Jordan ........ Merged revisions 400522 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-04 15:49 +0000 [r400511-400521]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip.c: Enclose the To URI and update its user
+         portion if a request user has been specified. ........ Merged
+         revisions 400520 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_session.c, /: Replace the connection address at the
+         SDP level if altering the SDP with the external media address.
+         ........ Merged revisions 400510 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 23:20 +0000 [r400482]  Jonathan Rose <jrose@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Don't ignore expires value in
+         contact header if it lacks semicolon (closes issue
+         ASTERISK-22574) Reported by: Filip Jenicek Patches:
+         chan_sip_expires.patch uploaded by Filip Jenicek (license 6277)
+         ........ Merged revisions 400469 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400470 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400471 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 21:46 +0000 [r400461]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/channel_internal_api.c: Remove publication of a channel
+         snapshot when the technology is set This patch removes said
+         publication for a few reasons: (1) It is unnecessary. Association
+         of the channel technology with a specific channel is an
+         implementation detail that should be assumed to "just happen",
+         and consumers of Stasis don't need to be informed about it. (2)
+         Publication of said message can now cause crashes, as the actual
+         creation of a channel in normal locations now stages its
+         messages. As a result, things that create dummy channels (such as
+         the SIP RTP QOS unit test) and associate them with a channel
+         technology were now crashing, as the channel itself was not known
+         by Stasis. ........ Merged revisions 400460 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 20:22 +0000 [r400452]  Mark Michelson <mmichelson@digium.com>
+
+       * bridges/bridge_native_rtp.c, /,
+         include/asterisk/bridge_technology.h: Fix assumption in
+         bridge_native_rtp.c regarding number of participants in a bridge.
+         When a party leaves a bridge, there may be more participants in
+         the bridge than expected. As such, it is important not to make
+         assumptions regarding the list of channels in a bridge. This
+         change makes it so that when a party leaves a native RTP bridge,
+         we unbridge it and the party it was bridged with. Previously, the
+         first and last channels in the list were unbridged since it was
+         assumed that these were the two channels that had been bridged.
+         As previously stated, a new party had been inserted into the
+         bridge, so this logic did not work properly. (closes issue
+         ASTERISK-22615) reported by Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2899 ........ Merged revisions
+         400403 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 19:32 +0000 [r400443]  Joshua Colp <jcolp@digium.com>
+
+       * /, main/cdr.c: When serializing CDR variables (like for "core
+         show channels") don't output an error if CDRs aren't enabled.
+         ........ Merged revisions 400442 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 19:30 +0000 [r400441]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/security_events.c: Fix security events for AMI invalid
+         password In r337595, additional security events were added for
+         chan_sip authentication failures. The new IEs added to the
+         existing invalid password event were defined as required IEs, but
+         existing users of the event did not set the new IEs and could not
+         since they didn't apply to existing uses. They are now marked as
+         optional IEs. (closes issue ASTERISK-22578) Reported by: Matt
+         Jordan ........ Merged revisions 400421 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400440 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 19:06 +0000 [r400402]  Joshua Colp <jcolp@digium.com>
+
+       * res/ari/resource_channels.c, /: Fix a crash caused by muting and
+         unmuting a channel in ARI without specifying a direction. (closes
+         issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by
+         Matt Jordan, whose office I have taken over in the name of
+         Canada. ........ Merged revisions 400401 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 18:51 +0000 [r400399]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/cel.c: cel: Some whitespace cleanups ........ Merged
+         revisions 400398 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 18:32 +0000 [r400385-400397]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_rtp_multicast.c, /: res_rtp_multicast: Ensure SSRC is set
+         properly This fixes a bug where the SSRC field on multicast RTP
+         can be stuck at 0 which can cause problems for endpoints trying
+         to make sense of incoming streams. (closes issue ASTERISK-22567)
+         Reported by: Simone Camporeale Patches:
+         22567_res_mulitcast_ssrc.patch uploaded by Simone Camporeale
+         (License 6536) ........ Merged revisions 400393 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400394 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400395 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, configure, include/asterisk/autoconfig.h.in, configure.ac,
+         main/xml.c: Detect and use xsltCleanupGlobals when available This
+         introduces usage of an additional libxslt cleanup function,
+         xsltCleanupGlobals, when the configure script detects that it is
+         available. Early versions of the library did not include this
+         function. (closes issue ASTERISK-22570) Reported by: Corey
+         Farrell Patches: xsltCleanupGlobals.patch uploaded by Corey
+         Farrell (License 5909) ........ Merged revisions 400384 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 16:28 +0000 [r400374]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_vpb.cc, /: chan_vpb: Make compile again. ........
+         Merged revisions 400373 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 14:59 +0000 [r400363-400364]  Mark Michelson <mmichelson@digium.com>
+
+       * tests/test_cel.c, /: Get rid of uses of stasis_topic_wait()
+         ........ Merged revisions 400362 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * pbx/pbx_spool.c, main/manager.c, main/format_cap.c,
+         channels/chan_skinny.c, res/res_agi.c, channels/chan_motif.c,
+         channels/chan_alsa.c, apps/app_confbridge.c,
+         addons/chan_mobile.c, channels/chan_mgcp.c,
+         res/res_clioriginate.c, channels/chan_bridge_media.c,
+         channels/chan_sip.c, tests/test_format_api.c,
+         res/res_pjsip_sdp_rtp.c, bridges/bridge_simple.c,
+         apps/app_originate.c, res/parking/parking_applications.c,
+         main/core_local.c, channels/chan_console.c, channels/chan_oss.c,
+         include/asterisk/format_cap.h, res/res_pjsip_session.c,
+         res/ari/resource_bridges.c, channels/chan_jingle.c,
+         channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c,
+         res/res_pjsip/pjsip_configuration.c, main/file.c,
+         channels/chan_h323.c, channels/chan_nbs.c,
+         bridges/bridge_native_rtp.c, tests/test_config.c,
+         res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c,
+         channels/chan_multicast_rtp.c, addons/chan_ooh323.c,
+         main/rtp_engine.c, /, main/ccss.c, apps/app_meetme.c,
+         bridges/bridge_holding.c, main/bridge_basic.c,
+         bridges/bridge_softmix.c, channels/chan_gtalk.c,
+         channels/chan_iax2.c, main/media_index.c, main/channel.c,
+         channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c: Cache
+         string values of formats on ast_format_cap() to save processing.
+         Channel snapshots have string representations of the channel's
+         native formats. Prior to this change, the format strings were
+         re-created on ever channel snapshot creation. Since channel
+         native formats rarely change, this was very wasteful. Now, string
+         representations of formats may optionally be stored on the
+         ast_format_cap for cases where string representations may be
+         requested frequently. When formats are altered, the string cache
+         is marked as invalid. When strings are requested, the cache
+         validity is checked. If the cache is valid, then the cached
+         strings are copied. If the cache is invalid, then the string
+         cache is rebuilt and copied, and the cache is marked as being
+         valid again. Review: https://reviewboard.asterisk.org/r/2879
+         ........ Merged revisions 400356 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-03 14:52 +0000 [r400361]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, res/res_pjsip_t38.c, /: Fix crashes in
+         res_pjsip_sdp_rtp and res_pjsip_t38 when a stream is rejected and
+         external_media_address is set. The callback function for changing
+         the media address in streams wrongly assumes that a connection
+         line will always be present. This is false as no line is present
+         if a stream has been rejected. (closes issue ASTERISK-22645)
+         Reported by: Rusty Newton ........ Merged revisions 400360 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 22:22 +0000 [r400335]  Mark Michelson <mmichelson@digium.com>
+
+       * main/stasis_wait.c (removed), res/ari/resource_endpoints.c, /,
+         include/asterisk/stasis.h, tests/test_cel.c,
+         include/asterisk/stasis_endpoints.h, channels/chan_pjsip.c,
+         main/stasis.c, main/stasis_endpoints.c: Multiple revisions
+         400318-400319 ........ r400318 | mmichelson | 2013-10-02 17:08:49
+         -0500 (Wed, 02 Oct 2013) | 12 lines Remove unnecessary waits from
+         stasis. Since caches are updated on publisher threads, there is
+         no need to wait for the cache updates to occur after a stasis
+         message is published. In the case of chan_pjsip device state
+         changes, this set of changes caused an improvement to
+         performance. Review: https://reviewboard.asterisk.org/r/2890
+         ........ r400319 | mmichelson | 2013-10-02 17:10:54 -0500 (Wed,
+         02 Oct 2013) | 3 lines Remove svn:mergeinfo property. ........
+         Merged revisions 400318-400319 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 21:33 +0000 [r400317]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * channels/chan_iax2.c, /: Cast Integer Argument To Unsigned Char
+         The member reg in the peercnt structure is an unsigned char and
+         peercnt_modify() is expecting an unsigned char argument which
+         gets assigned to peercnt->reg. This patch fixes that by casting
+         the integer argument being passed to peercnt_modify to unsigned
+         char. ........ Merged revisions 400314 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400315 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400316 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 21:26 +0000 [r400313]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, main/manager.c, /, main/cel.c: Only create Stasis
+         subscriptions when enabled Subscribing to Stasis isn't free. As
+         such, this patch makes AMI, CDR, and CEL - the "big 3" - only
+         subscribe when enabled. Toggling their availability via a .conf
+         file will unsubscribe/subscribe as appropriate. Review:
+         https://reviewboard.asterisk.org/r/2888/ ........ Merged
+         revisions 400312 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 20:31 +0000 [r400304]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/pbx.c, /: Originate: Make setting caller id on outgoing call
+         use either name or number. Previous code was requiring both name
+         and number to be available. Also restored a comment block on why
+         caller id is also set on an outgoing call leg in addition to
+         connected line from earlier versions of Asterisk. ........ Merged
+         revisions 400303 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 19:20 +0000 [r400295]  Kinsey Moore <kmoore@digium.com>
+
+       * /, rest-api/api-docs/asterisk.json: Correct allowable values for
+         ARI general information filter ........ Merged revisions 400291
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 19:17 +0000 [r400287]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, /: Fix the CDR CLI command 'cdr show active
+         {channel}' When the switch from channel names to channel unique
+         IDs happened, the poor CLI command got left in the dust. This
+         fixes the command so that users can once again see how Asterisk
+         is messing up your billing information. ........ Merged revisions
+         400286 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 18:44 +0000 [r400285]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_t38.c: Fix a crash in res_pjsip_t38 caused by
+         the wrong assumption that a session will always have a channel.
+         When starting up or shutting down this assumption is false.
+         ........ Merged revisions 400284 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 18:28 +0000 [r400282]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+       * Makefile, doc/astdb2sqlite3.8 (added), /, doc/astdb2bdb.8
+         (added): man pages for astdb2bdb and astdb2sqlite3 Review:
+         https://reviewboard.asterisk.org/r/2898/ ........ Merged
+         revisions 400279 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400281 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 17:12 +0000 [r400269-400271]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_stack.c, res/stasis_recording/stored.c, main/json.c,
+         main/stasis_cache.c, res/res_ari.c, /, main/utils.c:
+         MALLOC_DEBUG: Fix some misuses of free() when MALLOC_DEBUG is
+         enabled. * There were several places in ARI where an external
+         library was mallocing memory that must always be released with
+         free(). When MALLOC_DEBUG is enabled, free() is redirected to the
+         MALLOC_DEBUG version. Since the external library call still uses
+         the normal malloc(), MALLOC_DEBUG complains that the freed memory
+         block is not registered and will not free it. These cases must
+         use ast_std_free(). * Changed calls to asprintf() and vasprintf()
+         to the equivalent ast_asprintf() and ast_vasprintf() versions
+         respectively. ........ Merged revisions 400270 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/sig_ss7.c, /: sig_ss7: Fix compiler warnings. ........
+         Merged revisions 400268 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-02 16:23 +0000 [r400246-400266]  Joshua Colp <jcolp@digium.com>
+
+       * channels/chan_alsa.c, main/stasis_channels.c, channels/sig_ss7.c,
+         channels/chan_pjsip.c, channels/chan_mgcp.c,
+         channels/chan_unistim.c, apps/app_dial.c, main/pbx.c, /,
+         channels/chan_sip.c, main/bridge.c, include/asterisk/channel.h,
+         channels/chan_gtalk.c, channels/chan_console.c,
+         channels/sig_pri.c, channels/chan_iax2.c, channels/chan_jingle.c,
+         main/channel.c, channels/chan_dahdi.c, main/dial.c,
+         include/asterisk/stasis_channels.h, channels/chan_skinny.c,
+         channels/chan_motif.c: Reduce channel snapshot creation and
+         publishing by up to 50%. This change introduces the ability to
+         stage channel snapshot creation and publishing by suppressing the
+         implicit creation and publishing that some functions have. Once
+         all operations are executed the staging is marked as done and a
+         single snapshot is created and published. Review:
+         https://reviewboard.asterisk.org/r/2889/ ........ Merged
+         revisions 400265 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_session.c, /: Fix a random one way audio issue in
+         PJSIP. Due to the asynchronous design of the PJMEDIA SDP
+         negotiator it was possible for the SDP to be negotiated *after* a
+         channel was created and after it was being wait on by an
+         application. It is only after negotiation occurs that the file
+         descriptors for RTP are placed on the channel. Since the channel
+         was already being waited on these file descriptors were not
+         monitored, causing incoming media to never be read. This change
+         wakes up any application waiting on the channel so that added
+         file descriptors end up being monitored. (closes issue AST-1227)
+         Reported by: John Bigelow ........ Merged revisions 400256 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/stasis/control.c, include/asterisk/stasis_app.h,
+         res/ari/resource_channels.c: Allow specifying a channel to dial
+         an extension and context in an ARI dial operation. (issue
+         ASTERISK-22625) Reported by: Scott Griepentrog ........ Merged
+         revisions 400254 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip_session.c: Retrieve and store the hostname only
+         once so multiple threads do not potentially initialize it at the
+         same time. ........ Merged revisions 400245 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-01 21:19 +0000 [r400228-400237]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_dahdi.c, channels/sig_analog.c, /: chan_dahdi: Fix
+         analog parking using flash-hook. Transferring an analog call
+         using a flash-hook to parking would fail to park the call and
+         result in an invalid ao2 object unref. * Park the correct bridged
+         channel. ........ Merged revisions 400236 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/features_config.c, /: Features: Rearm the parking config
+         options have moved warning for each reload. ........ Merged
+         revisions 400227 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-10-01 15:54 +0000 [r400218]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, /: Filter out internal channels for bridge leave
+         messages and parked call messages Granted, if you manage to park
+         a Conference announcer channel, something has gone horrifically
+         wrong. ........ Merged revisions 400217 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-30 21:40 +0000 [r400206]  Jonathan Rose <jrose@digium.com>
+
+       * configs/features.conf.sample, /, configs/res_parking.conf.sample:
+         configuration samples: Pull all parking related stuff out of
+         features.conf This patch also adds documentation for parking from
+         features.conf to res_parking.conf ........ Merged revisions
+         400205 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-30 19:58 +0000 [r400195-400197]  Matthew Jordan <mjordan@digium.com>
+
+       * /, funcs/func_cdr.c: Parse arguments passed to the CDR_PROP
+         function correctly I can only blame this on a bad merge, because
+         this in no way worked properly the way it was written. Mea culpa.
+         The function should now parse its arguments correctly and
+         function properly. (Note that the API used by the CDR_PROP
+         function has working unit tests... this was merely bad coding of
+         the actual registered function) (closes issue ASTERISK-22613)
+         Reported by: Private Name ........ Merged revisions 400196 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: Remove spurious event raised when CDRs are
+         reloaded The Reload event is now raised by the module loading
+         core. As such, the Reload event in the CDR engine was a duplicate
+         and not needed. ........ Merged revisions 400194 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-30 18:55 +0000 [r400186]  David M. Lee <dlee@digium.com>
+
+       * tests/test_devicestate.c, include/asterisk/sem.h (added),
+         tests/test_taskprocessor.c, res/res_pjsip_mwi.c,
+         res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c,
+         res/parking/parking_manager.c, res/res_security_log.c,
+         channels/chan_mgcp.c, main/stasis_cache_pattern.c, main/pbx.c,
+         include/asterisk/vector.h (added), /, main/ccss.c,
+         apps/app_meetme.c, include/asterisk/taskprocessor.h,
+         configs/stasis.conf.sample (removed), configure.ac,
+         res/parking/parking_applications.c, channels/sig_pri.c,
+         apps/app_queue.c, main/cel.c, main/stasis.c,
+         channels/chan_dahdi.c, funcs/func_presencestate.c,
+         main/stasis_message_router.c, configure,
+         apps/confbridge/confbridge_manager.c, res/res_agi.c,
+         main/manager_system.c, res/res_stasis_test.c, main/sem.c (added),
+         main/manager_channels.c, res/res_pjsip_refer.c,
+         main/manager_mwi.c, apps/app_voicemail.c, main/stasis_cache.c,
+         main/stasis_wait.c, main/stasis_config.c (removed),
+         include/asterisk/stasis_internal.h, res/stasis/app.c,
+         channels/chan_sip.c, include/asterisk/autoconfig.h.in,
+         main/manager_endpoints.c, main/channel_internal_api.c,
+         include/asterisk/stasis.h, main/devicestate.c,
+         main/taskprocessor.c, res/res_xmpp.c, main/sounds_index.c,
+         include/asterisk/stasis_message_router.h, channels/chan_iax2.c,
+         res/res_jabber.c, main/endpoints.c, main/astobj2.c,
+         res/res_chan_stats.c, res/parking/parking_bridge_features.c,
+         tests/test_stasis_endpoints.c, main/cdr.c, main/channel.c,
+         main/manager_bridges.c, main/manager.c, channels/chan_skinny.c:
+         Multiple revisions 399887,400138,400178,400180-400181 ........
+         r399887 | dlee | 2013-09-26 10:41:47 -0500 (Thu, 26 Sep 2013) | 1
+         line Minor performance bump by not allocate manager variable
+         struct if we don't need it ........ r400138 | dlee | 2013-09-30
+         10:24:00 -0500 (Mon, 30 Sep 2013) | 23 lines Stasis performance
+         improvements This patch addresses several performance problems
+         that were found in the initial performance testing of Asterisk
+         12. The Stasis dispatch object was allocated as an AO2 object,
+         even though it has a very confined lifecycle. This was replaced
+         with a straight ast_malloc(). The Stasis message router was
+         spending an inordinate amount of time searching hash tables. In
+         this case, most of our routers had 6 or fewer routes in them to
+         begin with. This was replaced with an array that's searched
+         linearly for the route. We more heavily rely on AO2 objects in
+         Asterisk 12, and the memset() in ao2_ref() actually became
+         noticeable on the profile. This was #ifdef'ed to only run when
+         AO2_DEBUG was enabled. After being misled by an erroneous comment
+         in taskprocessor.c during profiling, the wrong comment was
+         removed. Review: https://reviewboard.asterisk.org/r/2873/
+         ........ r400178 | dlee | 2013-09-30 13:26:27 -0500 (Mon, 30 Sep
+         2013) | 24 lines Taskprocessor optimization; switch Stasis to use
+         taskprocessors This patch optimizes taskprocessor to use a
+         semaphore for signaling, which the OS can do a better job at
+         managing contention and waiting that we can with a mutex and
+         condition. The taskprocessor execution was also slightly
+         optimized to reduce the number of locks taken. The only
+         observable difference in the taskprocessor implementation is that
+         when the final reference to the taskprocessor goes away, it will
+         execute all tasks to completion instead of discarding the
+         unexecuted tasks. For systems where unnamed semaphores are not
+         supported, a really simple semaphore implementation is provided.
+         (Which gives identical performance as the original taskprocessor
+         implementation). The way we ended up implementing Stasis caused
+         the threadpool to be a burden instead of a boost to performance.
+         This was switched to just use taskprocessors directly for
+         subscriptions. Review: https://reviewboard.asterisk.org/r/2881/
+         ........ r400180 | dlee | 2013-09-30 13:39:34 -0500 (Mon, 30 Sep
+         2013) | 28 lines Optimize how Stasis forwards are dispatched This
+         patch optimizes how forwards are dispatched in Stasis.
+         Originally, forwards were dispatched as subscriptions that are
+         invoked on the publishing thread. This did not account for the
+         vast number of forwards we would end up having in the system, and
+         the amount of work it would take to walk though the forward
+         subscriptions. This patch modifies Stasis so that rather than
+         walking the tree of forwards on every dispatch, when forwards and
+         subscriptions are changed, the subscriber list for every topic in
+         the tree is changed. This has a couple of benefits. First, this
+         reduces the workload of dispatching messages. It also reduces
+         contention when dispatching to different topics that happen to
+         forward to the same aggregation topic (as happens with all of the
+         channel, bridge and endpoint topics). Since forwards are no
+         longer subscriptions, the bulk of this patch is simply changing
+         stasis_subscription objects to stasis_forward objects (which,
+         admittedly, I should have done in the first place.) Since this
+         required me to yet again put in a growing array, I finally
+         abstracted that out into a set of ast_vector macros in
+         asterisk/vector.h. Review:
+         https://reviewboard.asterisk.org/r/2883/ ........ r400181 | dlee
+         | 2013-09-30 13:48:57 -0500 (Mon, 30 Sep 2013) | 28 lines Remove
+         dispatch object allocation from Stasis publishing While looking
+         for areas for performance improvement, I realized that an unused
+         feature in Stasis was negatively impacting performance. When a
+         message is sent to a subscriber, a dispatch object is allocated
+         for the dispatch, containing the topic the message was published
+         to, the subscriber the message is being sent to, and the message
+         itself. The topic is actually unused by any subscriber in
+         Asterisk today. And the subscriber is associated with the
+         taskprocessor the message is being dispatched to. First, this
+         patch removes the unused topic parameter from Stasis subscription
+         callbacks. Second, this patch introduces the concept of
+         taskprocessor local data, data that may be set on a taskprocessor
+         and provided along with the data pointer when a task is pushed
+         using the ast_taskprocessor_push_local() call. This allows the
+         task to have both data specific to that taskprocessor, in
+         addition to data specific to that invocation. With those two
+         changes, the dispatch object can be removed completely, and the
+         message is simply refcounted and sent directly to the
+         taskprocessor. Review: https://reviewboard.asterisk.org/r/2884/
+         ........ Merged revisions 399887,400138,400178,400180-400181 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-30 15:57 +0000 [r400142]  Kinsey Moore <kmoore@digium.com>
+
+       * /, channels/chan_sip.c, configs/pjsip.conf.sample,
+         res/res_pjsip_outbound_registration.c, configs/sip.conf.sample,
+         CHANGES: chan_sip: Allow Asterisk to retry after 403 on register
+         This adds a global option in chan_sip to allow it to continue
+         attempting registration if a 403 is received, clearing the cached
+         nonce and treating it as a non-fatal response. Normally, this
+         would cause registration attempts to that endpoint to stop. This
+         also adds a similar per-outbound-registration option to
+         chan_pjsip which allows the retry interval to be altered for 403
+         responses to REGISTER requests. (closes issue ASTERISK-17138)
+         Review: https://reviewboard.asterisk.org/r/2874/ Reported by:
+         Rudi ........ Merged revisions 400137 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400140 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400141 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-28 22:57 +0000 [r400059-400122]  Matthew Jordan <mjordan@digium.com>
+
+       * /, res/res_pjsip_notify.c, configs/pjsip_notify.conf.sample
+         (added): res_pjsip_notify: Add documentation We forgot to add
+         documentation for res_pjsip_notify, which would prevent it from
+         being loaded. Whoops. This patch also updates res_pjsip_notify to
+         use pjsip_notify.conf, which now has its own sample file in the
+         configs directory as well. Review:
+         https://reviewboard.asterisk.org/r/2835/ ........ Merged
+         revisions 400121 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Correct erroneous
+         lost packet information in RTCP reports RTCP's calculation of the
+         number of lost packets in an RTP stream is based on that stream's
+         sequence number count, the number of received packets, and how
+         many packets we expect to receive. When the SSRC for an RTP
+         stream changes, there can - and almost always will be - a large
+         jump in the next packet's timestamp and sequence number. If we
+         don't reset the number of received packets, sequence number
+         count, and other metrics used by RTCP, the next RR/SR report will
+         use the previous SSRC's values to calculate the lost packet count
+         for the new SSRC - resulting in a very large number of lost
+         packets. This patch modifies res_rtp_asterisk such that, if it
+         detects a SSRC change, it will reset the various values used by
+         the RTCP calculations. From the perspective of RTCP, this appears
+         as a new media stream - which is what it is. Review:
+         https://reviewboard.asterisk.org/r/2886/ (closes issue AST-1174)
+         Reported by: Thomas Arimont ........ Merged revisions 400089 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400093 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400108 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, configure, configure.ac: Add check for openSUSE when detecting
+         bfd library In ASTERISK-17842, some additional library checks
+         were added to the configure script so that the bfd library could
+         be found on CentOS and Fedora systems. As it turns out, openSUSE
+         requires an additional library. This patch adds another check to
+         the configure script for openSUSE that will add that library.
+         Review: https://reviewboard.asterisk.org/r/2885/ (closes issue
+         AST-1169) Reported by: Guenther Kelleter ........ Merged
+         revisions 400073 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400075 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400077 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: CDR: Improve handling of parking; resolve
+         assertion when originating into park This patch covers two
+         problems: 1) Currently, when a call is transferred into a parking
+         lot from a bridge (using either the blind transfer or one touch
+         parking mechanisms), the application fails to be set to "Park" in
+         the resulting CDR record for the parked channel. This is due to
+         the ParkedCall message arriving before the BridgeEnter for the
+         channel entering the parking bridge. The ParkedCall message isn't
+         handled as the CDR for the channel has already been finalized
+         (due to the channel having left its two party bridge), and the
+         BridgeEnter - which creates the new CDR - doesn't have the
+         parking information. This patch modifies the behavior so that
+         reception of a ParkedCall message will - if not handled by a CDR
+         chain - cause a new CDR to be created and put into the Parking
+         state. 2) It fixes a FRACK that occurred when a channel is
+         originated into a parking space. The DialedPending state - which
+         occurs for both Dialed and Originated channels - assumed that it
+         couldn't handle the parking transitions due to it having a Party
+         B; however, Originated channels don't have a Party B. As such,
+         the existing CDR needs to transition into the parking state -
+         this patch does that. Review:
+         https://reviewboard.asterisk.org/r/2877/ (closes issue
+         ASTERISK-22482) Reported by: Richard Mudgett ........ Merged
+         revisions 400062 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_queue.c: app_queue: Make manager events tolerant of
+         Local channel shenanigans app_queue currently attempts to handle
+         Local channel optimizations in an effort to provide accurate
+         information in Stasis messages (and their corresponding AMI
+         events) as well as the Queue log. Sometimes, however, things
+         don't go as planned. Consider the following scenario: SIP/foo <->
+         L;1 <-> L;2 <-> SIP/agent SIP/agent answers, triggering a Local
+         channel optimization. app_queue will normally do the following: *
+         Listen for the Local optimization events and update our agent
+         accordingly to SIP/agent in the queue log and messages * When we
+         get a hangup, publish the AgentComplete event based on our
+         information (SIP/foo and SIP/agent) However, as with all things
+         that depend on sanity from something as capricious as Local
+         channels, things can go wrong: (1) SIP/agent immediately hangs up
+         upon answering. This triggers a race condition between
+         termination messages coming from SIP/agent and the ongoing Local
+         channel optimization messages. (Note that this can also occur
+         with SIP/foo) (2) In a race condition, Asterisk can (rarely)
+         deliver the hangup messages prior to the Local channel
+         optimization. In that case, the messages *may* arrive to
+         app_queue in the following order: * Hangup SIP/Agent * Hangup
+         SIP/foo * Optimize L;1/L;2 * Hangup L;2 * Hangup L;1 When
+         app_queue receives the hangup of the agent or the caller, it will
+         attempt to publish the AgentComplete event. However, it now has a
+         problem - it thinks its agent is the ;1 side of the Local
+         channel, as it never received the optimization event. At the same
+         time, that channel is already gone. This results in getting NULL
+         from the Stasis cache. What's more, we can't really wait for the
+         optimization message, as we are currently handling the hangup of
+         the channel that the optimization event would tell us to use.
+         This patch modifies the behavior in app_queue such that, since we
+         still have a lot of pertinent queue information (interface, queue
+         name, etc.), we now raise the event with what information we
+         know. The channels involved now may or may not be present. Users
+         will still at least get the "AgentComplete" event, which
+         "completes" the known Agent information. Review:
+         https://reviewboard.asterisk.org/r/2878/ (closes issue
+         ASTERISK-22507) Reported by: Richard Mudgett ........ Merged
+         revisions 400060 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/manager.c, /: manager: Fix crash when appending a manager
+         channel variable In r399887, a minor performance improvement was
+         introduced by not allocating the manager variable struct if it
+         wasn't used. Unfortunately, when directly accessing an
+         ast_channel struct, manager assumed that the struct was always
+         allocated. Since this was no longer the case, things got a bit
+         crashy. This fixes that problem by simply bypassing appending
+         variables if the manager channel variable struct isn't there.
+         ........ Merged revisions 400058 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-27 21:58 +0000 [r400016-400021]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_cdr.c, res/res_parking.c, /: app_cdr and res_parking:
+         Fix some resource leaks. * app_cdr left the ResetCDR application
+         registered. * res_parking leaked a ref to config global. (closes
+         issue ASTERISK-22566) Reported by: Corey Farrell Patches:
+         ASTERISK-22566-r2.patch (license #5909) patch uploaded by Corey
+         Farrell ........ Merged revisions 400020 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/sip/reqresp_parser.c, /, channels/chan_sip.c: chan_sip:
+         Increase some scratch buffer sizes dealing with caller id. *
+         Eliminated an unnecessary initialization in check_user_full().
+         (closes issue ASTERISK-22477) Reported by: Michael Shepelev
+         ........ Merged revisions 400013 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 400014 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 400015 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-27 19:18 +0000 [r400000]  Sean Bright <sean@malleable.com>
+
+       * configs/sip.conf.sample: Remove some trailing whitespace and
+         steal revision 400000.
+
+2013-09-27 18:28 +0000 [r399991]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_pjsip.c, res/res_pjsip_session.c,
+         include/asterisk/res_pjsip.h, res/res_pjsip.exports.in:
+         res_pjsip: crash when using localnet and
+         external_signaling_address options There was a collision of
+         mod_data use on the transaction between using a nat hook and an
+         session response callback. During state change it was assumed
+         what was in the mod_data was nothing or the response callback.
+         However, it was possible for it to also contain a nat hook thus
+         resulting in a bad cast and a crash. Added the ability to store
+         multiple data elements in mod_data via a hash table. In this
+         instance, mod_data now stores a hash table of the two values that
+         can be retrieved using an associated string key. (closes issue
+         ASTERISK-22394) Reported by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/2843/ ........ Merged
+         revisions 399990 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-27 17:46 +0000 [r399978]  Jonathan Rose <jrose@digium.com>
+
+       * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip:
+         Reject calls on 200 OKs if no SDP has been received When Asterisk
+         receives a 200 OK in response to an invite, that peer should have
+         sent an SDP at some point by then. If the channel has never
+         received an SDP, media won't have been set and the remote address
+         won't be known. Endpoints in general should not be doing this.
+         This patch makes it so that Asterisk will simply hang up a call
+         if it sends a 200 OK at this point. So far this odd behavior for
+         endpoints has only been observed in tests which involved manually
+         created SIP transactions in SIPp. (closes issue ASTERISK-22424)
+         Reported by: Jonathan Rose Review:
+         https://reviewboard.asterisk.org/r/2827/ ........ Merged
+         revisions 399939 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399962 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399976 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-27 17:11 +0000 [r399938]  Richard Mudgett <rmudgett@digium.com>
+
+       * include/asterisk/astobj2.h, tests/test_astobj2.c, main/astobj2.c,
+         /: astobj2: Remove OBJ_CONTINUE support. OBJ_CONTINUE was a
+         strange feature that came into the world under suspicious
+         circumstances to support an abuse of the ao2_container by
+         chan_iax2. Since chan_iax2 no longer uses OBJ_CONTINUE, it is
+         safe to remove it. The simplified code should help performance
+         slightly and make understanding the code easier. Review:
+         https://reviewboard.asterisk.org/r/2887/ ........ Merged
+         revisions 399937 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-27 14:35 +0000 [r399925]  Mark Michelson <mmichelson@digium.com>
+
+       * /, bridges/bridge_native_rtp.c: Fix refleaks of ast_rtp_instance
+         structures. These refleaks were causing bridged calls not to
+         close their RTP ports. Thus a call would leave open 4 ports (RTP
+         for party A, RTCP for party A, RTP for party B, and RTCP for
+         party B). This led to an eventual depletion of available RTP
+         ports. ........ Merged revisions 399924 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-27 14:08 +0000 [r399913]  Kinsey Moore <kmoore@digium.com>
+
+       * tests/test_cel.c, main/cel.c, /, include/asterisk/cel.h: Restore
+         usefulness of the CEL Peer field This change makes the CEL peer
+         field useful again for BRIDGE_ENTER and BRIDGE_EXIT events and
+         fills the field with a comma-separated list of all channels in
+         the bridge other than the channel that is entering or exiting the
+         bridge. Review: https://reviewboard.asterisk.org/r/2840/ (closes
+         issue ASTERISK-22393) ........ Merged revisions 399912 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-26 18:51 +0000 [r399898]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h,
+         res/res_pjsip.exports.in, /, res/res_pjsip/security_events.c:
+         pjsip: race condition in registrar While handling a registration
+         request a race condition could occur if/when two+ clients
+         registered at the same time. This happened when one request
+         obtained a copy of the current contacts for an AOR and another
+         request did the same before the first request updated. Thus the
+         second would update and overwrite the first (or vice-versa
+         depending on which actually updated first). In the case of it
+         being the same contact two "add" events would be raised. pjsip
+         registration handling is now serialized to alleviate this issue.
+         (closes issue AST-1213) Reported by: John Bigelow Review:
+         https://reviewboard.asterisk.org/r/2860/ ........ Merged
+         revisions 399897 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-26 14:13 +0000 [r399875]  Rusty Newton <rnewton@digium.com>
+
+       * /, apps/app_dial.c: Adding a few words to the Dial option 'r'
+         help text to clarify its tone argument description ........
+         Merged revisions 399874 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-25 20:38 +0000 [r399844]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/sig_ss7.c, channels/chan_dahdi.c, /: chan_dahdi: CLI
+         "core stop gracefully" has needless delay for PRI and SS7. The
+         PRI and SS7 link control threads are not stopped correctly when
+         the chan_dahdi.so module is unloaded. The link control threads
+         pri_dchannel() and ss7_linkset() are not awakened from a poll()
+         to cancel the thread. * Added a SIGURG signal after requesting
+         the thread cancel to break the link control thread poll()
+         immediately. For SS7 it was slightly worse, the link poll()
+         timeout would always be whatever was the last libss7 scheduled
+         event time used. If no libss7 scheduled event was pending, the
+         thread could run more often than necessary. * Set nextms to 60
+         seconds for the ss7_linkset() poll() if there is no other libss7
+         scheduled event. ........ Merged revisions 399818 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399834 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399842 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-25 19:43 +0000 [r399799]  Rusty Newton <rnewton@digium.com>
+
+       * /, res/res_pjsip.c: Broke the build - Fixing XML DTD violation
+         added in r399782, missing <para> tags inside a <note> ........
+         Merged revisions 399798 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-25 19:29 +0000 [r399797]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, channels/chan_sip.c: chan_sip: Fix Realtime Peer Update
+         Problem When Un-registering And Expires Header In 200ok 1st Issue
+         When a realtime peer sends an un-REGISTER request, Asterisk
+         un-registers the peer but the database table record still has
+         regseconds and fullcontact for the peer. This results in calls
+         attempting to be routed to the peer which is no longer
+         registered. The expected behavior is to get busy/congested when
+         attempting to call an un-registered peer through the dialplan.
+         What was discovered is that we are clearing out the peer's
+         registration in the database in parse_register_contact() when
+         calling expire_register() but then upon returning from
+         parse_register_contact(), update_peer() is run which stores back
+         in the database table regseconds and fullcontact. 2nd Issue The
+         reporter pointed out that the 200 ok being returned by Asterisk
+         after un-registering a peer contains a Contact header with
+         ;expires= and the Expires header is not set to 0. This is
+         actually a regression. Tests were created for this second issue
+         (ASTERISK-22548). The tests have been reviewed and a Ship It! was
+         received on those tests. This patch does the following: * Do not
+         ignore the Expires header value even when it is set to 0. The
+         patch sets the pvt->expiry earlier on in the function so that it
+         is set properly and used. * If pvt->expiry is 0, do not call
+         update_peer since that means the peer has already been
+         un-registered and there is no need to update the database record
+         again since nothing has changed. (closes issue ASTERISK-22428)
+         Reported by: Ben Smithurst Tested by: Ben Smithurst, Michael L.
+         Young Patches:
+         asterisk-22428-rt-peer-update-and-expires-header.diff by Michael
+         L. Young (license 5026) Review:
+         https://reviewboard.asterisk.org/r/2869/ ........ Merged
+         revisions 399794 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399795 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399796 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-25 18:38 +0000 [r399782]  Rusty Newton <rnewton@digium.com>
+
+       * /, res/res_pjsip.c: Fixing documentation for the configOption
+         "external_media_address" of both Endpoints and Transports
+         Re-using some of Mark Michelson's text from an E-mail discussion
+         for: * Modifying synopsis for both options * Adding description
+         to both options * Changing name of "external_media_address" for
+         Endpoint configuration to "media_address" in anticipation of the
+         option name being changed. (As it is not really specific to
+         external destinations) (issue ASTERISK-22405) (closes issue
+         ASTERISK-22405) Reported by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/2850/ ........ Merged
+         revisions 399781 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-24 22:55 +0000 [r399737-399750]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/astobj2.c: astobj2: Made use OBJ_SEARCH_xxx identifiers
+         as field enum values internally. * Made ao2_unlink to protect
+         itself from stray OBJ_SEARCH_xxx values passed in. ........
+         Merged revisions 399749 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_iax2.c, /: chan_iax2: Prevent some needless
+         breaking of the native IAX2 bridge. * Clean up some twisted code
+         in the iax2_bridge() loop. * Add AST_CONTROL_VIDUPDATE and
+         AST_CONTROL_SRCCHANGE to a list of frames to prevent the native
+         bridge loop from breaking. * Passing the
+         AST_CONTROL_T38_PARAMETERS frame should also allow FAX over a
+         native IAX2 bridge. (issue ABE-2912) Review:
+         https://reviewboard.asterisk.org/r/2870/ ........ Merged
+         revisions 399697 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399708 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 For v12 and
+         above this is really just documentation until IAX2 native
+         bridging is restored. ........ Merged revisions 399736 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-24 19:22 +0000 [r399667-399696]  Matthew Jordan <mjordan@digium.com>
+
+       * apps/app_queue.c, /: app_queue: Don't be quite so aggressive in
+         initializing the array We only need the first character. ........
+         Merged revisions 399695 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_queue.c, /: app_queue: Initialize array holding
+         MixMonitor exec options If the channel variable MONITOR_EXEC is
+         set, app_queue will pass the specified execution parameters to
+         the MixMonitor application when a queue is recorded. If that
+         channel variable is not set, the buffer that holds the escaped
+         value was not being initialized to NULL, and so would be passed
+         to the MixMonitor application with garbage. Hilarity ensued as
+         app_mixmonitor attempted to execute gobeldy-gook. ........ Merged
+         revisions 399681 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/stasis_bridges.c, tests/test_cdr.c, main/cdr.c, /: Fix a
+         performance problem CDRs There is a large performance price
+         currently in the CDR engine. We currently perform two
+         ao2_callback calls on a container that has an entry for every
+         channel in the system. This is done to create matching pairs
+         between channels in a bridge. As such, the portion of the CDR
+         logic that this patch deals with is how we make pairings when a
+         channel enters a mixing bridge. In general, when a channel enters
+         such a bridge, we need to do two things: (1) Figure out if anyone
+         in the bridge can be this channel's Party B. (2) Make pairings
+         with every other channel in the bridge that is not already our
+         Party B. This is a two step process. In the first step, we look
+         through everyone in the bridge and see if they can be our Party B
+         (single_state_process_bridge_enter). If they can - yay! We mark
+         our CDR as having gotten a Party B. If not, we keep searching. If
+         we don't find one, we wait until someone joins who can be our
+         Party B. Step 2 is where we changed the logic
+         (handle_bridge_pairings and bridge_candidate_process).
+         Previously, we would first find candidates - those channels in
+         the bridge with us - from the active_cdrs_by_channel container.
+         Because a channel could be a candidate if it was Party B to an
+         item in the container, the code implemented multiple
+         ao2_container callbacks to get all the candidates. We also had to
+         store them in another container with some other meta information.
+         This was rather complex and costly, particularly if you have 300
+         Local channels (600 channels!) going at once. Luckily, none of it
+         is needed: when a channel enters a bridge (which is when we're
+         figuring all this stuff out), the bridge snapshot tells us the
+         unique IDs of everyone already in the bridge. All we need to do
+         is: For all channels in the bridge: If the channel is us or our
+         Party B that we got in step 1, skip it Compare us and the
+         candidate to figure out who is Party A (based on some specific
+         rules) If we are Party A: Make a new CDR for us, append it to our
+         chain, and set the candidate as Party B If they are Party A: If
+         they don't have a Party B: Make a new CDR for them, append us to
+         their chain, and us as Party B Otherwise: Copy us over as Party B
+         on their existing CDR. This patch does that. Because we now use
+         channel unique IDs to find the candidates during bridging,
+         active_cdrs_by_channel now looks up things using uniqueid instead
+         of channel name. This makes the more complex code simpler; it
+         does, however, have the drawback that dialplan applications and
+         functions will be slightly slower as they have to iterate through
+         the container looking for the CDR by name. That's a small price
+         to pay however as the bridging code will be called a lot more
+         often. This patch also does two other minor changes: (1) It
+         reduces the container size of the channels in a bridge snapshot
+         to 1. In order to be predictable for multi-party bridges, the
+         order of the channels in the container must be stable; that is,
+         it must always devolve to a linked list. (2) CDRs and the
+         multi-party test was updated to show the relationship between two
+         dialed channels. You still want to know if they talked -
+         previously, dialed channels were always ignored, which is wrong
+         when they have managed to get a Party B. (closes issue
+         ASTERISK-22488) Reported by: Richard Mudgett Review:
+         https://reviewboard.asterisk.org/r/2861/ ........ Merged
+         revisions 399666 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-23 12:03 +0000 [r399625]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip.c, res/res_pjsip_session.c, /: Fix crash in
+         res_pjsip on load if error occurs, and prevent unloading of
+         res_pjsip and res_pjsip_session. During load time in res_pjsip if
+         an error occurred the operation would attempt to rollback all
+         operations done during load. This is not permitted by PJSIP as it
+         will assert if the operation has not been done. This fix changes
+         the code so it will only rollback what has been initialized
+         already. Further changes also prevent res_pjsip and
+         res_pjsip_session from being unloaded. This is due to limitations
+         within PJSIP itself. The library environment can only be changed
+         to a certain extent and does not provide the ability, currently,
+         to deinitialize certain required functionality. (closes issue
+         ASTERISK-22474) Reported by: Corey Farrell ........ Merged
+         revisions 399624 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-21 04:49 +0000 [r399578-399608]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix ref leaks in
+         ast_rtcp_read(). Moved rtcp_report RAII_VAR declaration into the
+         loop so it is unref'ed after every loop. Moved message_blob to
+         loop and switched it to a regular variable. The regular variable
+         was used since message_blob is used in a very contained way.
+         (closes issue ASTERISK-22565) Reported by: Corey Farrell Patches:
+         rtcp_report-leak.patch (license #5909) patch uploaded by Corey
+         Farrell Tested by: Corey Farrell ........ Merged revisions 399607
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/media_index.c: media_index: Fix
+         process_description_file() memory leak of file_id_persist.
+         ........ Merged revisions 399596 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/features_config.c: features_config: Fix config ref leak
+         of parkinglots. This leak happend for just about every channel
+         created. ........ Merged revisions 399585 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, apps/app_queue.c: app_queue: Fix json blob ref leak. The json
+         ref from queue_member_blob_create() was never released. ........
+         Merged revisions 399583 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/json.c, /: json: Make it obvious that ast_json_unref() is
+         NULL safe. It looked like the safety check was done after the
+         NULL pointer was used. ........ Merged revisions 399576 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-20 22:44 +0000 [r399566]  Kinsey Moore <kmoore@digium.com>
+
+       * main/config_options.c, /: Ensure global types in the config
+         framework are initialized If a config object was allocated but
+         one of its global objects was never encountered, then the global
+         object's defaults were never applied. Ensure that global objects
+         are initialized properly upon allocation instead of on
+         configuration. Review: https://reviewboard.asterisk.org/r/2866/
+         ........ Merged revisions 399564 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399565 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-20 22:06 +0000 [r399554]  Jonathan Rose <jrose@digium.com>
+
+       * main/dial.c, /: originate/call forwarding: Fix a crash when
+         forwarding a call from originate (closes issue ASTERISK-22487)
+         Reported by: David M. Lee Review:
+         https://reviewboard.asterisk.org/r/2868/ ........ Merged
+         revisions 399553 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-20 16:18 +0000 [r399533]  Joshua Colp <jcolp@digium.com>
+
+       * /, channels/chan_pjsip.c: Add a missing session supplement
+         unregistration in chan_pjsip for ACKs. (closes issue
+         ASTERISK-22453) Reported by: Corey Farrell Patches:
+         chan_pjsip_session_unregister_supplement.patch uploaded by Corey
+         Farrell (license 5909) ........ Merged revisions 399531 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-20 14:26 +0000 [r399515]  Kevin Harwell <kharwell@digium.com>
+
+       * /, main/logger.c: Fix memory leak in logger. Fixed a memory leak
+         discovered in the logger where a temporary string buffer was not
+         being freed. (closes issue ASTERISK-22540) Reported by: John
+         Hardin ........ Merged revisions 399513 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399514 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-19 23:20 +0000 [r399503]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/optional_api.c: optional_api: Make always use the
+         standard malloc functions even with MALLOC_DEBUG. ........ Merged
+         revisions 399501 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-19 17:01 +0000 [r399459]  Jonathan Rose <jrose@digium.com>
+
+       * /, channels/chan_sip.c: chan_sip: Make direct media reinvites for
+         T38 put Asterisk in the media path Prior to this patch, Asterisk
+         would incorrectly use the previous endpoint addresses in SDP in
+         spite of providing its own port. T38 is never meant to be done
+         through directmedia and Asterisk should always be in the media
+         path for these streams. (closes issue ASTERISK-17273) Reported
+         by: Kevin Stewart (closes issue ASTERISK-18706) Reported by:
+         Jeremy Kister Review: https://reviewboard.asterisk.org/r/2853/
+         ........ Merged revisions 399456 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399457 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399458 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-18 20:04 +0000 [r399405]  Kinsey Moore <kmoore@digium.com>
+
+       * /, main/abstract_jb.c: Fix jitter buffer log file creation This
+         adjusts '/'-to-'#' replacement to replace all instances of '/'
+         instead of just the first to ensure that the jitter buffer log
+         file gets the correct name as per Richard Kenner's suggestion.
+         (closes issue ASTERISK-21036) Reported by: Richard Kenner
+         ........ Merged revisions 399402 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399403 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399404 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-18 17:23 +0000 [r399368-399378]  Matthew Jordan <mjordan@digium.com>
+
+       * /, build_tools/prep_tarball: Update prep_tarball with new
+         documentation files on the Asterisk wiki This will now pull both
+         a command reference for the version being prepared, as well as an
+         Admin Guide that applies to all versions of Asterisk. (issue
+         ASTERISK-22439) Reported by: Olle Johansson ........ Merged
+         revisions 399351 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399373 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399376 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, bridges/bridge_softmix.c: Add a WARNING in bridge_softmix when
+         a timing module isn't loaded If bridge_softmix fails to be
+         created because no timing source is present in Asterisk, this
+         will currently fail gracefully but with (most likely) a generic
+         error message by whatever module tried to create the softmix
+         bridge. This patch adds a more explicit warning so you can
+         actually diagnose and fix the problem. Review:
+         https://reviewboard.asterisk.org/r/2857/ ........ Merged
+         revisions 399353 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399365 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-18 17:15 +0000 [r399352]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/config_options.c: Make config framework able to reload
+         module configs with multiple config files. The config framework
+         is supposed to be able to load configs that come from multiple
+         config files. The principle example is chan_sip's sip.conf and
+         users.conf. Unfortunately, it only does this correctly on initial
+         load. This patch causes the module's config to be reloaded
+         entirely if any of the config files change. (closes issue
+         ASTERISK-22009) Reported by: Richard Mudgett Review:
+         https://reviewboard.asterisk.org/r/2859/
+
+2013-09-18 14:56 +0000 [r399340]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_messaging.c, /: res_pjsip_messaging: Register
+         message technology as pjsip pjsip's message technology was being
+         registered as 'sip', which was causing it to not load due it
+         conflicting with chan_sip's registered 'sip' technology for
+         messaging. It now registers as 'pjsip'. However, due to this
+         change the "to" field for outgoing pjsip messages need to be
+         prefixed with 'pjsip:' instead of 'sip:'. Incoming messages to
+         res_pjsip_messaging will automatically have their "to" fields
+         altered in order to accommodate the change. Outgoing messages
+         also handle changing it back to 'sip' before being sent so the
+         pjsip library will properly handle it. (closes issue
+         ASTERISK-22445) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2833/ ........ Merged
+         revisions 399339 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-18 00:13 +0000 [r399295]  Michael L. Young <elgueromexicano@gmail.com>
+
+       * /, main/features_config.c: Fix Segfault In features-config.c When
+         Application Has No Arguments Some applications do not require
+         arguments. Therefore, when parsing application maps in
+         features.conf, it is possible that app_data will be set to NULL.
+         * This patch sets app_data to "" if it is NULL. Review:
+         https://reviewboard.asterisk.org/r/2804 ........ Merged revisions
+         399294 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-17 23:10 +0000 [r399284]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip_t38.c, include/asterisk/res_pjsip.h, /: Change the
+         "external_media_address" PJSIP endpoint option to
+         "media_address". The endpoint option does not apply to
+         communication with external entities. Rather, the option is
+         applied to all communications with the endpoint. The
+         external_media_address transport configuration option may
+         override the endpoint option if it turns out that we are going to
+         be communicating with an external entity. Two things of note: 1)
+         I have not updated the XML documentation. This is being taken
+         care of by Rusty as part of his work on issue ASTERISK-22405 2)
+         This commit is likely to cause testsuite failures since there are
+         tests that use the external_media_address endpoint option, and
+         they will need to be changed over. Well, I'm planning to get that
+         updated ASAP after this commit. (closes issue ASTERISK-22528)
+         reported by Rusty Newton ........ Merged revisions 399283 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-17 18:44 +0000 [r399269]  Kevin Harwell <kharwell@digium.com>
+
+       * main/logger.c, main/asterisk.c, /: Remote console: more output
+         discrepancies The remote console continued to have issues with
+         its output. In this case CLI command output would either not show
+         up (if verbose level = 0) or would contain verbose prefixes (if
+         verbose level > 0) once log messages were sent to the remote
+         console. The fix now now adds verbose prefix data to all new
+         lines contained in a verbose log string. (closes issue
+         ASTERISK-22450) Reported by: David Brillert (closes issue
+         AST-1193) Reported by: Guenther Kelleter Review:
+         https://reviewboard.asterisk.org/r/2825/ ........ Merged
+         revisions 399267 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399268 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-17 17:55 +0000 [r399258]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, include/asterisk/features_config.h: Fix doxygen to use correct
+         units of features.conf options. ........ Merged revisions 399257
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-17 17:10 +0000 [r399238-399248]  Mark Michelson <mmichelson@digium.com>
+
+       * main/bridge_basic.c, main/features_config.c, /: Fix other
+         timeouts (atxferloopdelay and atxfernoanswertimeout) to use
+         seconds instead of milliseconds. Thanks to Richard Mudgett for
+         pointing this out. ........ Merged revisions 399247 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/features_config.c, /, include/asterisk/features_config.h,
+         main/bridge_basic.c: Switch transferdigittimeout to be configured
+         as seconds instead of milliseconds. This was an unintentional
+         consequence of the update of features.conf to use the config
+         framework in Asterisk 12. Thanks to Marco Signorini on the
+         Asterisk developers list for pointing out the problem. ........
+         Merged revisions 399237 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-17 14:58 +0000 [r399226]  Kevin Harwell <kharwell@digium.com>
+
+       * apps/confbridge/conf_state_multi_marked.c, /: Confbridge: empty
+         conference not being torn down Confbridge would not properly tear
+         down an empty conference bridge when all users were kicked via
+         end_marked=yes and at least one user was also set to wait_marked.
+         This occurred because while end_marked users were being kicked
+         and at least one was also set to wait_marked then the leave
+         wait_marked handler would be called on that user, but there would
+         be no waiting user (still considered active). The waiting users
+         would decrement and now be negative. The conference would remain,
+         but be put into an inactive state. The solution was to move from
+         the active list to the wait list, those users with wait_marked
+         set right before kicking. This allows both the active and wait
+         users to decrement correctly and the confbridge to tear down
+         properly. A crashed also occurred when trying to list the
+         specific conference from the CLI. This happened because the
+         conference specified was invalid. Since the conference properly
+         tears down now there is no way to reference it thus alleviating
+         the crash as well. (closes issue ASTERISK-21859) Reported by:
+         Chris Gentle Review: https://reviewboard.asterisk.org/r/2848/
+         ........ Merged revisions 399222 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399225 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-16 18:36 +0000 [r399161-399208]  Richard Mudgett <rmudgett@digium.com>
+
+       * tests/test_ari_model.c, /: Fix module load errors for
+         test_ari_model.so. You cannot use a function pointer variable
+         with an external function from another dynamically loaded module
+         because data variables are always resolved even with RTLD_LAZY. *
+         Added wrapper functions for ast_ari_validate_int() and
+         ast_ari_validate_string() to use instead for the function pointer
+         variable. (closes issue ASTERISK-22457) Reported by: David M. Lee
+         ........ Merged revisions 399207 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_speech_utils.c, /, res/res_speech.exports.in:
+         app_speech_utils: Fix unresolved symbol ast_speech_get_setting().
+         Fixes regression introduced by -r374096. * Made
+         res_speech.export.in export ast_* symbols instead of specific
+         functions. * Made app_speech_utils.c declare that it is dependent
+         upon res_speech. (issue ASTERISK-17136) Reported by: Richard
+         Kenner ........ Merged revisions 399197 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_iax2.c, /: chan_iax2: Fix saving the wrong expiry
+         time in astdb. When a new IAX2 client registers, the astdb
+         database is updated with the value of minregexpire defined in
+         iax.conf instead of using the expiry time that is provided by the
+         client. The provided expiry time of the client is updated after
+         inserting the astdb entry. As a consequence, restarting or
+         reloading asterisk creates clients whose registration may expire
+         before they reregister. The clients are therefore unavailable
+         after minregexpire seconds until they reregister. * Move updating
+         of the expiry time to before inserting into the astdb. (closes
+         issue ASTERISK-22504) Reported by: Stefan Wachtler Patches:
+         chan_iax2.c.patch (license #6533) patch uploaded by Stefan
+         Wachtler ........ Merged revisions 399158 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399159 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399160 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-16 02:37 +0000 [r399147]  Matthew Jordan <mjordan@digium.com>
+
+       * main/cdr.c, /: Filter internal channels out of bridge enter/leave
+         message handling Some channels exist merely as an implementation
+         detail in Asterisk, such as ConfBridge's announcer/recorder
+         channels. These channels should never be exposed to the outside
+         world, or to interfaces that report on Asterisk. We already
+         filter out such channels in snapshot processing; however, we
+         failed to filter out bridge related messages that involved these
+         channels. This patch filters out bridge related messages that are
+         for such channels. This prevents a spurious WARNING message from
+         being displayed when those channels move in and out of bridges.
+         ........ Merged revisions 399146 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-13 22:19 +0000 [r399138]  Richard Mudgett <rmudgett@digium.com>
+
+       * res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
+         include/asterisk/features.h, main/channel.c,
+         res/parking/parking_tests.c, include/asterisk/bridge_channel.h,
+         main/features.c, tests/test_cel.c, main/bridge_channel.c,
+         tests/test_cdr.c, apps/confbridge/conf_chan_announce.c,
+         include/asterisk/bridge.h, res/res_pjsip_refer.c, /,
+         channels/chan_sip.c, res/stasis/control.c, main/bridge.c,
+         main/bridge_basic.c, main/core_unreal.c,
+         res/parking/parking_applications.c, main/core_local.c: Restore
+         Dial, Queue, and FollowMe 'I' option support. The Dial, Queue,
+         and FollowMe applications need to inhibit the bridging initial
+         connected line exchange in order to support the 'I' option. *
+         Replaced the pass_reference flag on ast_bridge_join() with a
+         flags parameter to pass other flags defined by enum
+         ast_bridge_join_flags. * Replaced the independent flag on
+         ast_bridge_impart() with a flags parameter to pass other flags
+         defined by enum ast_bridge_impart_flags. * Since the Dial, Queue,
+         and FollowMe applications are now the only callers of
+         ast_bridge_call() and ast_bridge_call_with_flags(), changed the
+         calling contract to require the initial COLP exchange to already
+         have been done by the caller. * Made all callers of
+         ast_bridge_impart() check the return value. It is important. As a
+         precaution, I also made the compiler complain now if it is not
+         checked. * Did some cleanup in parking_tests.c as a result of
+         checking the ast_bridge_impart() return value. An independent,
+         but associated change is: * Reduce stack usage in
+         ast_indicate_data() and add a dropping redundant connected line
+         verbose message. (closes issue ASTERISK-22072) Reported by:
+         Joshua Colp Review: https://reviewboard.asterisk.org/r/2845/
+         ........ Merged revisions 399136 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-13 20:55 +0000 [r399101]  David M. Lee <dlee@digium.com>
+
+       * /, main/astobj2.c: Don't write to /tmp/refs when REF_DEBUG is not
+         defined. If MALLOC_DEBUG is enabled, then the debug destructor
+         for the container is used, which would erroneously write to
+         /tmp/refs. This patch only uses the debug destructor if ref_debug
+         is used. (closes issue ASTERISK-22536) ........ Merged revisions
+         399098 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 399099 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399100 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-13 14:50 +0000 [r399082-399084]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
+         include/asterisk/res_pjsip.h, res/res_pjsip.exports.in, /: Create
+         more accurate Contact headers for dialogs when we are the UAS.
+         (closes issue AST-1207) reported by John Bigelow Review:
+         https://reviewboard.asterisk.org/r/2842 ........ Merged revisions
+         399083 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip/config_auth.c, /,
+         res/res_pjsip_outbound_authenticator_digest.c,
+         res/res_pjsip_authenticator_digest.c: Change how realms are
+         handled for outbound authentication. With this change, if no
+         realm is specified in an outbound auth section, then we will
+         simply match the realm that was present in the 401/407 challenge.
+         (closes issue ASTERISK-22471) Reported by George Joseph (closes
+         issue ASTERISK-22386) Reported by Rusty Newton Patches:
+         outbound_auth_realm_v4.patch uploaded by George Joseph (License
+         #6322) ........ Merged revisions 399059 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-13 14:43 +0000 [r399080-399081]  David M. Lee <dlee@digium.com>
+
+       * /: Recorded merge of revisions 399035,399049 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 These were lost
+         in r399071
+
+       * /: Put merge tracking for r399039 back.
+
+2013-09-13 14:27 +0000 [r399071]  Rusty Newton <rnewton@digium.com>
+
+       * /, res/res_pjsip_endpoint_identifier_ip.c: Broke the build!
+         Forgot para tags within my description.
+         https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD-304
+         ........ Merged revisions 399064 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-13 14:22 +0000 [r399042-399051]  David M. Lee <dlee@digium.com>
+
+       * res/res_pjsip_log_forwarder.c (added), res/res_pjsip_logger.c,
+         res/res_rtp_asterisk.c, /: res_pjsip: Forward PJSIP logging to
+         Asterisk logging This patch uses PJSIP's pj_log_set_log_func() to
+         forward PJSIP's log messages to Asterisk's logger. This is done
+         in a new module: res_pjsip_log_forwarder.so. This patch sets
+         defaultenabled on the existing res_pjsip_logger.so to no, since
+         logging every SIP packet seems a bit odd to do by default, and is
+         (hopefully) less necessary with regular PJSIP logging. It also
+         removes res_rtp_asterisk's disabling of PJSIP logging. (closes
+         issue ASTERISK-22360) Reported by: Joshua Colp Review:
+         https://reviewboard.asterisk.org/r/2830/ ........ Merged
+         revisions 399049 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_http_websocket.c: ARI: Fix WebSocket response when
+         subprotocol isn't specified When I moved the ARI WebSocket from
+         /ws to /ari/events, I added code to allow a WebSocket to connect
+         without specifying the subprotocol if there's only one
+         subprotocol handler registered for the WebSocket. Naively, I
+         coded it to always respond with the subprotocol in use.
+         Unfortunately, according to RFC 6455, if the server's response
+         includes a subprotocol header field that "indicates the use of a
+         subprotocol that was not present in the client's handshake [...],
+         the client MUST _Fail the WebSocket Connection_.", emphasis
+         theirs. This patch correctly omits the Sec-WebSocket-Protocol if
+         one is not specified by the client. (closes issue ASTERISK-22441)
+         Review: https://reviewboard.asterisk.org/r/2828/ ........ Merged
+         revisions 399039 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-13 14:17 +0000 [r399036]  Kinsey Moore <kmoore@digium.com>
+
+       * /, apps/app_meetme.c: Fix several crashes in MeetMeAdmin This
+         change ensures that MeetMeAdmin commands requiring a user
+         actually get a user and fixes another issue where an extra
+         dereference could occur for a last-entered user being ejected if
+         a user identifier was also provided. (closes issue
+         ASTERISK-21907) Reported by: Alex Epshteyn Review:
+         https://reviewboard.asterisk.org/r/2844/ ........ Merged
+         revisions 399033 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 399034 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 399035 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-13 13:28 +0000 [r399032]  Rusty Newton <rnewton@digium.com>
+
+       * /, res/res_pjsip_endpoint_identifier_ip.c: 'identify'
+         configObject doesn't have a synopsis Add a straightforward
+         synopsis and description to the identify config object in XML
+         documentation. (issue ASTERISK-22311) (closes issue
+         ASTERISK-22311) Reported By: Rusty Newton ........ Merged
+         revisions 399031 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-12 23:42 +0000 [r399020-399022]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/bridge.c: CLI bridge: Fix "bridge destroy <id>" and
+         "bridge kick <id> <chan>" tab completion. These two commands must
+         deal with the live bridges container for tab completion and not
+         the stasis cache. ........ Merged revisions 399021 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/bridge.c, /: astobj2: Register the bridges container for
+         debug inspection. ........ Merged revisions 399019 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-12 23:23 +0000 [r399018]  Rusty Newton <rnewton@digium.com>
+
+       * /, res/res_pjsip_acl.c: Documentation fix and improvements to XML
+         configuration help res_pjsip_acl * One bug fix. Made the synopsis
+         for "type" to accurate. * changing the usage of "IP-domains" to
+         "IP addresses" * clarifying the usage for the options, by adding
+         a relevant description for each * modified other areas of the XML
+         help for clarity, such as the module description and a few
+         synopsis changes here and there. See the patch. (issue
+         ASTERISK-22458) (closes issue ASTERISK-22458) Reported By: Rusty
+         Newton Review: https://reviewboard.asterisk.org/r/2823/ ........
+         Merged revisions 399017 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-12 20:27 +0000 [r399006]  Jonathan Rose <jrose@digium.com>
+
+       * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip:
+         Revert r398835 due to failing tests involving originate (issue
+         ASTERISK-22424) Reported by: Jonathan Rose ........ Merged
+         revisions 398977 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398986 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398991 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-12 16:44 +0000 [r398939]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/core_unreal.c, /: core_local: Fix memory corruption race
+         condition. The masquerade super test is failing on v12 with high
+         fence violations and crashing. The fence violations are showing
+         that party id allocated memory strings are somehow getting
+         corrupted in the bridge_reconfigured_connected_line_update()
+         function. The invalid string values happen to be the freed memory
+         fill pattern. After much puzzling, I deduced that the
+         bridge_reconfigured_connected_line_update() is copying a string
+         out of the source channel's caller party id struct just as
+         another thread is updating it with a new value. The copying
+         thread is using the old string pointer being freed by the
+         updating thread. A search of the code found the
+         unreal_colp_redirect_indicate() routine updating the caller party
+         id's without holding the channel lock. A latent bug in v1.8 and
+         v11 hatched in v12 because of the bridging and connected line
+         changes. :) (issue ASTERISK-22221) Reported by: Matt Jordan
+         Review: https://reviewboard.asterisk.org/r/2839/ ........ Merged
+         revisions 398938 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-12 15:23 +0000 [r398928]  David M. Lee <dlee@digium.com>
+
+       * res/res_pjsip.c, /: Fix symbol collision with pjsua. We shouldn't
+         be exporting any symbols that start with pjsip_. ........ Merged
+         revisions 398927 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-12 00:04 +0000 [r398883-398887]  Rusty Newton <rnewton@digium.com>
+
+       * /, apps/app_queue.c: 'queue add member' help text correction You
+         are adding dial strings to the queue, not channels. An aribitrary
+         string could be used, but you are typically referencing a
+         channel. Correcting the command help text. (issue ASTERISK-22263)
+         (closes issue ASTERISK-22263) Reported By: Rusty Newton ........
+         Merged revisions 398884 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398885 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398886 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * configs/chan_dahdi.conf.sample, /: Documentation fix -
+         waitfordialtone is not boolean, it's time in milliseconds
+         Changing text in chan_dahdi.conf sample to be accurate. (issue
+         ASTERISK-22308) (closes issue ASTERISK-22308) Reported By:
+         Malcolm Davenport ........ Merged revisions 398880 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398881 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398882 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-11 20:03 +0000 [r398838]  Jonathan Rose <jrose@digium.com>
+
+       * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
+         Reject calls without prior SDP on 200 OK If we receive a 200 OK
+         without SDP, we will now check to see if the remote address has
+         been established for that channel's RTP session and if the to tag
+         for that channel has changed from the most recent to tag in a
+         response less than 200. If either a change has been made since
+         the last to-tag was received or the remote address is unset, then
+         we will drop the call. (closes issue ASTERISK-22424) Reported by:
+         Jonathan Rose Review:
+         https://reviewboard.asterisk.org/r/2827/diff/#index_header
+         ........ Merged revisions 398835 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398836 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398837 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-11 18:03 +0000 [r398822]  Russell Bryant <russell@russellbryant.com>
+
+       * configs/confbridge.conf.sample, /: Fix typo in
+         confbridge.conf.sample The denoise filter requires func_speex,
+         not codec_speex. Fix this in the description of the denoise=yes
+         option in confbridge.conf. ........ Merged revisions 398820 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398821 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-11 14:23 +0000 [r398808]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_pjsip_caller_id.c, channels/chan_pjsip.c, /: pjsip:
+         reinvite for connected line updates occurs when it should not
+         Connected line updates are now only sent out if an actual update
+         needs to occur. This happens under the following conditions: 1.
+         The endpoint we are sending to is trusted. 2. Either a
+         P-Asserted-Identity or Remote Party-ID header needs to be
+         added/sent. 3. The connected id's number and name are valid. Also
+         added an SDP when an update is sent out. (closes issue AST-1212)
+         Reported by: John Bigelow Review:
+         https://reviewboard.asterisk.org/r/2831/ ........ Merged
+         revisions 398806 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-10 18:05 +0000 [r398760]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/event.c, res/res_musiconhold.c, main/indications.c,
+         main/asterisk.c, main/xmldoc.c, main/cli.c, /,
+         funcs/func_dialgroup.c, main/heap.c,
+         res/res_pjsip/pjsip_configuration.c: Fix incorrect usages of
+         ast_realloc(). There are several locations in the code base where
+         this is done: buf = ast_realloc(buf, new_size); This is going to
+         leak the original buf contents if the realloc fails. Review:
+         https://reviewboard.asterisk.org/r/2832/ ........ Merged
+         revisions 398757 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398758 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398759 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-10 17:50 +0000 [r398751-398755]  David M. Lee <dlee@digium.com>
+
+       * utils/check_expr.c, /: Fixed utils directory breakage from
+         r398748, this time with extra hate. ........ Merged revisions
+         398752 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 398753 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398754 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * utils/check_expr.c, /, utils/ael_main.c, utils/conf2ael.c: Fixed
+         utils directory breakage from r398648 ........ Merged revisions
+         398748 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 398749 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398750 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-09 23:29 +0000 [r398732]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/astmm.c, /: MALLOC_DEBUG: Change fence magic number to be
+         completely different from the freed magic number. Race conditions
+         between freeing a nul terminated string and ast_strdup()'ing it
+         are more likely to be detected if the fence and freed magic
+         numbers are completely different. ........ Merged revisions
+         398703 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 398721 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398726 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-09 22:00 +0000 [r398695]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_endpoint_identifier_ip.c, /: Add extra debugging to
+         res_pjsip_endpoint_identifier_ip ........ Merged revisions 398694
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-09 20:13 +0000 [r398641-398652]  David M. Lee <dlee@digium.com>
+
+       * /, main/utils.c, include/asterisk/lock.h, main/lock.c: Fix
+         DEBUG_THREADS when lock is acquired in __constructor__ This patch
+         fixes some long-standing bugs in debug threads that were
+         exacerbated with recent Optional API work in Asterisk 12. With
+         debug threads enabled, on some systems, there's a lock ordering
+         problem between our mutex and glibc's mutex protecting its module
+         list (Ubuntu Lucid, glibc 2.11.1 in this instance). In one
+         thread, the module list will be locked before acquiring our
+         mutex. In another thread, our mutex will be locked before locking
+         the module list (which happens in the depths of calling
+         backtrace()). This patch fixes this issue by moving backtrace()
+         calls outside of critical sections that have the mutex acquired.
+         The bigger change was to reentrancy tracking for
+         ast_cond_{timed,}wait, which wrongly assumed that waiting on the
+         mutex was equivalent to a single unlock (it actually suspends all
+         recursive locks on the mutex). (closes issue ASTERISK-22455)
+         Review: https://reviewboard.asterisk.org/r/2824/ ........ Merged
+         revisions 398648 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398649 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398651 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/ari/resource_channels.h, /, rest-api/api-docs/channels.json:
+         Multiple revisions 398638-398639 ........ r398638 | dlee |
+         2013-09-09 14:01:54 -0500 (Mon, 09 Sep 2013) | 1 line Added note
+         about expected behavior of originate ........ r398639 | dlee |
+         2013-09-09 14:02:27 -0500 (Mon, 09 Sep 2013) | 1 line Added note
+         about expected behavior of originate (the rest of the commit)
+         ........ Merged revisions 398638-398639 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-08 23:30 +0000 [r398629]  Matthew Jordan <mjordan@digium.com>
+
+       * tests/test_cdr.c, /: Update CDR Unit tests to reflect container
+         changes in r398579 When a channel joins a multi-party bridge, the
+         ordering of the CDRs that is created is determined by the
+         ordering of the channels who happen to be in that bridge. When
+         r398579 changed the number of buckets in the container to
+         something sensible, it changed the ordering that the CDRs was
+         created in, causing one of the multiparty tests to fail. This
+         fixes the test with the now expected ordering. ........ Merged
+         revisions 398628 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-07 01:03 +0000 [r398603-398620]  Kinsey Moore <kmoore@digium.com>
+
+       * /, res/res_xmpp.c: Prevent XMPP timeout on blank responses
+         Sometimes the Google Voice servers have a bad habit of sending
+         out 1 byte replies to the xmpp resource. When a blank 1 byte
+         reply is received from the socket the buffer attempts to wait
+         (endlessly) for the rest of the reply from google which
+         effectively blocks the socket and google voice calls will no
+         longer come into the server. This patch allows the xmpp module to
+         correctly detect empty packets and send out ping replies to
+         google. It also sets a socket timeout on the default socket which
+         prevents the xmpp socket from closing and preventing future
+         google voice calls from coming into the server. Furthermore
+         instead of sending an empty reply back to google we send a proper
+         xmpp ping reply back. This also adds several more socket
+         messages. (closes issue ASTERISK-22347) Reported by: Andrew Nagy
+         Review: https://reviewboard.asterisk.org/r/2771 Patches:
+         xmpp_fix_1.diff uploaded by Andrew Nagy (License #6524) ........
+         Merged revisions 398618 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398619 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_xmpp.c, res/res_jabber.c: Multiple revisions
+         398558,398577 ........ r398558 | kmoore | 2013-09-06 14:28:16
+         -0500 (Fri, 06 Sep 2013) | 17 lines Fix Jabber/XMPP distributed
+         MWI The mailbox and context are swapped on the receiving end for
+         all users of Jabber and XMPP distributed MWI in Asterisk 1.8 and
+         all more recent versions. This swaps those values to be correct
+         when publishing to the internal event system from Jabber/XMPP
+         distributed MWI state. (closes issue ASTERISK-22435) Reported by:
+         abelbeck Tested by: Michael Keuter Patches:
+         asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by
+         abelbeck asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch
+         uploaded by abelbeck ........ Merged revisions 398523 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         r398577 | kmoore | 2013-09-06 16:00:56 -0500 (Fri, 06 Sep 2013) |
+         10 lines Commit the remainder of r398523 This is a missing part
+         of the commit in revision 398523 that corrects the name of a
+         variable. (issue ASTERISK-22435) ........ Merged revisions 398576
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 398558,398577 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398580 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-06 21:17 +0000 [r398557-398583]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/cdr.c, /: cdr: Change the number of container buckets to be
+         similar to the channels container. * Fix the temporary cdr
+         candidate containers to use a prime number of buckets. ........
+         Merged revisions 398579 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/core_local.c, /: core_local: Fix LocalOptimizationBegin AMI
+         event missing Source channel snapshot. * Fix the
+         LocalOptimizationBegin AMI event by eliminating an artificial
+         buffer size limitation that is too small anyway. ........ Merged
+         revisions 398572 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: cdr: Fix some ref leaks. * Added missing
+         unregister of the cdr container in cdr_engine_shutdown(). * Fixed
+         ref leak in off nominal path of cdr_object_alloc(). * Removed
+         some unnecessary NULL checks in cdr_object_dtor(). ........
+         Merged revisions 398562 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/astobj2.h, main/cel.c, main/features_config.c,
+         apps/app_agent_pool.c, main/cdr.c, main/udptl.c, /,
+         main/parking.c, main/stasis_config.c: astobj2: Add warn unused
+         attribute to some functions. * Fixed resulting warnings with
+         improper use of ao2_global_obj_replace(). * Made a couple uses of
+         ao2_global_obj_replace_unref(x, NULL) into the equivalent and
+         more appropriate ao2_global_obj_release() call. ........ Merged
+         revisions 398533 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-06 18:53 +0000 [r398512-398522]  Kinsey Moore <kmoore@digium.com>
+
+       * main/http.c, /, res/stasis/app.c: Fix build warnings When
+         AST_DEVMODE is not defined, ast_asserts are not compiled into the
+         binary. In some cases, this means variables are not referenced or
+         are set but unused which causes warnings to show up. (closes
+         issue ASTERISK-22446) Reported by: Jason Parker (qwell) ........
+         Merged revisions 398521 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_h323.c: Fix chan_h323 compilation This fixes the
+         things in chan_h323 that were missed or ignored in the great
+         channel opaquification and gets chan_h323 back into a compiling
+         state. (closes issue ASTERISK-22365) Reported by: Dmitry Melekhov
+         Patches: chan_h323.patch uploaded by Dmitry Melekhov ........
+         Merged revisions 398510 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398511 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-05 21:48 +0000 [r398384-398499]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/astobj2.c: astobj2: Only define ao2_bt() once. * Make
+         ao2_bt() not use single char variable names. * Fix ao2_bt()
+         formatting. ........ Merged revisions 398498 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_iax2.c, /: chan_iax2: Reduce indentation in
+         __attempt_transmit(). * Reduce indentation in
+         __attempt_transmit(). * Don't update the static last error time
+         variable every time in __schedule_action() and socket_read().
+         ........ Merged revisions 398456 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398457 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398458 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_iax2.c, /: chan_iax2: Fix stray reference to worker
+         thread idle_list. * Fix stray reference to idle_list in
+         cleanup_thread_list(). This may be the reason for the note in
+         iax2_process_thread() about threads not being removed from the
+         task lists. * Move cleanup_thread_list(&idle_list) to after the
+         other lists are cleaned up. ........ Merged revisions 398416 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398417 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398418 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/chan_iax2.c, /: chan_iax2: Fix bridgecallno deadlock
+         avoidance. * Fix bridgecallno deadlock avoidance. When doing
+         deadlock avoidance, you need to retest the status of values for
+         each loop to see if you still need the lock for bridgecallno. *
+         As a safety check, after acquiring the bridgecallno lock you
+         should check if iaxs[bridgecallno] is NULL just like the current
+         callno checks. * Move setting thread->iostate to IAX_IOSTATE_IDLE
+         to after processing any deferred frames to ensure that the
+         iostate is IDLE when it is placed back into the idle list.
+         defer_full_frame() tries to ensure iax2_process_thread() wakes up
+         to process the frame. ........ Merged revisions 398379 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398380 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398381 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-05 14:10 +0000 [r398369]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c: Clarify server_uri and
+         client_uri registration settings. Used some of Rusty's suggested
+         language plus also included more SIPesque descriptions of where
+         the URIs are actually used in an outgoing REGISTER. (closes issue
+         ASTERISK-22390) reported by Rusty Newton ........ Merged
+         revisions 398368 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-04 23:07 +0000 [r398304]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/iax2/parser.c, /: chan_iax2: Add missing control frame
+         names to debug frame decode output. ........ Merged revisions
+         398301 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........ Merged revisions 398302 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398303 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-04 22:49 +0000 [r398300]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip_outbound_authenticator_digest.c: Give more
+         detail regarding failures to create request with auth
+         credentials. (issue ASTERISK-22386) ........ Merged revisions
+         398299 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-04 21:37 +0000 [r398284-398287]  Jonathan Rose <jrose@digium.com>
+
+       * /, tests/test_voicemail_api.c: unit tests: test_voicemail_api
+         leaks stringfields from snapshots (closes issue ASTERISK-22414)
+         Reported by: Corey Farrell Patches:
+         test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
+         (license 5909) ........ Merged revisions 398285 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398286 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * apps/app_voicemail.c, /: app_voicemail: Fix leaking config
+         objects when msg_id doesn't match (issues ASTERISK-22414)
+         Reported by: Corey Farrell Patch:
+         test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
+         (license 5909) ........ Merged revisions 398281 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398283 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-04 16:03 +0000 [r398238]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_misdn.c, /: chan_misdn: Fix misdn debug output
+         printed with arbitrary verbose levels. Fix the misdn debug output
+         to remote consoles. chan_misdn uses ast_console_puts() which
+         doesn't know about verbose levels. Better to use ast_verbose()
+         instead. Without this patch the misdn debug messages are appended
+         to the verbose level which ever was set by the message sent to
+         the console before, i.e. any undefined level. (closes issue
+         AST-1218) Reported by: Guenther Kelleter Patches: misdnlog.patch
+         (license #6372) patch uploaded by Guenther Kelleter ........
+         Merged revisions 398235 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398236 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398237 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-04 14:32 +0000 [r398227]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c: Debug messages for
+         pjsip outbound registration Added debug messages indicating that
+         an outbound registration attempt was made and it was successful
+         in pjsip. (closes issue ASTERISK-22388) Reported by: Rusty Newton
+         ........ Merged revisions 398226 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-03 20:28 +0000 [r398217]  Alexandr Anikin <may@telecom-service.ru>
+
+       * /, addons/ooh323c/src/ooh245.c: Fix remote tcs sequence handling
+         on empty tcs received ........ Merged revisions 398214 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398215 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-03 18:09 +0000 [r398207]  Kinsey Moore <kmoore@digium.com>
+
+       * res/res_pjsip_dtmf_info.c, /: Prevent a crash in
+         res_pjsip_dtmf_info.c This change makes sure that a content type
+         header exists before checking the contents of the header against
+         known SIP INFO DTMF content types. ........ Merged revisions
+         398206 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-03 17:19 +0000 [r398205]  David M. Lee <dlee@digium.com>
+
+       * Makefile, /: Fixed 'make clean' for wiki docs ........ Merged
+         revisions 398198 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-09-03 14:29 +0000 [r398197]  Walter Doekes <walter+asterisk@wjd.nu>
+
+       * /, cel/cel_custom.c: Be a little more verbose when loading
+         cel_custom.conf. Review: https://reviewboard.asterisk.org/r/2805/
+         ........ Merged revisions 398167 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398168 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398196 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 20:58 +0000 [r398150]  David M. Lee <dlee@digium.com>
+
+       * main/asterisk.c, include/asterisk/optional_api.h, /,
+         main/optional_api.c: Fix graceful shutdown crash. The cleanup
+         code for optional_api needs to happen after all of the optional
+         API users and providers have unused/unprovided. Unfortunately,
+         regsitering the atexit() handler at the beginning of main() isn't
+         soon enough, since module destructors run after that. ........
+         Merged revisions 398149 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 20:37 +0000 [r398148]  Rusty Newton <rnewton@digium.com>
+
+       * /, configs/pjsip.conf.sample: New pjsip.conf.sample (issue
+         ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/2811/ ........
+         Merged revisions 398147 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 19:55 +0000 [r398124-398140]  Kevin Harwell <kharwell@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c,
+         include/asterisk/sorcery.h, res/res_pjsip.c,
+         res/res_pjsip/config_transport.c, main/sorcery.c: Add a
+         reloadable option for sorcery type objects Some configuration
+         objects currently won't place nice if reloaded. Specifically, in
+         this case the pjsip transport objects. Now when registering an
+         object in sorcery one may specify that the object is allowed to
+         be reloaded or not. If the object is set to not reload then upon
+         reloading of the configuration the objects of that type will not
+         be reloaded. The initially loaded objects of that type however
+         will remain. While the transport objects will not longer be
+         reloaded it is still possible for a user to configure an endpoint
+         to an invalid transport. A couple of log messages were added to
+         help diagnose this problem if it occurs. (closes issue
+         ASTERISK-22382) Reported by: Rusty Newton (closes issue
+         ASTERISK-22384) Reported by: Rusty Newton Review:
+         https://reviewboard.asterisk.org/r/2807/ ........ Merged
+         revisions 398139 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/config.c, res/res_security_log.c, /, channels/chan_sip.c,
+         main/translate.c, main/named_acl.c, main/indications.c: Fix
+         various memory leaks main/config.c - cleanup cache fie includes
+         res/res_security_log.c - unregister logger level
+         channesl/chan_sip.c - cleanup io context and notify_types
+         main/translator.c - cleanup at shutdown main/named_acl.c -
+         cleanup cli commands main/indications.c -
+         ast_get_indication_tone() unref default_tone_zone if used (closes
+         issues ASTERISK-22378) Reported by: Corey Farrell Patches:
+         config_shutdown.patch uploaded by coreyfarrell (license 5909)
+         res_security_log.patch uploaded by coreyfarrell (license 5909)
+         chan_sip-11.patch uploaded by coreyfarrell (license 5909)
+         indications_refleak.patch uploaded by coreyfarrell (license 5909)
+         named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license
+         5909) translate_shutdown.patch uploaded by coreyfarrell (license
+         5909) ........ Merged revisions 398102 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398103 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398116 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 18:38 +0000 [r398101]  Matthew Jordan <mjordan@digium.com>
+
+       * /, UPGRADE-12.txt (added), UPGRADE.txt: Update UPGRADE.txt file
+         for Asterisk 12 This simply pulls in the changes that were
+         breaking from the CHANGES file and updates a few other areas
+         accordingly. It also removes the 10 => 11 notes, which are
+         traditionally removed from each major version and stored in the
+         appropriate UPGRADE-X.txt file. ........ Merged revisions 398100
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 18:30 +0000 [r398064-398099]  Jonathan Rose <jrose@digium.com>
+
+       * main/features_config.c, /, main/config_options.c:
+         features_config: Ignore parkinglots in features.conf instead of
+         failing to load Parkinglots are defined in res_features.conf now,
+         but this patch fixes features_config so that features don't fail
+         to load when parkinglots are present in features.conf Review:
+         https://reviewboard.asterisk.org/r/2801/ ........ Merged
+         revisions 398068 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/features_config.c, main/udptl.c, /: features_config: Don't
+         require features.conf to be present for Asterisk to load (closes
+         issue ASTERISK-22426) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2806/ ........ Merged
+         revisions 398020 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 17:59 +0000 [r398063]  Kevin Harwell <kharwell@digium.com>
+
+       * main/manager.c, /, res/res_agi.c: Memory leak fix
+         ast_xmldoc_printable returns an allocated block that must be
+         freed by the caller. Fixed manager.c and res_agi.c to stop
+         leaking these results. (closes issue ASTERISK-22395) Reported by:
+         Corey Farrell Patches: manager-leaks-12.patch uploaded by
+         coreyfarrell (license 5909) res_agi-xmldoc-leaks.patch uploaded
+         by coreyfarrell (license 5909) ........ Merged revisions 398060
+         from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+         Merged revisions 398061 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398062 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 17:11 +0000 [r398024-398026]  Richard Mudgett <rmudgett@digium.com>
+
+       * tests/test_substitution.c, /: test_substitution: Fix failing
+         test. Revert the -r392190 change. The original test was correct.
+         The CDR code was actually returning an unititialized buffer.
+         ........ Merged revisions 398025 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * tests/test_substitution.c, /: test_substituition: Fix failed test
+         reporting to actually report failure. You cannot put the "Testing
+         <blah> pass/fail" on a single line before actually performing the
+         test. Now any additional failure information is logged before the
+         test pass/fail announcement. * Added an additional CDR(answer,u)
+         test. ........ Merged revisions 398018 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 398019 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398023 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 16:27 +0000 [r398003-398017]  Kevin Harwell <kharwell@digium.com>
+
+       * /, apps/app_mixmonitor.c: Fix memory leaks (closes issue
+         ASTERISK-22368) Reported by: Corey Farrell Patches:
+         issueA22368_mixmonitor_free_filename.patch uploaded by wdoekes
+         (license 5674) ........ Merged revisions 398004 from
+         http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+         revisions 398011 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398016 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/asterisk.c, /: Check return value on fwrite ........ Merged
+         revisions 398000 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 398002 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 13:40 +0000 [r397987-397990]  David M. Lee <dlee@digium.com>
+
+       * rest-api-templates/swagger_model.py, res/ari/ari_websockets.c,
+         channels/sip/include/sip.h, main/asterisk.c, res/res_ari.c,
+         tests/test_optional_api.c (added), /, channels/chan_sip.c,
+         include/asterisk/autoconfig.h.in, configure.ac,
+         rest-api-templates/res_ari_resource.c.mustache,
+         res/ari/internal.h, res/res_http_websocket.c, CHANGES,
+         include/asterisk/compiler.h, include/asterisk/ari.h,
+         main/loader.c, include/asterisk/optional_api.h,
+         build_tools/cflags.xml, configure, res/res_ari_events.c,
+         include/asterisk/http_websocket.h, main/optional_api.c (added):
+         optional_api: Fix linking problems between modules that export
+         global symbols With the new work in Asterisk 12, there are some
+         uses of the optional_api that are prone to failure. The details
+         are rather involved, and captured on [the wiki][1]. This patch
+         addresses the issue by removing almost all of the magic from the
+         optional API implementation. Instead of relying on weak symbol
+         resolution, a new optional_api.c module was added to Asterisk
+         core. For modules providing an optional API, the pointer to the
+         implementation function is registered with the core. For modules
+         that use an optional API, a pointer to a stub function, along
+         with a optional_ref function pointer are registered with the
+         core. The optional_ref function pointers is set to the
+         implementation function when it's provided, or the stub function
+         when it's now. Since the implementation no longer relies on
+         magic, it is now supported on all platforms. In the spirit of
+         choice, an OPTIONAL_API flag was added, so we can disable the
+         optional_api if needed (maybe it's buggy on some bizarre platform
+         I haven't tested on) The AST_OPTIONAL_API*() macros themselves
+         remained unchanged, so existing code could remain unchanged. But
+         to help with debugging the optional_api, the patch limits the
+         #include of optional API's to just the modules using the API.
+         This also reduces resource waste maintaining optional_ref
+         pointers that aren't used. Other changes made as a part of this
+         patch: * The stubs for http_websocket that wrap system calls set
+         errno to ENOSYS. * res_http_websocket now properly increments
+         module use count. * In loader.c, the while() wrappers around
+         dlclose() were removed. The while(!dlclose()) is actually an
+         anti-pattern, which can lead to infinite loops if the module
+         you're attempting to unload exports a symbol that was directly
+         linked to. * The special handling of nonoptreq on systems without
+         weak symbol support was removed, since we no longer rely on weak
+         symbols for optional_api. [1]:
+         https://wiki.asterisk.org/wiki/x/wACUAQ (closes issue
+         ASTERISK-22296) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2797/ ........ Merged
+         revisions 397989 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_stasis_playback.c, /,
+         include/asterisk/stasis_app_recording.h,
+         res/ari/resource_recordings.h, res/res_stasis_recording.c,
+         res/Makefile, res/ari/ari_model_validators.c,
+         rest-api/api-docs/recordings.json, res/stasis_recording (added),
+         res/ari/resource_recordings.c, res/ari/ari_model_validators.h,
+         res/res_ari_recordings.c: ARI: Implement /recordings/stored API's
+         his patch implements the ARI API's for stored recordings. While
+         the original task only specified deleting a recording, it was
+         simple enough to implement the GET for all recordings, and for an
+         individual recording. The recording playback operation was
+         modified to use the same code for accessing the recording as the
+         REST API, so that they will behave consistently. There were
+         several problems with the api-docs that were also fixed, bringing
+         the ARI spec in line with the implementation. There were some
+         'wishful thinking' fields on the stored recording model (duration
+         and timestamp) that were removed, because I ended up not
+         implementing a metadata file to go along with the recording to
+         store such information. The GET /recordings/live operation was
+         removed, since it's not really that useful to get a list of all
+         recordings that are currently going on in the system. (At least,
+         if we did that, we'd probably want to also list all of the
+         current playbacks. Which seems weird.) (closes issue
+         ASTERISK-21582) Review: https://reviewboard.asterisk.org/r/2693/
+         ........ Merged revisions 397985 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /: Multiple revisions 397975-397976 ........ r397975 | rmudgett |
+         2013-08-29 20:00:00 -0500 (Thu, 29 Aug 2013) | 1 line pbx.c: Make
+         ast_str_substitute_variables_full() not mask variables. ........
+         r397976 | rmudgett | 2013-08-29 20:00:41 -0500 (Thu, 29 Aug 2013)
+         | 1 line Revert last commit. ........ Merged revisions
+         397975-397976 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 01:20 +0000 [r397978]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/pbx.c, /: pbx.c: Make pbx_substitute_variables_helper_full()
+         not mask variables. ........ Merged revisions 397977 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-30 00:11 +0000 [r397962-397969]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip_pidf.c, /: Sanitize XML output for PIDF bodies.
+         PJSIP's PIDF API does not replace angle brackets with their
+         appropriate counterparts for XML. So we have to do it ourself. In
+         this particular case, the problem had to do with attempting to
+         place an unsanitized SIP URI into an XML node. Now we don't get a
+         488 from recipients of our PIDF NOTIFYs. ........ Merged
+         revisions 397968 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_pidf.c, /: Fix method for creating activities
+         string in PIDF bodies. The previous method did not allocate
+         enough space to create the entire string, but adjusted the
+         string's slen value to be larger than the actual allocation. This
+         resulted in garbled text in NOTIFY requests from Asterisk. This
+         method allocates the proper amount of space first and then writes
+         the content into the buffer. ........ Merged revisions 397960
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 22:49 +0000 [r397959]  Kevin Harwell <kharwell@digium.com>
+
+       * apps/app_dumpchan.c, main/logger.c, apps/app_verbose.c,
+         main/asterisk.c, channels/chan_misdn.c, /: Verbose logging
+         discrepancies Refactored cases where a combination of
+         ast_verbose/options_verbose were present. Also in general tried
+         to eliminate, in as many places as possible, where the
+         options_verbose global variable was being used. Refactored the
+         way local and remote consoles handle verbose message logging in
+         an attempt to solve the various discrepancies that sometimes
+         would show between the two. (closes issue AST-1193) Reported by:
+         Guenther Kelleter Review:
+         https://reviewboard.asterisk.org/r/2798/ ........ Merged
+         revisions 397948 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 397958 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 22:26 +0000 [r397956-397957]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip_pubsub.c: Fix when the subscription_terminated
+         callback is called for subscription handlers. The previous
+         placement would result in the resubscribe() callback called
+         instead of the subscription_terminated() callback being called
+         when a subscription was ended via a SUBSCRIBE request. This would
+         result in confusing PJSIP and having it throw an assertion.
+         ........ Merged revisions 397955 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * res/res_pjsip_session.c, /: Fix a race condition where a canceled
+         call was answered. RFC 5407 section 3.1.2 details a scenario
+         where a UAC sends a CANCEL at the same time that a UAS sends a
+         200 OK for the INVITE that the UAC is canceling. When this
+         occurs, it is the role of the UAC to immediately send a BYE to
+         terminate the call. This scenario was reproducible by have a
+         Digium phone with two lines place a call to a second phone that
+         forwarded the call to the second line on the original phone. The
+         Digium phone, upon realizing that it was connecting to itself,
+         would attempt to cancel the call. The timing of this happened to
+         trigger the aforementioned race condition about 80% of the time.
+         Asterisk was not doing its job of sending a BYE when receiving a
+         200 OK on a cancelled INVITE. The result was that the ast_channel
+         structure was destroyed but the underlying SIP session, as well
+         as the PJSIP inv_session and dialog, were still alive. Attempting
+         to perform an action such as a transfer, once in this state,
+         would result in Asterisk crashing. The circumstances are now
+         detected properly and the session is ended as recommended in RFC
+         5407. (closes issue AST-1209) reported by John Bigelow ........
+         Merged revisions 397945 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 21:37 +0000 [r397947]  Kevin Harwell <kharwell@digium.com>
+
+       * main/file.c, main/app.c, main/config_options.c, main/cel.c,
+         main/asterisk.c, main/cdr.c, main/manager.c, /,
+         main/stasis_config.c: Memory leaks fix (closes ASTERISK-22376)
+         Reported by: John Hardin Patches: memleak.patch uploaded by
+         jhardin (license 6512) memleak2.patch uploaded by jhardin
+         (license 6512) ........ Merged revisions 397946 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 20:22 +0000 [r397939]  Matthew Jordan <mjordan@digium.com>
+
+       * configs/safe_asterisk.conf.sample (removed), /, CHANGES,
+         contrib/scripts/safe_asterisk, Makefile: Revert r394939 due to
+         (numerous) objections The patch from ASTERISK-21965 was committed
+         perhaps a bit too hastily. Walter and Tzafrir have pointed out
+         numerous issues with the approach and have propsed an alternative
+         in r/2757. Since it's not a time critical issue and is not worth
+         holding up the release of 12 for it, I've gone ahead and reverted
+         r394939 from 12/trunk and re-opened ASTERISK-21965. ........
+         Merged revisions 397938 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 16:21 +0000 [r397932]  David M. Lee <dlee@digium.com>
+
+       * rest-api-templates/make_ari_stubs.py, /,
+         rest-api-templates/api.wiki.mustache,
+         rest-api-templates/asterisk_processor.py: Account for {} in
+         Swagger notes ........ Merged revisions 397927 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 16:05 +0000 [r397925]  Matthew Jordan <mjordan@digium.com>
+
+       * Makefile, /: Recursively search for '.c' files when making
+         documentation with 'make full' Without this, documentation
+         defined in sub-folders is ignored. Since having properly
+         generated documentation is especially important in Asterisk 12 -
+         not having it can cause a module to not load - 'make full' needs
+         to look in all .c files. ........ Merged revisions 397924 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 15:43 +0000 [r397923]  Mark Michelson <mmichelson@digium.com>
+
+       * /, apps/app_queue.c, main/cel.c, main/stasis_bridges.c: Multiple
+         revisions 397921-397922 ........ r397921 | mmichelson |
+         2013-08-29 10:42:10 -0500 (Thu, 29 Aug 2013) | 6 lines Resolve
+         assumptions that bridge snapshots would be non-NULL for transfer
+         stasis events. Attempting to transfer an unbridged call would
+         result in crashes in either CEL code or in the conversion to AMI
+         messages. ........ r397922 | mmichelson | 2013-08-29 10:42:29
+         -0500 (Thu, 29 Aug 2013) | 3 lines Remove extra debug message.
+         ........ Merged revisions 397921-397922 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-29 12:30 +0000 [r397912]  Matthew Jordan <mjordan@digium.com>
+
+       * contrib/ast-db-manage/config,
+         contrib/ast-db-manage/config/script.py.mako,
+         contrib/ast-db-manage/voicemail.ini.sample,
+         contrib/ast-db-manage/voicemail/env.py,
+         contrib/ast-db-manage/voicemail,
+         contrib/ast-db-manage/voicemail/script.py.mako,
+         contrib/ast-db-manage/README.md,
+         contrib/ast-db-manage/config/versions,
+         contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
+         contrib/ast-db-manage (added),
+         contrib/ast-db-manage/voicemail/versions, /,
+         contrib/ast-db-manage/config.ini.sample,
+         contrib/ast-db-manage/config/env.py,
+         contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py:
+         Actually *add* the database schema management utilities In
+         r397874, the scripts were removed... but not replaced. Thanks to
+         Michael Young for noticing this! ........ Merged revisions 397911
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-28 23:15 +0000 [r397886-397903]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/cdr.c, /, funcs/func_cdr.c, main/stdtime/localtime.c: Fix
+         some uninitialized buffers for CDR handling valgrind found. *
+         Made ast_strftime_locale() ensure that the output buffer is
+         initialized. The std library strftime() returns 0 and does not
+         touch the buffer if it has an error. However, the function can
+         also return 0 without an error. (closes issue ASTERISK-22412)
+         Reported by: rmudgett ........ Merged revisions 397902 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: Fixed problems with ast_cdr_serialize_variables().
+         * Fixed return value of ast_cdr_serialize_variables() on error.
+         It needs to return 0 indicating no CDR variables found. * Made
+         ast_cdr_serialize_variables() check the return value of
+         cdr_object_format_property() and assert if nonzero. A member of
+         the cdr_readonly_vars[] was not handled. * Removed unused
+         elements from cdr_readonly_vars[]: total_duration, total_billsec,
+         first_start, and first_answer. ........ Merged revisions 397900
+         from http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: Made the on/off in CLI "cdr set debug [on|off]"
+         case insensitive. ........ Merged revisions 397898 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/cdr.c, /: Make CDR variable name chandling consistently case
+         insensitive. ........ Merged revisions 397896 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, main/cdr.c: Make CDR code deal with channel names case
+         insensitively. ........ Merged revisions 397894 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, funcs/func_cdr.c, main/cdr.c: Some CDR code optimization.
+         ........ Merged revisions 397892 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, funcs/func_cdr.c: Whitespace and curly braces. ........ Merged
+         revisions 397885 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-28 21:09 +0000 [r397877]  Mark Michelson <mmichelson@digium.com>
+
+       * /, res/res_pjsip_refer.c: Improve detection of answer on SIP
+         blind transfer. A problem encountered during testing was that
+         res_pjsip_refer would not ever send a NOTIFY with a 200 OK
+         sipfrag. This is because the framehook that was supposed to send
+         the NOTIFY would never be told that an answer had occurred. This
+         happened for two reasons: 1) The transferee channel on which the
+         framehook was on was already up. 2) Answers are rarely if ever
+         written to channels. Rather, the ast_answer() or ast_raw_answer()
+         function is used to answer channels. Thanks to a suggestion by
+         Matt Jordan, the best way to detect that the call had been
+         answered was to find out when the transferee channel joined a
+         bridge. With stasis this is an easy task. So now, in addition to
+         the framehook logic, there is a stasis subscription used to
+         determine when the transferee has entered a bridge. Once it has
+         entered, an appropriate NOTIFY is sent. ........ Merged revisions
+         397876 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-28 20:55 +0000 [r397872-397875]  Matthew Jordan <mjordan@digium.com>
+
+       * contrib/realtime/mysql/queue_log.sql,
+         contrib/realtime/mysql/voicemail.sql,
+         contrib/realtime/mysql/sippeers.sql, /,
+         contrib/realtime/mysql/iaxfriends.sql,
+         contrib/realtime/mysql/meetme.sql,
+         contrib/realtime/mysql/voicemail_messages.sql,
+         contrib/realtime/postgresql/realtime.sql,
+         contrib/realtime/mysql/voicemail_data.sql, CHANGES,
+         contrib/realtime/mysql/musiconhold.sql: Add database schema
+         management using Alembic This patch replaces contrib/realtime/
+         with a new setup for managing the database schema required for
+         database integration with Asterisk. In addition to initializing a
+         database with the proper schema, alembic can do a database
+         migration to assist with upgrading Asterisk in the future.
+         Hopefully this helps make setting up and operating Asterisk with
+         a database easier. With this the schema only needs to be
+         maintained in one place instead of once per database. The schemas
+         I have added here have a bit of improvement over the examples
+         that were there before (some added consistency and added some
+         missing indexes). Managing the schema in one place here also
+         applies to all databases supported by SQLAlchemy. See
+         contrib/ast-db-manage/README.md for more details. Review:
+         https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant
+         (license 6300) ........ Merged revisions 397874 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * CHANGES, /: Update CHANGES file for Asterisk 12 This updates the
+         Asterisk 12 CHANGES file with the things that were missed during
+         the development cycle. Review:
+         https://reviewboard.asterisk.org/r/2795/ ........ Merged
+         revisions 397870 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-28 16:13 +0000 [r397857-397860]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/pbx.c: pbx.c: Make ast_str_substitute_variables_full()
+         not mask variables. ........ Merged revisions 397859 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * main/chanvars.c: ast_free() is null tollerant.
+
+       * include/asterisk/threadstorage.h, /: Match use of ast_free() with
+         ast_calloc() and add some curly braces. ........ Merged revisions
+         397856 from http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-28 15:43 +0000 [r397855]  Mark Michelson <mmichelson@digium.com>
+
+       * res/res_pjsip/pjsip_distributor.c, /: Fix dialog matching in the
+         SIP distributor. Dialog matching is performed in the distributor
+         for the sole purpose of retrieving an associated serializer so
+         the request may be serialized. This patch fixes two problems.
+         First, incoming CANCEL requests that had no to-tag (which really
+         should be *all* CANCEL requests) would not match with a dialog.
+         An earlier bug fix to deal with early CANCEL requests would
+         result in the CANCEL being replied to with a 481. The fix for
+         this is to find the matching INVITE transaction and get the
+         dialog from that transaction. Second, no SIP responses were
+         matching dialogs. This is because we were inverting the tags that
+         we were passing into PJSIP's dialog finding function. This logic
+         has been corrected by setting local and remote tag variables
+         based on whether the incoming message is a request or response.
+         ........ Merged revisions 397854 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-27 19:19 +0000 [r397820]  David M. Lee <dlee@digium.com>
+
+       * rest-api-templates/param_parsing.mustache, res/res_ari_bridges.c,
+         /, res/stasis/app.c, res/res_ari_events.c,
+         res/res_ari_asterisk.c,
+         rest-api-templates/res_ari_resource.c.mustache, res/stasis/app.h,
+         res/res_stasis.c, main/stasis_bridges.c: ARI: WebSocket event
+         cleanup Stasis events (which get distributed over the ARI
+         WebSocket) are created by subscribing to the channel_all_cached
+         and bridge_all_cached topics, filtering out events for
+         channels/bridges currently subscribed to. There are two issues
+         with that. First was a race condition, where messages in-flight
+         to the master subscribe-to-all-things topic would get sent out,
+         even though the events happened before the channel was put into
+         Stasis. Secondly, as the number of channels and bridges grow in
+         the system, the work spent filtering messages becomes excessive.
+         Since r395954, individual channels and bridges have caching
+         topics, and can be subscribed to individually. This patch takes
+         advantage, so that channels and bridges are subscribed to on
+         demand, instead of filtering the global topics. The one case
+         where filtering is still required is handling BridgeMerge
+         messages, which are published directly to the bridge_all topic.
+         Other than the change to how subscriptions work, this patch
+         mostly just moves code around. Most of the work generating JSON
+         objects from messages was moved to .to_json handlers on the
+         message types. The callback functions handling app subscriptions
+         were moved from res_stasis (b/c they were global to the model) to
+         stasis/app.c (b/c they are local to the app now). (closes issue
+         ASTERISK-21969) Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/2754/ ........ Merged
+         revisions 397816 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-27 18:52 +0000 [r397811]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, main/astmm.c: Made MALLOC_DEBUG less CPU intensive by default.
+         Storing a backtrace for each allocation in anticipation of a
+         memory management problem is very CPU intensive. * Added the CLI
+         "memory backtrace {on|off}" command to request that the backtrace
+         be gathered only on request. The backtrace is off by default.
+         (issue ASTERISK-22221) Reported by: Matt Jordan ........ Merged
+         revisions 397809 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-27 18:10 +0000 [r397753-397760]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid
+         SDP If the SIP channel driver processes an invalid SDP that
+         defines media descriptions before connection information, it may
+         attempt to reference the socket address information even though
+         that information has not yet been set. This will cause a crash.
+         This patch adds checks when handling the various media
+         descriptions that ensures the media descriptions are handled only
+         if we have connection information suitable for that media. Thanks
+         to Walter Doekes, OSSO B.V., for reporting, testing, and
+         providing the solution to this problem. (closes issue
+         ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches:
+         issueA22007_sdp_without_c_death.patch uploaded by wdoekes
+         (License 5674) ........ Merged revisions 397756 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 397757 from
+         http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+         revisions 397758 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 397759 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK
+         on dialog that has no channel A remote exploitable crash
+         vulnerability exists in the SIP channel driver if an ACK with SDP
+         is received after the channel has been terminated. The handling
+         code incorrectly assumed that the channel would always be
+         present. This patch adds a check such that the SDP will only be
+         parsed and applied if Asterisk has a channel present that is
+         associated with the dialog. Note that the patch being applied was
+         modified only slightly from the patch provided by Walter Doekes
+         of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin
+         Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches:
+         issueA21064_fix.patch uploaded by wdoekes (License 5674) ........
+         Merged revisions 397710 from
+         http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+         revisions 397711 from
+         http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+         revisions 397712 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 397713 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-27 16:51 +0000 [r397746]  Richard Mudgett <rmudgett@digium.com>
+
+       * channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c,
+         channels/chan_dahdi.c, channels/sig_analog.c, /,
+         channels/chan_sip.c, channels/chan_motif.c: Fix uninitialized
+         value in struct ast_control_pvt_cause_code usage. ........ Merged
+         revisions 397744 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 397745 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-26 23:48 +0000 [r397691]  Matthew Jordan <mjordan@digium.com>
+
+       * /, main/bridge_channel.c: Better handle clearing the OUTGOING
+         flag when a channel leaves a bridge When a channel with the
+         OUTGOING flag leaves a bridge, and it will survive being pulled
+         from the bridge (either because it will execute dialplan, go into
+         another bridge, or live in a friendly autoloop), we have to clear
+         the OUTGOING flag. This is the signal to the CDR engine that this
+         channel is no longer a second class citizen, i.e., it is not
+         "dialed". The soft hangup flags are only half the picture. If a
+         channel is being moved from one bridge to another, the soft
+         hangup flags aren't set; however, the state of the bridge_channel
+         will not be hung up. Since the channel does not have one of the
+         two hang up states, that implies that the channel is still
+         technically alive. This patch modifies the check so that it
+         checks both the soft hangup flags as well as the bridge_channel
+         state. If either suggests that the channel is going to persist,
+         we clear the OUTGOING flag. ........ Merged revisions 397690 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-26 21:32 +0000 [r397674]  David M. Lee <dlee@digium.com>
+
+       * /, main/bucket.c: Fixed bucket.c for systems where tv_usec is not
+         an unsigned long. ........ Merged revisions 397673 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-26 16:25 +0000 [r397644-397651]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, include/asterisk/bridge_channel.h, main/bridge_channel.c:
+         bridging: Fix a livelock with local channel optimization. Use a
+         better means of waking up the bridge channel thread. ........
+         Merged revisions 397650 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * channels/Makefile, /: chan_dahdi: Add some missing build cleanup.
+         ........ Merged revisions 397643 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-25 18:12 +0000 [r397622-397631]  Matthew Jordan <mjordan@digium.com>
+
+       * tests/test_bucket.c, /: Fix bucket unit tests After the review
+         for buckets was completed (r2715), the handling of names in the
+         bucket core was deferred to the wizards. As such, the bucket unit
+         tests cannot expect that passing a URI with a scheme specified
+         but no actual resource name will automatically fail. The tests
+         have been updated to not make this check. ........ Merged
+         revisions 397630 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * include/asterisk/config_options.h, /, main/config_options.c,
+         tests/test_config.c: Fix the config_options_test The config
+         options test requires the entire configuration item to be
+         transparent from the documentation system. So we let it do that
+         too. As an aside, please do not use this power for evil.
+         Documentation is your friend, and you really should document your
+         configurations. Hiding your module's configuration information
+         from the system attempting to enforce some sanity in the universe
+         is something only a Bond villain would contemplate. ........
+         Merged revisions 397628 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+       * /, res/res_pjsip/pjsip_configuration.c: Add rtpengine
+         configuration parameter The rtpengine configuration parameter was
+         documented in the XML documentation, but it was not actually
+         registered with the sorcery object. This adds the parameter with
+         a default of "asterisk", such that res_rtp_asterisk is chosen as
+         the default RTP implementation. (closes issue ASTERISK-22380)
+         Reported by: Rusty Newton Tested by: Rusty Newton ........ Merged
+         revisions 397621 from
+         http://svn.asterisk.org/svn/asterisk/branches/12
+
+2013-08-23 22:40 +0000 [r397615]  Matthew Jordan <mjordan@digium.com>
+
+       * /: Set new merge properties on 12
+
+2013-08-23 22:20 +0000 [r397613]  Joshua Colp <jcolp@digium.com>
+
+       * main/bucket.c: Fix building of trunk. Note: This is why I commit
+         on the weekend.
+
diff --git a/contrib/realtime/mysql/mysql_cdr.sql b/contrib/realtime/mysql/mysql_cdr.sql
new file mode 100644 (file)
index 0000000..95d2282
--- /dev/null
@@ -0,0 +1,32 @@
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+-- Running upgrade None -> 210693f3123d
+
+CREATE TABLE cdr (
+    accountcode VARCHAR(20), 
+    src VARCHAR(80), 
+    dst VARCHAR(80), 
+    dcontext VARCHAR(80), 
+    clid VARCHAR(80), 
+    channel VARCHAR(80), 
+    dstchannel VARCHAR(80), 
+    lastapp VARCHAR(80), 
+    lastdata VARCHAR(80), 
+    start DATETIME, 
+    answer DATETIME, 
+    end DATETIME, 
+    duration INTEGER, 
+    billsec INTEGER, 
+    disposition VARCHAR(45), 
+    amaflags VARCHAR(45), 
+    userfield VARCHAR(256), 
+    uniqueid VARCHAR(150), 
+    linkedid VARCHAR(150), 
+    peeraccount VARCHAR(20), 
+    sequence INTEGER
+);
+
+INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');
+
diff --git a/contrib/realtime/mysql/mysql_config.sql b/contrib/realtime/mysql/mysql_config.sql
new file mode 100644 (file)
index 0000000..de713fe
--- /dev/null
@@ -0,0 +1,705 @@
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+-- Running upgrade None -> 4da0c5f79a9c
+
+CREATE TABLE sippeers (
+    id INTEGER NOT NULL AUTO_INCREMENT, 
+    name VARCHAR(40) NOT NULL, 
+    ipaddr VARCHAR(45), 
+    port INTEGER, 
+    regseconds INTEGER, 
+    defaultuser VARCHAR(40), 
+    fullcontact VARCHAR(80), 
+    regserver VARCHAR(20), 
+    useragent VARCHAR(20), 
+    lastms INTEGER, 
+    host VARCHAR(40), 
+    type ENUM('friend','user','peer'), 
+    context VARCHAR(40), 
+    permit VARCHAR(95), 
+    deny VARCHAR(95), 
+    secret VARCHAR(40), 
+    md5secret VARCHAR(40), 
+    remotesecret VARCHAR(40), 
+    transport ENUM('udp','tcp','tls','ws','wss','udp,tcp','tcp,udp'), 
+    dtmfmode ENUM('rfc2833','info','shortinfo','inband','auto'), 
+    directmedia ENUM('yes','no','nonat','update'), 
+    nat VARCHAR(29), 
+    callgroup VARCHAR(40), 
+    pickupgroup VARCHAR(40), 
+    language VARCHAR(40), 
+    disallow VARCHAR(200), 
+    allow VARCHAR(200), 
+    insecure VARCHAR(40), 
+    trustrpid ENUM('yes','no'), 
+    progressinband ENUM('yes','no','never'), 
+    promiscredir ENUM('yes','no'), 
+    useclientcode ENUM('yes','no'), 
+    accountcode VARCHAR(40), 
+    setvar VARCHAR(200), 
+    callerid VARCHAR(40), 
+    amaflags VARCHAR(40), 
+    callcounter ENUM('yes','no'), 
+    busylevel INTEGER, 
+    allowoverlap ENUM('yes','no'), 
+    allowsubscribe ENUM('yes','no'), 
+    videosupport ENUM('yes','no'), 
+    maxcallbitrate INTEGER, 
+    rfc2833compensate ENUM('yes','no'), 
+    mailbox VARCHAR(40), 
+    `session-timers` ENUM('accept','refuse','originate'), 
+    `session-expires` INTEGER, 
+    `session-minse` INTEGER, 
+    `session-refresher` ENUM('uac','uas'), 
+    t38pt_usertpsource VARCHAR(40), 
+    regexten VARCHAR(40), 
+    fromdomain VARCHAR(40), 
+    fromuser VARCHAR(40), 
+    qualify VARCHAR(40), 
+    defaultip VARCHAR(45), 
+    rtptimeout INTEGER, 
+    rtpholdtimeout INTEGER, 
+    sendrpid ENUM('yes','no'), 
+    outboundproxy VARCHAR(40), 
+    callbackextension VARCHAR(40), 
+    timert1 INTEGER, 
+    timerb INTEGER, 
+    qualifyfreq INTEGER, 
+    constantssrc ENUM('yes','no'), 
+    contactpermit VARCHAR(95), 
+    contactdeny VARCHAR(95), 
+    usereqphone ENUM('yes','no'), 
+    textsupport ENUM('yes','no'), 
+    faxdetect ENUM('yes','no'), 
+    buggymwi ENUM('yes','no'), 
+    auth VARCHAR(40), 
+    fullname VARCHAR(40), 
+    trunkname VARCHAR(40), 
+    cid_number VARCHAR(40), 
+    callingpres ENUM('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib'), 
+    mohinterpret VARCHAR(40), 
+    mohsuggest VARCHAR(40), 
+    parkinglot VARCHAR(40), 
+    hasvoicemail ENUM('yes','no'), 
+    subscribemwi ENUM('yes','no'), 
+    vmexten VARCHAR(40), 
+    autoframing ENUM('yes','no'), 
+    rtpkeepalive INTEGER, 
+    `call-limit` INTEGER, 
+    g726nonstandard ENUM('yes','no'), 
+    ignoresdpversion ENUM('yes','no'), 
+    allowtransfer ENUM('yes','no'), 
+    dynamic ENUM('yes','no'), 
+    path VARCHAR(256), 
+    supportpath ENUM('yes','no'), 
+    PRIMARY KEY (id), 
+    UNIQUE (name)
+);
+
+CREATE INDEX sippeers_name ON sippeers (name);
+
+CREATE INDEX sippeers_name_host ON sippeers (name, host);
+
+CREATE INDEX sippeers_ipaddr_port ON sippeers (ipaddr, port);
+
+CREATE INDEX sippeers_host_port ON sippeers (host, port);
+
+CREATE TABLE iaxfriends (
+    id INTEGER NOT NULL AUTO_INCREMENT, 
+    name VARCHAR(40) NOT NULL, 
+    type ENUM('friend','user','peer'), 
+    username VARCHAR(40), 
+    mailbox VARCHAR(40), 
+    secret VARCHAR(40), 
+    dbsecret VARCHAR(40), 
+    context VARCHAR(40), 
+    regcontext VARCHAR(40), 
+    host VARCHAR(40), 
+    ipaddr VARCHAR(40), 
+    port INTEGER, 
+    defaultip VARCHAR(20), 
+    sourceaddress VARCHAR(20), 
+    mask VARCHAR(20), 
+    regexten VARCHAR(40), 
+    regseconds INTEGER, 
+    accountcode VARCHAR(20), 
+    mohinterpret VARCHAR(20), 
+    mohsuggest VARCHAR(20), 
+    inkeys VARCHAR(40), 
+    outkeys VARCHAR(40), 
+    language VARCHAR(10), 
+    callerid VARCHAR(100), 
+    cid_number VARCHAR(40), 
+    sendani ENUM('yes','no'), 
+    fullname VARCHAR(40), 
+    trunk ENUM('yes','no'), 
+    auth VARCHAR(20), 
+    maxauthreq INTEGER, 
+    requirecalltoken ENUM('yes','no','auto'), 
+    encryption ENUM('yes','no','aes128'), 
+    transfer ENUM('yes','no','mediaonly'), 
+    jitterbuffer ENUM('yes','no'), 
+    forcejitterbuffer ENUM('yes','no'), 
+    disallow VARCHAR(200), 
+    allow VARCHAR(200), 
+    codecpriority VARCHAR(40), 
+    qualify VARCHAR(10), 
+    qualifysmoothing ENUM('yes','no'), 
+    qualifyfreqok VARCHAR(10), 
+    qualifyfreqnotok VARCHAR(10), 
+    timezone VARCHAR(20), 
+    adsi ENUM('yes','no'), 
+    amaflags VARCHAR(20), 
+    setvar VARCHAR(200), 
+    PRIMARY KEY (id), 
+    UNIQUE (name)
+);
+
+CREATE INDEX iaxfriends_name ON iaxfriends (name);
+
+CREATE INDEX iaxfriends_name_host ON iaxfriends (name, host);
+
+CREATE INDEX iaxfriends_name_ipaddr_port ON iaxfriends (name, ipaddr, port);
+
+CREATE INDEX iaxfriends_ipaddr_port ON iaxfriends (ipaddr, port);
+
+CREATE INDEX iaxfriends_host_port ON iaxfriends (host, port);
+
+CREATE TABLE voicemail (
+    uniqueid INTEGER NOT NULL AUTO_INCREMENT, 
+    context VARCHAR(80) NOT NULL, 
+    mailbox VARCHAR(80) NOT NULL, 
+    password VARCHAR(80) NOT NULL, 
+    fullname VARCHAR(80), 
+    alias VARCHAR(80), 
+    email VARCHAR(80), 
+    pager VARCHAR(80), 
+    attach ENUM('yes','no'), 
+    attachfmt VARCHAR(10), 
+    serveremail VARCHAR(80), 
+    language VARCHAR(20), 
+    tz VARCHAR(30), 
+    deletevoicemail ENUM('yes','no'), 
+    saycid ENUM('yes','no'), 
+    sendvoicemail ENUM('yes','no'), 
+    review ENUM('yes','no'), 
+    tempgreetwarn ENUM('yes','no'), 
+    operator ENUM('yes','no'), 
+    envelope ENUM('yes','no'), 
+    sayduration INTEGER, 
+    forcename ENUM('yes','no'), 
+    forcegreetings ENUM('yes','no'), 
+    callback VARCHAR(80), 
+    dialout VARCHAR(80), 
+    exitcontext VARCHAR(80), 
+    maxmsg INTEGER, 
+    volgain NUMERIC(5, 2), 
+    imapuser VARCHAR(80), 
+    imappassword VARCHAR(80), 
+    imapserver VARCHAR(80), 
+    imapport VARCHAR(8), 
+    imapflags VARCHAR(80), 
+    stamp DATETIME, 
+    PRIMARY KEY (uniqueid)
+);
+
+CREATE INDEX voicemail_mailbox ON voicemail (mailbox);
+
+CREATE INDEX voicemail_context ON voicemail (context);
+
+CREATE INDEX voicemail_mailbox_context ON voicemail (mailbox, context);
+
+CREATE INDEX voicemail_imapuser ON voicemail (imapuser);
+
+CREATE TABLE meetme (
+    bookid INTEGER NOT NULL AUTO_INCREMENT, 
+    confno VARCHAR(80) NOT NULL, 
+    starttime DATETIME, 
+    endtime DATETIME, 
+    pin VARCHAR(20), 
+    adminpin VARCHAR(20), 
+    opts VARCHAR(20), 
+    adminopts VARCHAR(20), 
+    recordingfilename VARCHAR(80), 
+    recordingformat VARCHAR(10), 
+    maxusers INTEGER, 
+    members INTEGER NOT NULL, 
+    PRIMARY KEY (bookid)
+);
+
+CREATE INDEX meetme_confno_start_end ON meetme (confno, starttime, endtime);
+
+CREATE TABLE musiconhold (
+    name VARCHAR(80) NOT NULL, 
+    mode ENUM('custom','files','mp3nb','quietmp3nb','quietmp3'), 
+    directory VARCHAR(255), 
+    application VARCHAR(255), 
+    digit VARCHAR(1), 
+    sort VARCHAR(10), 
+    format VARCHAR(10), 
+    stamp DATETIME, 
+    PRIMARY KEY (name)
+);
+
+INSERT INTO alembic_version (version_num) VALUES ('4da0c5f79a9c');
+
+-- Running upgrade 4da0c5f79a9c -> 43956d550a44
+
+CREATE TABLE ps_endpoints (
+    id VARCHAR(40) NOT NULL, 
+    transport VARCHAR(40), 
+    aors VARCHAR(200), 
+    auth VARCHAR(40), 
+    context VARCHAR(40), 
+    disallow VARCHAR(200), 
+    allow VARCHAR(200), 
+    direct_media ENUM('yes','no'), 
+    connected_line_method ENUM('invite','reinvite','update'), 
+    direct_media_method ENUM('invite','reinvite','update'), 
+    direct_media_glare_mitigation ENUM('none','outgoing','incoming'), 
+    disable_direct_media_on_nat ENUM('yes','no'), 
+    dtmf_mode ENUM('rfc4733','inband','info'), 
+    external_media_address VARCHAR(40), 
+    force_rport ENUM('yes','no'), 
+    ice_support ENUM('yes','no'), 
+    identify_by ENUM('username'), 
+    mailboxes VARCHAR(40), 
+    moh_suggest VARCHAR(40), 
+    outbound_auth VARCHAR(40), 
+    outbound_proxy VARCHAR(40), 
+    rewrite_contact ENUM('yes','no'), 
+    rtp_ipv6 ENUM('yes','no'), 
+    rtp_symmetric ENUM('yes','no'), 
+    send_diversion ENUM('yes','no'), 
+    send_pai ENUM('yes','no'), 
+    send_rpid ENUM('yes','no'), 
+    timers_min_se INTEGER, 
+    timers ENUM('forced','no','required','yes'), 
+    timers_sess_expires INTEGER, 
+    callerid VARCHAR(40), 
+    callerid_privacy ENUM('allowed_not_screened','allowed_passed_screened','allowed_failed_screened','allowed','prohib_not_screened','prohib_passed_screened','prohib_failed_screened','prohib','unavailable'), 
+    callerid_tag VARCHAR(40), 
+    `100rel` ENUM('no','required','yes'), 
+    aggregate_mwi ENUM('yes','no'), 
+    trust_id_inbound ENUM('yes','no'), 
+    trust_id_outbound ENUM('yes','no'), 
+    use_ptime ENUM('yes','no'), 
+    use_avpf ENUM('yes','no'), 
+    media_encryption ENUM('no','sdes','dtls'), 
+    inband_progress ENUM('yes','no'), 
+    call_group VARCHAR(40), 
+    pickup_group VARCHAR(40), 
+    named_call_group VARCHAR(40), 
+    named_pickup_group VARCHAR(40), 
+    device_state_busy_at INTEGER, 
+    fax_detect ENUM('yes','no'), 
+    t38_udptl ENUM('yes','no'), 
+    t38_udptl_ec ENUM('none','fec','redundancy'), 
+    t38_udptl_maxdatagram INTEGER, 
+    t38_udptl_nat ENUM('yes','no'), 
+    t38_udptl_ipv6 ENUM('yes','no'), 
+    tone_zone VARCHAR(40), 
+    language VARCHAR(40), 
+    one_touch_recording ENUM('yes','no'), 
+    record_on_feature VARCHAR(40), 
+    record_off_feature VARCHAR(40), 
+    rtp_engine VARCHAR(40), 
+    allow_transfer ENUM('yes','no'), 
+    allow_subscribe ENUM('yes','no'), 
+    sdp_owner VARCHAR(40), 
+    sdp_session VARCHAR(40), 
+    tos_audio INTEGER, 
+    tos_video INTEGER, 
+    cos_audio INTEGER, 
+    cos_video INTEGER, 
+    sub_min_expiry INTEGER, 
+    from_domain VARCHAR(40), 
+    from_user VARCHAR(40), 
+    mwi_fromuser VARCHAR(40), 
+    dtls_verify VARCHAR(40), 
+    dtls_rekey VARCHAR(40), 
+    dtls_cert_file VARCHAR(200), 
+    dtls_private_key VARCHAR(200), 
+    dtls_cipher VARCHAR(200), 
+    dtls_ca_file VARCHAR(200), 
+    dtls_ca_path VARCHAR(200), 
+    dtls_setup ENUM('active','passive','actpass'), 
+    srtp_tag_32 ENUM('yes','no'), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_endpoints_id ON ps_endpoints (id);
+
+CREATE TABLE ps_auths (
+    id VARCHAR(40) NOT NULL, 
+    auth_type ENUM('md5','userpass'), 
+    nonce_lifetime INTEGER, 
+    md5_cred VARCHAR(40), 
+    password VARCHAR(80), 
+    realm VARCHAR(40), 
+    username VARCHAR(40), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_auths_id ON ps_auths (id);
+
+CREATE TABLE ps_aors (
+    id VARCHAR(40) NOT NULL, 
+    contact VARCHAR(40), 
+    default_expiration INTEGER, 
+    mailboxes VARCHAR(80), 
+    max_contacts INTEGER, 
+    minimum_expiration INTEGER, 
+    remove_existing ENUM('yes','no'), 
+    qualify_frequency INTEGER, 
+    authenticate_qualify ENUM('yes','no'), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_aors_id ON ps_aors (id);
+
+CREATE TABLE ps_contacts (
+    id VARCHAR(40) NOT NULL, 
+    uri VARCHAR(40), 
+    expiration_time VARCHAR(40), 
+    qualify_frequency INTEGER, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_contacts_id ON ps_contacts (id);
+
+CREATE TABLE ps_domain_aliases (
+    id VARCHAR(40) NOT NULL, 
+    domain VARCHAR(80), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_domain_aliases_id ON ps_domain_aliases (id);
+
+CREATE TABLE ps_endpoint_id_ips (
+    id VARCHAR(40) NOT NULL, 
+    endpoint VARCHAR(40), 
+    `match` VARCHAR(80), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_endpoint_id_ips_id ON ps_endpoint_id_ips (id);
+
+UPDATE alembic_version SET version_num='43956d550a44';
+
+-- Running upgrade 43956d550a44 -> 581a4264e537
+
+CREATE TABLE extensions (
+    id BIGINT NOT NULL AUTO_INCREMENT, 
+    context VARCHAR(40) NOT NULL, 
+    exten VARCHAR(40) NOT NULL, 
+    priority INTEGER NOT NULL, 
+    app VARCHAR(40) NOT NULL, 
+    appdata VARCHAR(256) NOT NULL, 
+    PRIMARY KEY (id, context, exten, priority), 
+    UNIQUE (id)
+);
+
+UPDATE alembic_version SET version_num='581a4264e537';
+
+-- Running upgrade 581a4264e537 -> 2fc7930b41b3
+
+CREATE TABLE ps_systems (
+    id VARCHAR(40) NOT NULL, 
+    timer_t1 INTEGER, 
+    timer_b INTEGER, 
+    compact_headers ENUM('yes','no'), 
+    threadpool_initial_size INTEGER, 
+    threadpool_auto_increment INTEGER, 
+    threadpool_idle_timeout INTEGER, 
+    threadpool_max_size INTEGER, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_systems_id ON ps_systems (id);
+
+CREATE TABLE ps_globals (
+    id VARCHAR(40) NOT NULL, 
+    max_forwards INTEGER, 
+    user_agent VARCHAR(40), 
+    default_outbound_endpoint VARCHAR(40), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_globals_id ON ps_globals (id);
+
+CREATE TABLE ps_transports (
+    id VARCHAR(40) NOT NULL, 
+    async_operations INTEGER, 
+    bind VARCHAR(40), 
+    ca_list_file VARCHAR(200), 
+    cert_file VARCHAR(200), 
+    cipher VARCHAR(200), 
+    domain VARCHAR(40), 
+    external_media_address VARCHAR(40), 
+    external_signaling_address VARCHAR(40), 
+    external_signaling_port INTEGER, 
+    method ENUM('default','unspecified','tlsv1','sslv2','sslv3','sslv23'), 
+    local_net VARCHAR(40), 
+    password VARCHAR(40), 
+    priv_key_file VARCHAR(200), 
+    protocol ENUM('udp','tcp','tls','ws','wss'), 
+    require_client_cert ENUM('yes','no'), 
+    verify_client ENUM('yes','no'), 
+    verifiy_server ENUM('yes','no'), 
+    tos ENUM('yes','no'), 
+    cos ENUM('yes','no'), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_transports_id ON ps_transports (id);
+
+CREATE TABLE ps_registrations (
+    id VARCHAR(40) NOT NULL, 
+    auth_rejection_permanent ENUM('yes','no'), 
+    client_uri VARCHAR(40), 
+    contact_user VARCHAR(40), 
+    expiration INTEGER, 
+    max_retries INTEGER, 
+    outbound_auth VARCHAR(40), 
+    outbound_proxy VARCHAR(40), 
+    retry_interval INTEGER, 
+    forbidden_retry_interval INTEGER, 
+    server_uri VARCHAR(40), 
+    transport VARCHAR(40), 
+    support_path ENUM('yes','no'), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_registrations_id ON ps_registrations (id);
+
+ALTER TABLE ps_endpoints ADD COLUMN media_address VARCHAR(40);
+
+ALTER TABLE ps_endpoints ADD COLUMN redirect_method ENUM('user','uri_core','uri_pjsip');
+
+ALTER TABLE ps_endpoints ADD COLUMN set_var TEXT;
+
+ALTER TABLE ps_endpoints CHANGE mwi_fromuser mwi_from_user VARCHAR(40) NULL;
+
+ALTER TABLE ps_contacts ADD COLUMN outbound_proxy VARCHAR(40);
+
+ALTER TABLE ps_contacts ADD COLUMN path TEXT;
+
+ALTER TABLE ps_aors ADD COLUMN maximum_expiration INTEGER;
+
+ALTER TABLE ps_aors ADD COLUMN outbound_proxy VARCHAR(40);
+
+ALTER TABLE ps_aors ADD COLUMN support_path ENUM('yes','no');
+
+UPDATE alembic_version SET version_num='2fc7930b41b3';
+
+-- Running upgrade 2fc7930b41b3 -> 21e526ad3040
+
+ALTER TABLE ps_globals ADD COLUMN debug VARCHAR(40);
+
+UPDATE alembic_version SET version_num='21e526ad3040';
+
+-- Running upgrade 21e526ad3040 -> 28887f25a46f
+
+CREATE TABLE queues (
+    name VARCHAR(128) NOT NULL, 
+    musiconhold VARCHAR(128), 
+    announce VARCHAR(128), 
+    context VARCHAR(128), 
+    timeout INTEGER, 
+    ringinuse ENUM('yes','no'), 
+    setinterfacevar ENUM('yes','no'), 
+    setqueuevar ENUM('yes','no'), 
+    setqueueentryvar ENUM('yes','no'), 
+    monitor_format VARCHAR(8), 
+    membermacro VARCHAR(512), 
+    membergosub VARCHAR(512), 
+    queue_youarenext VARCHAR(128), 
+    queue_thereare VARCHAR(128), 
+    queue_callswaiting VARCHAR(128), 
+    queue_quantity1 VARCHAR(128), 
+    queue_quantity2 VARCHAR(128), 
+    queue_holdtime VARCHAR(128), 
+    queue_minutes VARCHAR(128), 
+    queue_minute VARCHAR(128), 
+    queue_seconds VARCHAR(128), 
+    queue_thankyou VARCHAR(128), 
+    queue_callerannounce VARCHAR(128), 
+    queue_reporthold VARCHAR(128), 
+    announce_frequency INTEGER, 
+    announce_to_first_user ENUM('yes','no'), 
+    min_announce_frequency INTEGER, 
+    announce_round_seconds INTEGER, 
+    announce_holdtime VARCHAR(128), 
+    announce_position VARCHAR(128), 
+    announce_position_limit INTEGER, 
+    periodic_announce VARCHAR(50), 
+    periodic_announce_frequency INTEGER, 
+    relative_periodic_announce ENUM('yes','no'), 
+    random_periodic_announce ENUM('yes','no'), 
+    retry INTEGER, 
+    wrapuptime INTEGER, 
+    penaltymemberslimit INTEGER, 
+    autofill ENUM('yes','no'), 
+    monitor_type VARCHAR(128), 
+    autopause ENUM('yes','no','all'), 
+    autopausedelay INTEGER, 
+    autopausebusy ENUM('yes','no'), 
+    autopauseunavail ENUM('yes','no'), 
+    maxlen INTEGER, 
+    servicelevel INTEGER, 
+    strategy ENUM('ringall','leastrecent','fewestcalls','random','rrmemory','linear','wrandom','rrordered'), 
+    joinempty VARCHAR(128), 
+    leavewhenempty VARCHAR(128), 
+    reportholdtime ENUM('yes','no'), 
+    memberdelay INTEGER, 
+    weight INTEGER, 
+    timeoutrestart ENUM('yes','no'), 
+    defaultrule VARCHAR(128), 
+    timeoutpriority VARCHAR(128), 
+    PRIMARY KEY (name)
+);
+
+CREATE TABLE queue_members (
+    queue_name VARCHAR(80) NOT NULL, 
+    interface VARCHAR(80) NOT NULL, 
+    uniqueid VARCHAR(80) NOT NULL, 
+    membername VARCHAR(80), 
+    state_interface VARCHAR(80), 
+    penalty INTEGER, 
+    paused INTEGER, 
+    PRIMARY KEY (queue_name, interface)
+);
+
+UPDATE alembic_version SET version_num='28887f25a46f';
+
+-- Running upgrade 28887f25a46f -> 4c573e7135bd
+
+ALTER TABLE ps_endpoints CHANGE tos_audio tos_audio VARCHAR(10) NULL;
+
+ALTER TABLE ps_endpoints CHANGE tos_video tos_video VARCHAR(10) NULL;
+
+ALTER TABLE ps_transports CHANGE tos tos VARCHAR(10) NULL;
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_audio;
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_video;
+
+ALTER TABLE ps_transports DROP COLUMN cos;
+
+ALTER TABLE ps_endpoints ADD COLUMN cos_audio INTEGER;
+
+ALTER TABLE ps_endpoints ADD COLUMN cos_video INTEGER;
+
+ALTER TABLE ps_transports ADD COLUMN cos INTEGER;
+
+UPDATE alembic_version SET version_num='4c573e7135bd';
+
+-- Running upgrade 4c573e7135bd -> 3855ee4e5f85
+
+ALTER TABLE ps_endpoints ADD COLUMN message_context VARCHAR(40);
+
+ALTER TABLE ps_contacts ADD COLUMN user_agent VARCHAR(40);
+
+UPDATE alembic_version SET version_num='3855ee4e5f85';
+
+-- Running upgrade 3855ee4e5f85 -> e96a0b8071c
+
+ALTER TABLE ps_globals CHANGE user_agent user_agent VARCHAR(255) NULL;
+
+ALTER TABLE ps_contacts CHANGE id id VARCHAR(255) NULL;
+
+ALTER TABLE ps_contacts CHANGE uri uri VARCHAR(255) NULL;
+
+ALTER TABLE ps_contacts CHANGE user_agent user_agent VARCHAR(255) NULL;
+
+ALTER TABLE ps_registrations CHANGE client_uri client_uri VARCHAR(255) NULL;
+
+ALTER TABLE ps_registrations CHANGE server_uri server_uri VARCHAR(255) NULL;
+
+UPDATE alembic_version SET version_num='e96a0b8071c';
+
+-- Running upgrade e96a0b8071c -> c6d929b23a8
+
+CREATE TABLE ps_subscription_persistence (
+    id VARCHAR(40) NOT NULL, 
+    packet VARCHAR(2048), 
+    src_name VARCHAR(128), 
+    src_port INTEGER, 
+    transport_key VARCHAR(64), 
+    local_name VARCHAR(128), 
+    local_port INTEGER, 
+    cseq INTEGER, 
+    tag VARCHAR(128), 
+    endpoint VARCHAR(40), 
+    expires INTEGER, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_subscription_persistence_id ON ps_subscription_persistence (id);
+
+UPDATE alembic_version SET version_num='c6d929b23a8';
+
+-- Running upgrade c6d929b23a8 -> 51f8cb66540e
+
+ALTER TABLE ps_endpoints ADD COLUMN force_avp ENUM('yes','no');
+
+ALTER TABLE ps_endpoints ADD COLUMN media_use_received_transport ENUM('yes','no');
+
+UPDATE alembic_version SET version_num='51f8cb66540e';
+
+-- Running upgrade 51f8cb66540e -> 1d50859ed02e
+
+ALTER TABLE ps_endpoints ADD COLUMN accountcode VARCHAR(20);
+
+UPDATE alembic_version SET version_num='1d50859ed02e';
+
+-- Running upgrade 1d50859ed02e -> 1758e8bbf6b
+
+ALTER TABLE sippeers CHANGE useragent useragent VARCHAR(255) NULL;
+
+UPDATE alembic_version SET version_num='1758e8bbf6b';
+
+-- Running upgrade 1758e8bbf6b -> 5139253c0423
+
+ALTER TABLE queue_members DROP COLUMN uniqueid;
+
+ALTER TABLE queue_members ADD COLUMN uniqueid INTEGER NOT NULL;
+
+ALTER TABLE queue_members ADD UNIQUE (uniqueid);
+
+ALTER TABLE queue_members CHANGE uniqueid uniqueid INTEGER NOT NULL AUTO_INCREMENT;
+
+UPDATE alembic_version SET version_num='5139253c0423';
+
+-- Running upgrade 5139253c0423 -> d39508cb8d8
+
+CREATE TABLE queue_rules (
+    rule_name VARCHAR(80) NOT NULL, 
+    time VARCHAR(32) NOT NULL, 
+    min_penalty VARCHAR(32) NOT NULL, 
+    max_penalty VARCHAR(32) NOT NULL
+);
+
+UPDATE alembic_version SET version_num='d39508cb8d8';
+
+-- Running upgrade d39508cb8d8 -> 5950038a6ead
+
+ALTER TABLE ps_transports CHANGE verifiy_server verify_server ENUM('yes','no') NULL;
+
+UPDATE alembic_version SET version_num='5950038a6ead';
+
+-- Running upgrade 5950038a6ead -> 10aedae86a32
+
+ALTER TABLE sippeers CHANGE directmedia directmedia ENUM('yes','no','nonat','update','outgoing') NULL;
+
+UPDATE alembic_version SET version_num='10aedae86a32';
+
+-- Running upgrade 10aedae86a32 -> eb88a14f2a
+
+ALTER TABLE ps_endpoints ADD COLUMN media_encryption_optimistic ENUM('yes','no');
+
+UPDATE alembic_version SET version_num='eb88a14f2a';
+
diff --git a/contrib/realtime/mysql/mysql_voicemail.sql b/contrib/realtime/mysql/mysql_voicemail.sql
new file mode 100644 (file)
index 0000000..ff5b620
--- /dev/null
@@ -0,0 +1,34 @@
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+-- Running upgrade None -> a2e9769475e
+
+CREATE TABLE voicemail_messages (
+    dir VARCHAR(255) NOT NULL, 
+    msgnum INTEGER NOT NULL, 
+    context VARCHAR(80), 
+    macrocontext VARCHAR(80), 
+    callerid VARCHAR(80), 
+    origtime INTEGER, 
+    duration INTEGER, 
+    recording BLOB, 
+    flag VARCHAR(30), 
+    category VARCHAR(30), 
+    mailboxuser VARCHAR(30), 
+    mailboxcontext VARCHAR(30), 
+    msg_id VARCHAR(40)
+);
+
+ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
+
+CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
+
+INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e');
+
+-- Running upgrade a2e9769475e -> 39428242f7f5
+
+ALTER TABLE voicemail_messages CHANGE recording recording BLOB(4294967295) NULL;
+
+UPDATE alembic_version SET version_num='39428242f7f5';
+
diff --git a/contrib/realtime/oracle/oracle_cdr.sql b/contrib/realtime/oracle/oracle_cdr.sql
new file mode 100644 (file)
index 0000000..66302fc
--- /dev/null
@@ -0,0 +1,46 @@
+SET TRANSACTION READ WRITE
+
+/
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR2(32 CHAR) NOT NULL
+)
+
+/
+
+-- Running upgrade None -> 210693f3123d
+
+CREATE TABLE cdr (
+    accountcode VARCHAR2(20 CHAR), 
+    src VARCHAR2(80 CHAR), 
+    dst VARCHAR2(80 CHAR), 
+    dcontext VARCHAR2(80 CHAR), 
+    clid VARCHAR2(80 CHAR), 
+    channel VARCHAR2(80 CHAR), 
+    dstchannel VARCHAR2(80 CHAR), 
+    lastapp VARCHAR2(80 CHAR), 
+    lastdata VARCHAR2(80 CHAR), 
+    "start" DATE, 
+    answer DATE, 
+    end DATE, 
+    duration INTEGER, 
+    billsec INTEGER, 
+    disposition VARCHAR2(45 CHAR), 
+    amaflags VARCHAR2(45 CHAR), 
+    userfield VARCHAR2(256 CHAR), 
+    uniqueid VARCHAR2(150 CHAR), 
+    linkedid VARCHAR2(150 CHAR), 
+    peeraccount VARCHAR2(20 CHAR), 
+    sequence INTEGER
+)
+
+/
+
+INSERT INTO alembic_version (version_num) VALUES ('210693f3123d')
+
+/
+
+COMMIT
+
+/
+
diff --git a/contrib/realtime/oracle/oracle_config.sql b/contrib/realtime/oracle/oracle_config.sql
new file mode 100644 (file)
index 0000000..ff6f7d0
--- /dev/null
@@ -0,0 +1,994 @@
+SET TRANSACTION READ WRITE
+
+/
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR2(32 CHAR) NOT NULL
+)
+
+/
+
+-- Running upgrade None -> 4da0c5f79a9c
+
+CREATE TABLE sippeers (
+    id INTEGER NOT NULL, 
+    name VARCHAR2(40 CHAR) NOT NULL, 
+    ipaddr VARCHAR2(45 CHAR), 
+    port INTEGER, 
+    regseconds INTEGER, 
+    defaultuser VARCHAR2(40 CHAR), 
+    fullcontact VARCHAR2(80 CHAR), 
+    regserver VARCHAR2(20 CHAR), 
+    useragent VARCHAR2(20 CHAR), 
+    lastms INTEGER, 
+    host VARCHAR2(40 CHAR), 
+    type VARCHAR(6 CHAR), 
+    context VARCHAR2(40 CHAR), 
+    permit VARCHAR2(95 CHAR), 
+    deny VARCHAR2(95 CHAR), 
+    secret VARCHAR2(40 CHAR), 
+    md5secret VARCHAR2(40 CHAR), 
+    remotesecret VARCHAR2(40 CHAR), 
+    transport VARCHAR(7 CHAR), 
+    dtmfmode VARCHAR(9 CHAR), 
+    directmedia VARCHAR(6 CHAR), 
+    nat VARCHAR2(29 CHAR), 
+    callgroup VARCHAR2(40 CHAR), 
+    pickupgroup VARCHAR2(40 CHAR), 
+    language VARCHAR2(40 CHAR), 
+    disallow VARCHAR2(200 CHAR), 
+    allow VARCHAR2(200 CHAR), 
+    insecure VARCHAR2(40 CHAR), 
+    trustrpid VARCHAR(3 CHAR), 
+    progressinband VARCHAR(5 CHAR), 
+    promiscredir VARCHAR(3 CHAR), 
+    useclientcode VARCHAR(3 CHAR), 
+    accountcode VARCHAR2(40 CHAR), 
+    setvar VARCHAR2(200 CHAR), 
+    callerid VARCHAR2(40 CHAR), 
+    amaflags VARCHAR2(40 CHAR), 
+    callcounter VARCHAR(3 CHAR), 
+    busylevel INTEGER, 
+    allowoverlap VARCHAR(3 CHAR), 
+    allowsubscribe VARCHAR(3 CHAR), 
+    videosupport VARCHAR(3 CHAR), 
+    maxcallbitrate INTEGER, 
+    rfc2833compensate VARCHAR(3 CHAR), 
+    mailbox VARCHAR2(40 CHAR), 
+    "session-timers" VARCHAR(9 CHAR), 
+    "session-expires" INTEGER, 
+    "session-minse" INTEGER, 
+    "session-refresher" VARCHAR(3 CHAR), 
+    t38pt_usertpsource VARCHAR2(40 CHAR), 
+    regexten VARCHAR2(40 CHAR), 
+    fromdomain VARCHAR2(40 CHAR), 
+    fromuser VARCHAR2(40 CHAR), 
+    qualify VARCHAR2(40 CHAR), 
+    defaultip VARCHAR2(45 CHAR), 
+    rtptimeout INTEGER, 
+    rtpholdtimeout INTEGER, 
+    sendrpid VARCHAR(3 CHAR), 
+    outboundproxy VARCHAR2(40 CHAR), 
+    callbackextension VARCHAR2(40 CHAR), 
+    timert1 INTEGER, 
+    timerb INTEGER, 
+    qualifyfreq INTEGER, 
+    constantssrc VARCHAR(3 CHAR), 
+    contactpermit VARCHAR2(95 CHAR), 
+    contactdeny VARCHAR2(95 CHAR), 
+    usereqphone VARCHAR(3 CHAR), 
+    textsupport VARCHAR(3 CHAR), 
+    faxdetect VARCHAR(3 CHAR), 
+    buggymwi VARCHAR(3 CHAR), 
+    auth VARCHAR2(40 CHAR), 
+    fullname VARCHAR2(40 CHAR), 
+    trunkname VARCHAR2(40 CHAR), 
+    cid_number VARCHAR2(40 CHAR), 
+    callingpres VARCHAR(21 CHAR), 
+    mohinterpret VARCHAR2(40 CHAR), 
+    mohsuggest VARCHAR2(40 CHAR), 
+    parkinglot VARCHAR2(40 CHAR), 
+    hasvoicemail VARCHAR(3 CHAR), 
+    subscribemwi VARCHAR(3 CHAR), 
+    vmexten VARCHAR2(40 CHAR), 
+    autoframing VARCHAR(3 CHAR), 
+    rtpkeepalive INTEGER, 
+    "call-limit" INTEGER, 
+    g726nonstandard VARCHAR(3 CHAR), 
+    ignoresdpversion VARCHAR(3 CHAR), 
+    allowtransfer VARCHAR(3 CHAR), 
+    dynamic VARCHAR(3 CHAR), 
+    path VARCHAR2(256 CHAR), 
+    supportpath VARCHAR(3 CHAR), 
+    PRIMARY KEY (id), 
+    UNIQUE (name), 
+    CONSTRAINT type_values CHECK (type IN ('friend', 'user', 'peer')), 
+    CONSTRAINT sip_transport_values CHECK (transport IN ('udp', 'tcp', 'tls', 'ws', 'wss', 'udp,tcp', 'tcp,udp')), 
+    CONSTRAINT sip_dtmfmode_values CHECK (dtmfmode IN ('rfc2833', 'info', 'shortinfo', 'inband', 'auto')), 
+    CONSTRAINT sip_directmedia_values CHECK (directmedia IN ('yes', 'no', 'nonat', 'update')), 
+    CONSTRAINT yes_no_values CHECK (trustrpid IN ('yes', 'no')), 
+    CONSTRAINT sip_progressinband_values CHECK (progressinband IN ('yes', 'no', 'never')), 
+    CONSTRAINT yes_no_values CHECK (promiscredir IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (useclientcode IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (callcounter IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (allowoverlap IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (allowsubscribe IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (videosupport IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (rfc2833compensate IN ('yes', 'no')), 
+    CONSTRAINT sip_session_timers_values CHECK ("session-timers" IN ('accept', 'refuse', 'originate')), 
+    CONSTRAINT sip_session_refresher_values CHECK ("session-refresher" IN ('uac', 'uas')), 
+    CONSTRAINT yes_no_values CHECK (sendrpid IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (constantssrc IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (usereqphone IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (textsupport IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (faxdetect IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (buggymwi IN ('yes', 'no')), 
+    CONSTRAINT sip_callingpres_values CHECK (callingpres IN ('allowed_not_screened', 'allowed_passed_screen', 'allowed_failed_screen', 'allowed', 'prohib_not_screened', 'prohib_passed_screen', 'prohib_failed_screen', 'prohib')), 
+    CONSTRAINT yes_no_values CHECK (hasvoicemail IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (subscribemwi IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (autoframing IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (g726nonstandard IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (ignoresdpversion IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (allowtransfer IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (dynamic IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (supportpath IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX sippeers_name ON sippeers (name)
+
+/
+
+CREATE INDEX sippeers_name_host ON sippeers (name, host)
+
+/
+
+CREATE INDEX sippeers_ipaddr_port ON sippeers (ipaddr, port)
+
+/
+
+CREATE INDEX sippeers_host_port ON sippeers (host, port)
+
+/
+
+CREATE TABLE iaxfriends (
+    id INTEGER NOT NULL, 
+    name VARCHAR2(40 CHAR) NOT NULL, 
+    type VARCHAR(6 CHAR), 
+    username VARCHAR2(40 CHAR), 
+    mailbox VARCHAR2(40 CHAR), 
+    secret VARCHAR2(40 CHAR), 
+    dbsecret VARCHAR2(40 CHAR), 
+    context VARCHAR2(40 CHAR), 
+    regcontext VARCHAR2(40 CHAR), 
+    host VARCHAR2(40 CHAR), 
+    ipaddr VARCHAR2(40 CHAR), 
+    port INTEGER, 
+    defaultip VARCHAR2(20 CHAR), 
+    sourceaddress VARCHAR2(20 CHAR), 
+    mask VARCHAR2(20 CHAR), 
+    regexten VARCHAR2(40 CHAR), 
+    regseconds INTEGER, 
+    accountcode VARCHAR2(20 CHAR), 
+    mohinterpret VARCHAR2(20 CHAR), 
+    mohsuggest VARCHAR2(20 CHAR), 
+    inkeys VARCHAR2(40 CHAR), 
+    outkeys VARCHAR2(40 CHAR), 
+    language VARCHAR2(10 CHAR), 
+    callerid VARCHAR2(100 CHAR), 
+    cid_number VARCHAR2(40 CHAR), 
+    sendani VARCHAR(3 CHAR), 
+    fullname VARCHAR2(40 CHAR), 
+    trunk VARCHAR(3 CHAR), 
+    auth VARCHAR2(20 CHAR), 
+    maxauthreq INTEGER, 
+    requirecalltoken VARCHAR(4 CHAR), 
+    encryption VARCHAR(6 CHAR), 
+    transfer VARCHAR(9 CHAR), 
+    jitterbuffer VARCHAR(3 CHAR), 
+    forcejitterbuffer VARCHAR(3 CHAR), 
+    disallow VARCHAR2(200 CHAR), 
+    allow VARCHAR2(200 CHAR), 
+    codecpriority VARCHAR2(40 CHAR), 
+    qualify VARCHAR2(10 CHAR), 
+    qualifysmoothing VARCHAR(3 CHAR), 
+    qualifyfreqok VARCHAR2(10 CHAR), 
+    qualifyfreqnotok VARCHAR2(10 CHAR), 
+    timezone VARCHAR2(20 CHAR), 
+    adsi VARCHAR(3 CHAR), 
+    amaflags VARCHAR2(20 CHAR), 
+    setvar VARCHAR2(200 CHAR), 
+    PRIMARY KEY (id), 
+    UNIQUE (name), 
+    CONSTRAINT type_values CHECK (type IN ('friend', 'user', 'peer')), 
+    CONSTRAINT yes_no_values CHECK (sendani IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (trunk IN ('yes', 'no')), 
+    CONSTRAINT iax_requirecalltoken_values CHECK (requirecalltoken IN ('yes', 'no', 'auto')), 
+    CONSTRAINT iax_encryption_values CHECK (encryption IN ('yes', 'no', 'aes128')), 
+    CONSTRAINT iax_transfer_values CHECK (transfer IN ('yes', 'no', 'mediaonly')), 
+    CONSTRAINT yes_no_values CHECK (jitterbuffer IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (forcejitterbuffer IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (qualifysmoothing IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (adsi IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX iaxfriends_name ON iaxfriends (name)
+
+/
+
+CREATE INDEX iaxfriends_name_host ON iaxfriends (name, host)
+
+/
+
+CREATE INDEX iaxfriends_name_ipaddr_port ON iaxfriends (name, ipaddr, port)
+
+/
+
+CREATE INDEX iaxfriends_ipaddr_port ON iaxfriends (ipaddr, port)
+
+/
+
+CREATE INDEX iaxfriends_host_port ON iaxfriends (host, port)
+
+/
+
+CREATE TABLE voicemail (
+    uniqueid INTEGER NOT NULL, 
+    context VARCHAR2(80 CHAR) NOT NULL, 
+    mailbox VARCHAR2(80 CHAR) NOT NULL, 
+    password VARCHAR2(80 CHAR) NOT NULL, 
+    fullname VARCHAR2(80 CHAR), 
+    alias VARCHAR2(80 CHAR), 
+    email VARCHAR2(80 CHAR), 
+    pager VARCHAR2(80 CHAR), 
+    attach VARCHAR(3 CHAR), 
+    attachfmt VARCHAR2(10 CHAR), 
+    serveremail VARCHAR2(80 CHAR), 
+    language VARCHAR2(20 CHAR), 
+    tz VARCHAR2(30 CHAR), 
+    deletevoicemail VARCHAR(3 CHAR), 
+    saycid VARCHAR(3 CHAR), 
+    sendvoicemail VARCHAR(3 CHAR), 
+    review VARCHAR(3 CHAR), 
+    tempgreetwarn VARCHAR(3 CHAR), 
+    operator VARCHAR(3 CHAR), 
+    envelope VARCHAR(3 CHAR), 
+    sayduration INTEGER, 
+    forcename VARCHAR(3 CHAR), 
+    forcegreetings VARCHAR(3 CHAR), 
+    callback VARCHAR2(80 CHAR), 
+    dialout VARCHAR2(80 CHAR), 
+    exitcontext VARCHAR2(80 CHAR), 
+    maxmsg INTEGER, 
+    volgain NUMERIC(5, 2), 
+    imapuser VARCHAR2(80 CHAR), 
+    imappassword VARCHAR2(80 CHAR), 
+    imapserver VARCHAR2(80 CHAR), 
+    imapport VARCHAR2(8 CHAR), 
+    imapflags VARCHAR2(80 CHAR), 
+    stamp DATE, 
+    PRIMARY KEY (uniqueid), 
+    CONSTRAINT yes_no_values CHECK (attach IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (deletevoicemail IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (saycid IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (sendvoicemail IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (review IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (tempgreetwarn IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (operator IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (envelope IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (forcename IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (forcegreetings IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX voicemail_mailbox ON voicemail (mailbox)
+
+/
+
+CREATE INDEX voicemail_context ON voicemail (context)
+
+/
+
+CREATE INDEX voicemail_mailbox_context ON voicemail (mailbox, context)
+
+/
+
+CREATE INDEX voicemail_imapuser ON voicemail (imapuser)
+
+/
+
+CREATE TABLE meetme (
+    bookid INTEGER NOT NULL, 
+    confno VARCHAR2(80 CHAR) NOT NULL, 
+    starttime DATE, 
+    endtime DATE, 
+    pin VARCHAR2(20 CHAR), 
+    adminpin VARCHAR2(20 CHAR), 
+    opts VARCHAR2(20 CHAR), 
+    adminopts VARCHAR2(20 CHAR), 
+    recordingfilename VARCHAR2(80 CHAR), 
+    recordingformat VARCHAR2(10 CHAR), 
+    maxusers INTEGER, 
+    members INTEGER NOT NULL, 
+    PRIMARY KEY (bookid)
+)
+
+/
+
+CREATE INDEX meetme_confno_start_end ON meetme (confno, starttime, endtime)
+
+/
+
+CREATE TABLE musiconhold (
+    name VARCHAR2(80 CHAR) NOT NULL, 
+    "mode" VARCHAR(10 CHAR), 
+    directory VARCHAR2(255 CHAR), 
+    application VARCHAR2(255 CHAR), 
+    digit VARCHAR2(1 CHAR), 
+    sort VARCHAR2(10 CHAR), 
+    format VARCHAR2(10 CHAR), 
+    stamp DATE, 
+    PRIMARY KEY (name), 
+    CONSTRAINT moh_mode_values CHECK ("mode" IN ('custom', 'files', 'mp3nb', 'quietmp3nb', 'quietmp3'))
+)
+
+/
+
+-- Running upgrade 4da0c5f79a9c -> 43956d550a44
+
+CREATE TABLE ps_endpoints (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    transport VARCHAR2(40 CHAR), 
+    aors VARCHAR2(200 CHAR), 
+    auth VARCHAR2(40 CHAR), 
+    context VARCHAR2(40 CHAR), 
+    disallow VARCHAR2(200 CHAR), 
+    allow VARCHAR2(200 CHAR), 
+    direct_media VARCHAR(3 CHAR), 
+    connected_line_method VARCHAR(8 CHAR), 
+    direct_media_method VARCHAR(8 CHAR), 
+    direct_media_glare_mitigation VARCHAR(8 CHAR), 
+    disable_direct_media_on_nat VARCHAR(3 CHAR), 
+    dtmf_mode VARCHAR(7 CHAR), 
+    external_media_address VARCHAR2(40 CHAR), 
+    force_rport VARCHAR(3 CHAR), 
+    ice_support VARCHAR(3 CHAR), 
+    identify_by VARCHAR(8 CHAR), 
+    mailboxes VARCHAR2(40 CHAR), 
+    moh_suggest VARCHAR2(40 CHAR), 
+    outbound_auth VARCHAR2(40 CHAR), 
+    outbound_proxy VARCHAR2(40 CHAR), 
+    rewrite_contact VARCHAR(3 CHAR), 
+    rtp_ipv6 VARCHAR(3 CHAR), 
+    rtp_symmetric VARCHAR(3 CHAR), 
+    send_diversion VARCHAR(3 CHAR), 
+    send_pai VARCHAR(3 CHAR), 
+    send_rpid VARCHAR(3 CHAR), 
+    timers_min_se INTEGER, 
+    timers VARCHAR(8 CHAR), 
+    timers_sess_expires INTEGER, 
+    callerid VARCHAR2(40 CHAR), 
+    callerid_privacy VARCHAR(23 CHAR), 
+    callerid_tag VARCHAR2(40 CHAR), 
+    100rel VARCHAR(8 CHAR), 
+    aggregate_mwi VARCHAR(3 CHAR), 
+    trust_id_inbound VARCHAR(3 CHAR), 
+    trust_id_outbound VARCHAR(3 CHAR), 
+    use_ptime VARCHAR(3 CHAR), 
+    use_avpf VARCHAR(3 CHAR), 
+    media_encryption VARCHAR(4 CHAR), 
+    inband_progress VARCHAR(3 CHAR), 
+    call_group VARCHAR2(40 CHAR), 
+    pickup_group VARCHAR2(40 CHAR), 
+    named_call_group VARCHAR2(40 CHAR), 
+    named_pickup_group VARCHAR2(40 CHAR), 
+    device_state_busy_at INTEGER, 
+    fax_detect VARCHAR(3 CHAR), 
+    t38_udptl VARCHAR(3 CHAR), 
+    t38_udptl_ec VARCHAR(10 CHAR), 
+    t38_udptl_maxdatagram INTEGER, 
+    t38_udptl_nat VARCHAR(3 CHAR), 
+    t38_udptl_ipv6 VARCHAR(3 CHAR), 
+    tone_zone VARCHAR2(40 CHAR), 
+    language VARCHAR2(40 CHAR), 
+    one_touch_recording VARCHAR(3 CHAR), 
+    record_on_feature VARCHAR2(40 CHAR), 
+    record_off_feature VARCHAR2(40 CHAR), 
+    rtp_engine VARCHAR2(40 CHAR), 
+    allow_transfer VARCHAR(3 CHAR), 
+    allow_subscribe VARCHAR(3 CHAR), 
+    sdp_owner VARCHAR2(40 CHAR), 
+    sdp_session VARCHAR2(40 CHAR), 
+    tos_audio INTEGER, 
+    tos_video INTEGER, 
+    cos_audio INTEGER, 
+    cos_video INTEGER, 
+    sub_min_expiry INTEGER, 
+    from_domain VARCHAR2(40 CHAR), 
+    from_user VARCHAR2(40 CHAR), 
+    mwi_fromuser VARCHAR2(40 CHAR), 
+    dtls_verify VARCHAR2(40 CHAR), 
+    dtls_rekey VARCHAR2(40 CHAR), 
+    dtls_cert_file VARCHAR2(200 CHAR), 
+    dtls_private_key VARCHAR2(200 CHAR), 
+    dtls_cipher VARCHAR2(200 CHAR), 
+    dtls_ca_file VARCHAR2(200 CHAR), 
+    dtls_ca_path VARCHAR2(200 CHAR), 
+    dtls_setup VARCHAR(7 CHAR), 
+    srtp_tag_32 VARCHAR(3 CHAR), 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (direct_media IN ('yes', 'no')), 
+    CONSTRAINT pjsip_connected_line_method_values CHECK (connected_line_method IN ('invite', 'reinvite', 'update')), 
+    CONSTRAINT pjsip_connected_line_method_values CHECK (direct_media_method IN ('invite', 'reinvite', 'update')), 
+    CONSTRAINT pjsip_direct_media_glare_mitigation_values CHECK (direct_media_glare_mitigation IN ('none', 'outgoing', 'incoming')), 
+    CONSTRAINT yesno_values CHECK (disable_direct_media_on_nat IN ('yes', 'no')), 
+    CONSTRAINT pjsip_dtmf_mode_values CHECK (dtmf_mode IN ('rfc4733', 'inband', 'info')), 
+    CONSTRAINT yesno_values CHECK (force_rport IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (ice_support IN ('yes', 'no')), 
+    CONSTRAINT pjsip_identify_by_values CHECK (identify_by IN ('username')), 
+    CONSTRAINT yesno_values CHECK (rewrite_contact IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (rtp_ipv6 IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (rtp_symmetric IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (send_diversion IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (send_pai IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (send_rpid IN ('yes', 'no')), 
+    CONSTRAINT pjsip_timer_values CHECK (timers IN ('forced', 'no', 'required', 'yes')), 
+    CONSTRAINT pjsip_cid_privacy_values CHECK (callerid_privacy IN ('allowed_not_screened', 'allowed_passed_screened', 'allowed_failed_screened', 'allowed', 'prohib_not_screened', 'prohib_passed_screened', 'prohib_failed_screened', 'prohib', 'unavailable')), 
+    CONSTRAINT pjsip_100rel_values CHECK (100rel IN ('no', 'required', 'yes')), 
+    CONSTRAINT yesno_values CHECK (aggregate_mwi IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (trust_id_inbound IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (trust_id_outbound IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (use_ptime IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (use_avpf IN ('yes', 'no')), 
+    CONSTRAINT pjsip_media_encryption_values CHECK (media_encryption IN ('no', 'sdes', 'dtls')), 
+    CONSTRAINT yesno_values CHECK (inband_progress IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (fax_detect IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (t38_udptl IN ('yes', 'no')), 
+    CONSTRAINT pjsip_t38udptl_ec_values CHECK (t38_udptl_ec IN ('none', 'fec', 'redundancy')), 
+    CONSTRAINT yesno_values CHECK (t38_udptl_nat IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (t38_udptl_ipv6 IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (one_touch_recording IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (allow_transfer IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (allow_subscribe IN ('yes', 'no')), 
+    CONSTRAINT pjsip_dtls_setup_values CHECK (dtls_setup IN ('active', 'passive', 'actpass')), 
+    CONSTRAINT yesno_values CHECK (srtp_tag_32 IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX ps_endpoints_id ON ps_endpoints (id)
+
+/
+
+CREATE TABLE ps_auths (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    auth_type VARCHAR(8 CHAR), 
+    nonce_lifetime INTEGER, 
+    md5_cred VARCHAR2(40 CHAR), 
+    password VARCHAR2(80 CHAR), 
+    realm VARCHAR2(40 CHAR), 
+    username VARCHAR2(40 CHAR), 
+    UNIQUE (id), 
+    CONSTRAINT pjsip_auth_type_values CHECK (auth_type IN ('md5', 'userpass'))
+)
+
+/
+
+CREATE INDEX ps_auths_id ON ps_auths (id)
+
+/
+
+CREATE TABLE ps_aors (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    contact VARCHAR2(40 CHAR), 
+    default_expiration INTEGER, 
+    mailboxes VARCHAR2(80 CHAR), 
+    max_contacts INTEGER, 
+    minimum_expiration INTEGER, 
+    remove_existing VARCHAR(3 CHAR), 
+    qualify_frequency INTEGER, 
+    authenticate_qualify VARCHAR(3 CHAR), 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (remove_existing IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (authenticate_qualify IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX ps_aors_id ON ps_aors (id)
+
+/
+
+CREATE TABLE ps_contacts (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    uri VARCHAR2(40 CHAR), 
+    expiration_time VARCHAR2(40 CHAR), 
+    qualify_frequency INTEGER, 
+    UNIQUE (id)
+)
+
+/
+
+CREATE INDEX ps_contacts_id ON ps_contacts (id)
+
+/
+
+CREATE TABLE ps_domain_aliases (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    domain VARCHAR2(80 CHAR), 
+    UNIQUE (id)
+)
+
+/
+
+CREATE INDEX ps_domain_aliases_id ON ps_domain_aliases (id)
+
+/
+
+CREATE TABLE ps_endpoint_id_ips (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    endpoint VARCHAR2(40 CHAR), 
+    match VARCHAR2(80 CHAR), 
+    UNIQUE (id)
+)
+
+/
+
+CREATE INDEX ps_endpoint_id_ips_id ON ps_endpoint_id_ips (id)
+
+/
+
+-- Running upgrade 43956d550a44 -> 581a4264e537
+
+CREATE TABLE extensions (
+    id NUMBER(19) NOT NULL, 
+    context VARCHAR2(40 CHAR) NOT NULL, 
+    exten VARCHAR2(40 CHAR) NOT NULL, 
+    priority INTEGER NOT NULL, 
+    app VARCHAR2(40 CHAR) NOT NULL, 
+    appdata VARCHAR2(256 CHAR) NOT NULL, 
+    PRIMARY KEY (id, context, exten, priority), 
+    UNIQUE (id)
+)
+
+/
+
+-- Running upgrade 581a4264e537 -> 2fc7930b41b3
+
+CREATE TABLE ps_systems (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    timer_t1 INTEGER, 
+    timer_b INTEGER, 
+    compact_headers VARCHAR(3 CHAR), 
+    threadpool_initial_size INTEGER, 
+    threadpool_auto_increment INTEGER, 
+    threadpool_idle_timeout INTEGER, 
+    threadpool_max_size INTEGER, 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (compact_headers IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX ps_systems_id ON ps_systems (id)
+
+/
+
+CREATE TABLE ps_globals (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    max_forwards INTEGER, 
+    user_agent VARCHAR2(40 CHAR), 
+    default_outbound_endpoint VARCHAR2(40 CHAR), 
+    UNIQUE (id)
+)
+
+/
+
+CREATE INDEX ps_globals_id ON ps_globals (id)
+
+/
+
+CREATE TABLE ps_transports (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    async_operations INTEGER, 
+    bind VARCHAR2(40 CHAR), 
+    ca_list_file VARCHAR2(200 CHAR), 
+    cert_file VARCHAR2(200 CHAR), 
+    cipher VARCHAR2(200 CHAR), 
+    domain VARCHAR2(40 CHAR), 
+    external_media_address VARCHAR2(40 CHAR), 
+    external_signaling_address VARCHAR2(40 CHAR), 
+    external_signaling_port INTEGER, 
+    method VARCHAR(11 CHAR), 
+    local_net VARCHAR2(40 CHAR), 
+    password VARCHAR2(40 CHAR), 
+    priv_key_file VARCHAR2(200 CHAR), 
+    protocol VARCHAR(3 CHAR), 
+    require_client_cert VARCHAR(3 CHAR), 
+    verify_client VARCHAR(3 CHAR), 
+    verifiy_server VARCHAR(3 CHAR), 
+    tos VARCHAR(3 CHAR), 
+    cos VARCHAR(3 CHAR), 
+    UNIQUE (id), 
+    CONSTRAINT pjsip_transport_method_values CHECK (method IN ('default', 'unspecified', 'tlsv1', 'sslv2', 'sslv3', 'sslv23')), 
+    CONSTRAINT pjsip_transport_protocol_values CHECK (protocol IN ('udp', 'tcp', 'tls', 'ws', 'wss')), 
+    CONSTRAINT yesno_values CHECK (require_client_cert IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (verify_client IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (verifiy_server IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (tos IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (cos IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX ps_transports_id ON ps_transports (id)
+
+/
+
+CREATE TABLE ps_registrations (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    auth_rejection_permanent VARCHAR(3 CHAR), 
+    client_uri VARCHAR2(40 CHAR), 
+    contact_user VARCHAR2(40 CHAR), 
+    expiration INTEGER, 
+    max_retries INTEGER, 
+    outbound_auth VARCHAR2(40 CHAR), 
+    outbound_proxy VARCHAR2(40 CHAR), 
+    retry_interval INTEGER, 
+    forbidden_retry_interval INTEGER, 
+    server_uri VARCHAR2(40 CHAR), 
+    transport VARCHAR2(40 CHAR), 
+    support_path VARCHAR(3 CHAR), 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (auth_rejection_permanent IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (support_path IN ('yes', 'no'))
+)
+
+/
+
+CREATE INDEX ps_registrations_id ON ps_registrations (id)
+
+/
+
+ALTER TABLE ps_endpoints ADD media_address VARCHAR2(40 CHAR)
+
+/
+
+ALTER TABLE ps_endpoints ADD redirect_method VARCHAR(9 CHAR)
+
+/
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT pjsip_redirect_method_values CHECK (redirect_method IN ('user', 'uri_core', 'uri_pjsip'))
+
+/
+
+ALTER TABLE ps_endpoints ADD set_var CLOB
+
+/
+
+ALTER TABLE ps_endpoints RENAME COLUMN mwi_fromuser TO mwi_from_user
+
+/
+
+ALTER TABLE ps_contacts ADD outbound_proxy VARCHAR2(40 CHAR)
+
+/
+
+ALTER TABLE ps_contacts ADD path CLOB
+
+/
+
+ALTER TABLE ps_aors ADD maximum_expiration INTEGER
+
+/
+
+ALTER TABLE ps_aors ADD outbound_proxy VARCHAR2(40 CHAR)
+
+/
+
+ALTER TABLE ps_aors ADD support_path VARCHAR(3 CHAR)
+
+/
+
+ALTER TABLE ps_aors ADD CONSTRAINT yesno_values CHECK (support_path IN ('yes', 'no'))
+
+/
+
+-- Running upgrade 2fc7930b41b3 -> 21e526ad3040
+
+ALTER TABLE ps_globals ADD debug VARCHAR2(40 CHAR)
+
+/
+
+-- Running upgrade 21e526ad3040 -> 28887f25a46f
+
+CREATE TABLE queues (
+    name VARCHAR2(128 CHAR) NOT NULL, 
+    musiconhold VARCHAR2(128 CHAR), 
+    announce VARCHAR2(128 CHAR), 
+    context VARCHAR2(128 CHAR), 
+    timeout INTEGER, 
+    ringinuse VARCHAR(3 CHAR), 
+    setinterfacevar VARCHAR(3 CHAR), 
+    setqueuevar VARCHAR(3 CHAR), 
+    setqueueentryvar VARCHAR(3 CHAR), 
+    monitor_format VARCHAR2(8 CHAR), 
+    membermacro VARCHAR2(512 CHAR), 
+    membergosub VARCHAR2(512 CHAR), 
+    queue_youarenext VARCHAR2(128 CHAR), 
+    queue_thereare VARCHAR2(128 CHAR), 
+    queue_callswaiting VARCHAR2(128 CHAR), 
+    queue_quantity1 VARCHAR2(128 CHAR), 
+    queue_quantity2 VARCHAR2(128 CHAR), 
+    queue_holdtime VARCHAR2(128 CHAR), 
+    queue_minutes VARCHAR2(128 CHAR), 
+    queue_minute VARCHAR2(128 CHAR), 
+    queue_seconds VARCHAR2(128 CHAR), 
+    queue_thankyou VARCHAR2(128 CHAR), 
+    queue_callerannounce VARCHAR2(128 CHAR), 
+    queue_reporthold VARCHAR2(128 CHAR), 
+    announce_frequency INTEGER, 
+    announce_to_first_user VARCHAR(3 CHAR), 
+    min_announce_frequency INTEGER, 
+    announce_round_seconds INTEGER, 
+    announce_holdtime VARCHAR2(128 CHAR), 
+    announce_position VARCHAR2(128 CHAR), 
+    announce_position_limit INTEGER, 
+    periodic_announce VARCHAR2(50 CHAR), 
+    periodic_announce_frequency INTEGER, 
+    relative_periodic_announce VARCHAR(3 CHAR), 
+    random_periodic_announce VARCHAR(3 CHAR), 
+    retry INTEGER, 
+    wrapuptime INTEGER, 
+    penaltymemberslimit INTEGER, 
+    autofill VARCHAR(3 CHAR), 
+    monitor_type VARCHAR2(128 CHAR), 
+    autopause VARCHAR(3 CHAR), 
+    autopausedelay INTEGER, 
+    autopausebusy VARCHAR(3 CHAR), 
+    autopauseunavail VARCHAR(3 CHAR), 
+    maxlen INTEGER, 
+    servicelevel INTEGER, 
+    strategy VARCHAR(11 CHAR), 
+    joinempty VARCHAR2(128 CHAR), 
+    leavewhenempty VARCHAR2(128 CHAR), 
+    reportholdtime VARCHAR(3 CHAR), 
+    memberdelay INTEGER, 
+    weight INTEGER, 
+    timeoutrestart VARCHAR(3 CHAR), 
+    defaultrule VARCHAR2(128 CHAR), 
+    timeoutpriority VARCHAR2(128 CHAR), 
+    PRIMARY KEY (name), 
+    CONSTRAINT yesno_values CHECK (ringinuse IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (setinterfacevar IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (setqueuevar IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (setqueueentryvar IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (announce_to_first_user IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (relative_periodic_announce IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (random_periodic_announce IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (autofill IN ('yes', 'no')), 
+    CONSTRAINT queue_autopause_values CHECK (autopause IN ('yes', 'no', 'all')), 
+    CONSTRAINT yesno_values CHECK (autopausebusy IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (autopauseunavail IN ('yes', 'no')), 
+    CONSTRAINT queue_strategy_values CHECK (strategy IN ('ringall', 'leastrecent', 'fewestcalls', 'random', 'rrmemory', 'linear', 'wrandom', 'rrordered')), 
+    CONSTRAINT yesno_values CHECK (reportholdtime IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (timeoutrestart IN ('yes', 'no'))
+)
+
+/
+
+CREATE TABLE queue_members (
+    queue_name VARCHAR2(80 CHAR) NOT NULL, 
+    interface VARCHAR2(80 CHAR) NOT NULL, 
+    uniqueid VARCHAR2(80 CHAR) NOT NULL, 
+    membername VARCHAR2(80 CHAR), 
+    state_interface VARCHAR2(80 CHAR), 
+    penalty INTEGER, 
+    paused INTEGER, 
+    PRIMARY KEY (queue_name, interface)
+)
+
+/
+
+-- Running upgrade 28887f25a46f -> 4c573e7135bd
+
+ALTER TABLE ps_endpoints MODIFY tos_audio VARCHAR2(10 CHAR)
+
+/
+
+ALTER TABLE ps_endpoints MODIFY tos_video VARCHAR2(10 CHAR)
+
+/
+
+ALTER TABLE ps_transports MODIFY tos VARCHAR2(10 CHAR)
+
+/
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_audio
+
+/
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_video
+
+/
+
+ALTER TABLE ps_transports DROP COLUMN cos
+
+/
+
+ALTER TABLE ps_endpoints ADD cos_audio INTEGER
+
+/
+
+ALTER TABLE ps_endpoints ADD cos_video INTEGER
+
+/
+
+ALTER TABLE ps_transports ADD cos INTEGER
+
+/
+
+-- Running upgrade 4c573e7135bd -> 3855ee4e5f85
+
+ALTER TABLE ps_endpoints ADD message_context VARCHAR2(40 CHAR)
+
+/
+
+ALTER TABLE ps_contacts ADD user_agent VARCHAR2(40 CHAR)
+
+/
+
+-- Running upgrade 3855ee4e5f85 -> e96a0b8071c
+
+ALTER TABLE ps_globals MODIFY user_agent VARCHAR2(255 CHAR)
+
+/
+
+ALTER TABLE ps_contacts MODIFY id VARCHAR2(255 CHAR)
+
+/
+
+ALTER TABLE ps_contacts MODIFY uri VARCHAR2(255 CHAR)
+
+/
+
+ALTER TABLE ps_contacts MODIFY user_agent VARCHAR2(255 CHAR)
+
+/
+
+ALTER TABLE ps_registrations MODIFY client_uri VARCHAR2(255 CHAR)
+
+/
+
+ALTER TABLE ps_registrations MODIFY server_uri VARCHAR2(255 CHAR)
+
+/
+
+-- Running upgrade e96a0b8071c -> c6d929b23a8
+
+CREATE TABLE ps_subscription_persistence (
+    id VARCHAR2(40 CHAR) NOT NULL, 
+    packet VARCHAR2(2048 CHAR), 
+    src_name VARCHAR2(128 CHAR), 
+    src_port INTEGER, 
+    transport_key VARCHAR2(64 CHAR), 
+    local_name VARCHAR2(128 CHAR), 
+    local_port INTEGER, 
+    cseq INTEGER, 
+    tag VARCHAR2(128 CHAR), 
+    endpoint VARCHAR2(40 CHAR), 
+    expires INTEGER, 
+    UNIQUE (id)
+)
+
+/
+
+CREATE INDEX ps_subscription_persistence_id ON ps_subscription_persistence (id)
+
+/
+
+-- Running upgrade c6d929b23a8 -> 51f8cb66540e
+
+ALTER TABLE ps_endpoints ADD force_avp VARCHAR(3 CHAR)
+
+/
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT yesno_values CHECK (force_avp IN ('yes', 'no'))
+
+/
+
+ALTER TABLE ps_endpoints ADD media_use_received_transport VARCHAR(3 CHAR)
+
+/
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT yesno_values CHECK (media_use_received_transport IN ('yes', 'no'))
+
+/
+
+-- Running upgrade 51f8cb66540e -> 1d50859ed02e
+
+ALTER TABLE ps_endpoints ADD accountcode VARCHAR2(20 CHAR)
+
+/
+
+-- Running upgrade 1d50859ed02e -> 1758e8bbf6b
+
+ALTER TABLE sippeers MODIFY useragent VARCHAR2(255 CHAR)
+
+/
+
+-- Running upgrade 1758e8bbf6b -> 5139253c0423
+
+ALTER TABLE queue_members DROP COLUMN uniqueid
+
+/
+
+ALTER TABLE queue_members ADD uniqueid INTEGER NOT NULL
+
+/
+
+ALTER TABLE queue_members ADD UNIQUE (uniqueid)
+
+/
+
+-- Running upgrade 5139253c0423 -> d39508cb8d8
+
+CREATE TABLE queue_rules (
+    rule_name VARCHAR2(80 CHAR) NOT NULL, 
+    time VARCHAR2(32 CHAR) NOT NULL, 
+    min_penalty VARCHAR2(32 CHAR) NOT NULL, 
+    max_penalty VARCHAR2(32 CHAR) NOT NULL
+)
+
+/
+
+-- Running upgrade d39508cb8d8 -> 5950038a6ead
+
+ALTER TABLE ps_transports MODIFY verifiy_server VARCHAR(3 CHAR)
+
+/
+
+ALTER TABLE ps_transports RENAME COLUMN verifiy_server TO verify_server
+
+/
+
+ALTER TABLE ps_transports ADD CONSTRAINT yesno_values CHECK (verifiy_server IN ('yes', 'no'))
+
+/
+
+-- Running upgrade 5950038a6ead -> 10aedae86a32
+
+ALTER TABLE sippeers DROP CONSTRAINT sip_directmedia_values
+
+/
+
+ALTER TABLE sippeers MODIFY directmedia VARCHAR(8 CHAR)
+
+/
+
+ALTER TABLE sippeers ADD CONSTRAINT sip_directmedia_values_v2 CHECK (directmedia IN ('yes', 'no', 'nonat', 'update', 'outgoing'))
+
+/
+
+-- Running upgrade 10aedae86a32 -> eb88a14f2a
+
+ALTER TABLE ps_endpoints ADD media_encryption_optimistic VARCHAR(3 CHAR)
+
+/
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT yesno_values CHECK (media_encryption_optimistic IN ('yes', 'no'))
+
+/
+
+INSERT INTO alembic_version (version_num) VALUES ('eb88a14f2a')
+
+/
+
+COMMIT
+
+/
+
diff --git a/contrib/realtime/oracle/oracle_voicemail.sql b/contrib/realtime/oracle/oracle_voicemail.sql
new file mode 100644 (file)
index 0000000..2c663e7
--- /dev/null
@@ -0,0 +1,52 @@
+SET TRANSACTION READ WRITE
+
+/
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR2(32 CHAR) NOT NULL
+)
+
+/
+
+-- Running upgrade None -> a2e9769475e
+
+CREATE TABLE voicemail_messages (
+    dir VARCHAR2(255 CHAR) NOT NULL, 
+    msgnum INTEGER NOT NULL, 
+    context VARCHAR2(80 CHAR), 
+    macrocontext VARCHAR2(80 CHAR), 
+    callerid VARCHAR2(80 CHAR), 
+    origtime INTEGER, 
+    duration INTEGER, 
+    recording BLOB, 
+    flag VARCHAR2(30 CHAR), 
+    category VARCHAR2(30 CHAR), 
+    mailboxuser VARCHAR2(30 CHAR), 
+    mailboxcontext VARCHAR2(30 CHAR), 
+    msg_id VARCHAR2(40 CHAR)
+)
+
+/
+
+ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum)
+
+/
+
+CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir)
+
+/
+
+-- Running upgrade a2e9769475e -> 39428242f7f5
+
+ALTER TABLE voicemail_messages MODIFY recording BLOB
+
+/
+
+INSERT INTO alembic_version (version_num) VALUES ('39428242f7f5')
+
+/
+
+COMMIT
+
+/
+
diff --git a/contrib/realtime/postgresql/postgresql_cdr.sql b/contrib/realtime/postgresql/postgresql_cdr.sql
new file mode 100644 (file)
index 0000000..8aa1d97
--- /dev/null
@@ -0,0 +1,36 @@
+BEGIN;
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+-- Running upgrade None -> 210693f3123d
+
+CREATE TABLE cdr (
+    accountcode VARCHAR(20), 
+    src VARCHAR(80), 
+    dst VARCHAR(80), 
+    dcontext VARCHAR(80), 
+    clid VARCHAR(80), 
+    channel VARCHAR(80), 
+    dstchannel VARCHAR(80), 
+    lastapp VARCHAR(80), 
+    lastdata VARCHAR(80), 
+    start TIMESTAMP WITHOUT TIME ZONE, 
+    answer TIMESTAMP WITHOUT TIME ZONE, 
+    "end" TIMESTAMP WITHOUT TIME ZONE, 
+    duration INTEGER, 
+    billsec INTEGER, 
+    disposition VARCHAR(45), 
+    amaflags VARCHAR(45), 
+    userfield VARCHAR(256), 
+    uniqueid VARCHAR(150), 
+    linkedid VARCHAR(150), 
+    peeraccount VARCHAR(20), 
+    sequence INTEGER
+);
+
+INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');
+
+COMMIT;
+
diff --git a/contrib/realtime/postgresql/postgresql_config.sql b/contrib/realtime/postgresql/postgresql_config.sql
new file mode 100644 (file)
index 0000000..cb71ba6
--- /dev/null
@@ -0,0 +1,739 @@
+BEGIN;
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+-- Running upgrade None -> 4da0c5f79a9c
+
+CREATE TYPE type_values AS ENUM ('friend','user','peer');
+
+CREATE TYPE sip_transport_values AS ENUM ('udp','tcp','tls','ws','wss','udp,tcp','tcp,udp');
+
+CREATE TYPE sip_dtmfmode_values AS ENUM ('rfc2833','info','shortinfo','inband','auto');
+
+CREATE TYPE sip_directmedia_values AS ENUM ('yes','no','nonat','update');
+
+CREATE TYPE yes_no_values AS ENUM ('yes','no');
+
+CREATE TYPE sip_progressinband_values AS ENUM ('yes','no','never');
+
+CREATE TYPE sip_session_timers_values AS ENUM ('accept','refuse','originate');
+
+CREATE TYPE sip_session_refresher_values AS ENUM ('uac','uas');
+
+CREATE TYPE sip_callingpres_values AS ENUM ('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib');
+
+CREATE TABLE sippeers (
+    id SERIAL NOT NULL, 
+    name VARCHAR(40) NOT NULL, 
+    ipaddr VARCHAR(45), 
+    port INTEGER, 
+    regseconds INTEGER, 
+    defaultuser VARCHAR(40), 
+    fullcontact VARCHAR(80), 
+    regserver VARCHAR(20), 
+    useragent VARCHAR(20), 
+    lastms INTEGER, 
+    host VARCHAR(40), 
+    type type_values, 
+    context VARCHAR(40), 
+    permit VARCHAR(95), 
+    deny VARCHAR(95), 
+    secret VARCHAR(40), 
+    md5secret VARCHAR(40), 
+    remotesecret VARCHAR(40), 
+    transport sip_transport_values, 
+    dtmfmode sip_dtmfmode_values, 
+    directmedia sip_directmedia_values, 
+    nat VARCHAR(29), 
+    callgroup VARCHAR(40), 
+    pickupgroup VARCHAR(40), 
+    language VARCHAR(40), 
+    disallow VARCHAR(200), 
+    allow VARCHAR(200), 
+    insecure VARCHAR(40), 
+    trustrpid yes_no_values, 
+    progressinband sip_progressinband_values, 
+    promiscredir yes_no_values, 
+    useclientcode yes_no_values, 
+    accountcode VARCHAR(40), 
+    setvar VARCHAR(200), 
+    callerid VARCHAR(40), 
+    amaflags VARCHAR(40), 
+    callcounter yes_no_values, 
+    busylevel INTEGER, 
+    allowoverlap yes_no_values, 
+    allowsubscribe yes_no_values, 
+    videosupport yes_no_values, 
+    maxcallbitrate INTEGER, 
+    rfc2833compensate yes_no_values, 
+    mailbox VARCHAR(40), 
+    "session-timers" sip_session_timers_values, 
+    "session-expires" INTEGER, 
+    "session-minse" INTEGER, 
+    "session-refresher" sip_session_refresher_values, 
+    t38pt_usertpsource VARCHAR(40), 
+    regexten VARCHAR(40), 
+    fromdomain VARCHAR(40), 
+    fromuser VARCHAR(40), 
+    qualify VARCHAR(40), 
+    defaultip VARCHAR(45), 
+    rtptimeout INTEGER, 
+    rtpholdtimeout INTEGER, 
+    sendrpid yes_no_values, 
+    outboundproxy VARCHAR(40), 
+    callbackextension VARCHAR(40), 
+    timert1 INTEGER, 
+    timerb INTEGER, 
+    qualifyfreq INTEGER, 
+    constantssrc yes_no_values, 
+    contactpermit VARCHAR(95), 
+    contactdeny VARCHAR(95), 
+    usereqphone yes_no_values, 
+    textsupport yes_no_values, 
+    faxdetect yes_no_values, 
+    buggymwi yes_no_values, 
+    auth VARCHAR(40), 
+    fullname VARCHAR(40), 
+    trunkname VARCHAR(40), 
+    cid_number VARCHAR(40), 
+    callingpres sip_callingpres_values, 
+    mohinterpret VARCHAR(40), 
+    mohsuggest VARCHAR(40), 
+    parkinglot VARCHAR(40), 
+    hasvoicemail yes_no_values, 
+    subscribemwi yes_no_values, 
+    vmexten VARCHAR(40), 
+    autoframing yes_no_values, 
+    rtpkeepalive INTEGER, 
+    "call-limit" INTEGER, 
+    g726nonstandard yes_no_values, 
+    ignoresdpversion yes_no_values, 
+    allowtransfer yes_no_values, 
+    dynamic yes_no_values, 
+    path VARCHAR(256), 
+    supportpath yes_no_values, 
+    PRIMARY KEY (id), 
+    UNIQUE (name)
+);
+
+CREATE INDEX sippeers_name ON sippeers (name);
+
+CREATE INDEX sippeers_name_host ON sippeers (name, host);
+
+CREATE INDEX sippeers_ipaddr_port ON sippeers (ipaddr, port);
+
+CREATE INDEX sippeers_host_port ON sippeers (host, port);
+
+CREATE TYPE iax_requirecalltoken_values AS ENUM ('yes','no','auto');
+
+CREATE TYPE iax_encryption_values AS ENUM ('yes','no','aes128');
+
+CREATE TYPE iax_transfer_values AS ENUM ('yes','no','mediaonly');
+
+CREATE TABLE iaxfriends (
+    id SERIAL NOT NULL, 
+    name VARCHAR(40) NOT NULL, 
+    type type_values, 
+    username VARCHAR(40), 
+    mailbox VARCHAR(40), 
+    secret VARCHAR(40), 
+    dbsecret VARCHAR(40), 
+    context VARCHAR(40), 
+    regcontext VARCHAR(40), 
+    host VARCHAR(40), 
+    ipaddr VARCHAR(40), 
+    port INTEGER, 
+    defaultip VARCHAR(20), 
+    sourceaddress VARCHAR(20), 
+    mask VARCHAR(20), 
+    regexten VARCHAR(40), 
+    regseconds INTEGER, 
+    accountcode VARCHAR(20), 
+    mohinterpret VARCHAR(20), 
+    mohsuggest VARCHAR(20), 
+    inkeys VARCHAR(40), 
+    outkeys VARCHAR(40), 
+    language VARCHAR(10), 
+    callerid VARCHAR(100), 
+    cid_number VARCHAR(40), 
+    sendani yes_no_values, 
+    fullname VARCHAR(40), 
+    trunk yes_no_values, 
+    auth VARCHAR(20), 
+    maxauthreq INTEGER, 
+    requirecalltoken iax_requirecalltoken_values, 
+    encryption iax_encryption_values, 
+    transfer iax_transfer_values, 
+    jitterbuffer yes_no_values, 
+    forcejitterbuffer yes_no_values, 
+    disallow VARCHAR(200), 
+    allow VARCHAR(200), 
+    codecpriority VARCHAR(40), 
+    qualify VARCHAR(10), 
+    qualifysmoothing yes_no_values, 
+    qualifyfreqok VARCHAR(10), 
+    qualifyfreqnotok VARCHAR(10), 
+    timezone VARCHAR(20), 
+    adsi yes_no_values, 
+    amaflags VARCHAR(20), 
+    setvar VARCHAR(200), 
+    PRIMARY KEY (id), 
+    UNIQUE (name)
+);
+
+CREATE INDEX iaxfriends_name ON iaxfriends (name);
+
+CREATE INDEX iaxfriends_name_host ON iaxfriends (name, host);
+
+CREATE INDEX iaxfriends_name_ipaddr_port ON iaxfriends (name, ipaddr, port);
+
+CREATE INDEX iaxfriends_ipaddr_port ON iaxfriends (ipaddr, port);
+
+CREATE INDEX iaxfriends_host_port ON iaxfriends (host, port);
+
+CREATE TABLE voicemail (
+    uniqueid SERIAL NOT NULL, 
+    context VARCHAR(80) NOT NULL, 
+    mailbox VARCHAR(80) NOT NULL, 
+    password VARCHAR(80) NOT NULL, 
+    fullname VARCHAR(80), 
+    alias VARCHAR(80), 
+    email VARCHAR(80), 
+    pager VARCHAR(80), 
+    attach yes_no_values, 
+    attachfmt VARCHAR(10), 
+    serveremail VARCHAR(80), 
+    language VARCHAR(20), 
+    tz VARCHAR(30), 
+    deletevoicemail yes_no_values, 
+    saycid yes_no_values, 
+    sendvoicemail yes_no_values, 
+    review yes_no_values, 
+    tempgreetwarn yes_no_values, 
+    operator yes_no_values, 
+    envelope yes_no_values, 
+    sayduration INTEGER, 
+    forcename yes_no_values, 
+    forcegreetings yes_no_values, 
+    callback VARCHAR(80), 
+    dialout VARCHAR(80), 
+    exitcontext VARCHAR(80), 
+    maxmsg INTEGER, 
+    volgain NUMERIC(5, 2), 
+    imapuser VARCHAR(80), 
+    imappassword VARCHAR(80), 
+    imapserver VARCHAR(80), 
+    imapport VARCHAR(8), 
+    imapflags VARCHAR(80), 
+    stamp TIMESTAMP WITHOUT TIME ZONE, 
+    PRIMARY KEY (uniqueid)
+);
+
+CREATE INDEX voicemail_mailbox ON voicemail (mailbox);
+
+CREATE INDEX voicemail_context ON voicemail (context);
+
+CREATE INDEX voicemail_mailbox_context ON voicemail (mailbox, context);
+
+CREATE INDEX voicemail_imapuser ON voicemail (imapuser);
+
+CREATE TABLE meetme (
+    bookid SERIAL NOT NULL, 
+    confno VARCHAR(80) NOT NULL, 
+    starttime TIMESTAMP WITHOUT TIME ZONE, 
+    endtime TIMESTAMP WITHOUT TIME ZONE, 
+    pin VARCHAR(20), 
+    adminpin VARCHAR(20), 
+    opts VARCHAR(20), 
+    adminopts VARCHAR(20), 
+    recordingfilename VARCHAR(80), 
+    recordingformat VARCHAR(10), 
+    maxusers INTEGER, 
+    members INTEGER NOT NULL, 
+    PRIMARY KEY (bookid)
+);
+
+CREATE INDEX meetme_confno_start_end ON meetme (confno, starttime, endtime);
+
+CREATE TYPE moh_mode_values AS ENUM ('custom','files','mp3nb','quietmp3nb','quietmp3');
+
+CREATE TABLE musiconhold (
+    name VARCHAR(80) NOT NULL, 
+    mode moh_mode_values, 
+    directory VARCHAR(255), 
+    application VARCHAR(255), 
+    digit VARCHAR(1), 
+    sort VARCHAR(10), 
+    format VARCHAR(10), 
+    stamp TIMESTAMP WITHOUT TIME ZONE, 
+    PRIMARY KEY (name)
+);
+
+-- Running upgrade 4da0c5f79a9c -> 43956d550a44
+
+CREATE TYPE yesno_values AS ENUM ('yes','no');
+
+CREATE TYPE pjsip_connected_line_method_values AS ENUM ('invite','reinvite','update');
+
+CREATE TYPE pjsip_direct_media_glare_mitigation_values AS ENUM ('none','outgoing','incoming');
+
+CREATE TYPE pjsip_dtmf_mode_values AS ENUM ('rfc4733','inband','info');
+
+CREATE TYPE pjsip_identify_by_values AS ENUM ('username');
+
+CREATE TYPE pjsip_timer_values AS ENUM ('forced','no','required','yes');
+
+CREATE TYPE pjsip_cid_privacy_values AS ENUM ('allowed_not_screened','allowed_passed_screened','allowed_failed_screened','allowed','prohib_not_screened','prohib_passed_screened','prohib_failed_screened','prohib','unavailable');
+
+CREATE TYPE pjsip_100rel_values AS ENUM ('no','required','yes');
+
+CREATE TYPE pjsip_media_encryption_values AS ENUM ('no','sdes','dtls');
+
+CREATE TYPE pjsip_t38udptl_ec_values AS ENUM ('none','fec','redundancy');
+
+CREATE TYPE pjsip_dtls_setup_values AS ENUM ('active','passive','actpass');
+
+CREATE TABLE ps_endpoints (
+    id VARCHAR(40) NOT NULL, 
+    transport VARCHAR(40), 
+    aors VARCHAR(200), 
+    auth VARCHAR(40), 
+    context VARCHAR(40), 
+    disallow VARCHAR(200), 
+    allow VARCHAR(200), 
+    direct_media yesno_values, 
+    connected_line_method pjsip_connected_line_method_values, 
+    direct_media_method pjsip_connected_line_method_values, 
+    direct_media_glare_mitigation pjsip_direct_media_glare_mitigation_values, 
+    disable_direct_media_on_nat yesno_values, 
+    dtmf_mode pjsip_dtmf_mode_values, 
+    external_media_address VARCHAR(40), 
+    force_rport yesno_values, 
+    ice_support yesno_values, 
+    identify_by pjsip_identify_by_values, 
+    mailboxes VARCHAR(40), 
+    moh_suggest VARCHAR(40), 
+    outbound_auth VARCHAR(40), 
+    outbound_proxy VARCHAR(40), 
+    rewrite_contact yesno_values, 
+    rtp_ipv6 yesno_values, 
+    rtp_symmetric yesno_values, 
+    send_diversion yesno_values, 
+    send_pai yesno_values, 
+    send_rpid yesno_values, 
+    timers_min_se INTEGER, 
+    timers pjsip_timer_values, 
+    timers_sess_expires INTEGER, 
+    callerid VARCHAR(40), 
+    callerid_privacy pjsip_cid_privacy_values, 
+    callerid_tag VARCHAR(40), 
+    "100rel" pjsip_100rel_values, 
+    aggregate_mwi yesno_values, 
+    trust_id_inbound yesno_values, 
+    trust_id_outbound yesno_values, 
+    use_ptime yesno_values, 
+    use_avpf yesno_values, 
+    media_encryption pjsip_media_encryption_values, 
+    inband_progress yesno_values, 
+    call_group VARCHAR(40), 
+    pickup_group VARCHAR(40), 
+    named_call_group VARCHAR(40), 
+    named_pickup_group VARCHAR(40), 
+    device_state_busy_at INTEGER, 
+    fax_detect yesno_values, 
+    t38_udptl yesno_values, 
+    t38_udptl_ec pjsip_t38udptl_ec_values, 
+    t38_udptl_maxdatagram INTEGER, 
+    t38_udptl_nat yesno_values, 
+    t38_udptl_ipv6 yesno_values, 
+    tone_zone VARCHAR(40), 
+    language VARCHAR(40), 
+    one_touch_recording yesno_values, 
+    record_on_feature VARCHAR(40), 
+    record_off_feature VARCHAR(40), 
+    rtp_engine VARCHAR(40), 
+    allow_transfer yesno_values, 
+    allow_subscribe yesno_values, 
+    sdp_owner VARCHAR(40), 
+    sdp_session VARCHAR(40), 
+    tos_audio INTEGER, 
+    tos_video INTEGER, 
+    cos_audio INTEGER, 
+    cos_video INTEGER, 
+    sub_min_expiry INTEGER, 
+    from_domain VARCHAR(40), 
+    from_user VARCHAR(40), 
+    mwi_fromuser VARCHAR(40), 
+    dtls_verify VARCHAR(40), 
+    dtls_rekey VARCHAR(40), 
+    dtls_cert_file VARCHAR(200), 
+    dtls_private_key VARCHAR(200), 
+    dtls_cipher VARCHAR(200), 
+    dtls_ca_file VARCHAR(200), 
+    dtls_ca_path VARCHAR(200), 
+    dtls_setup pjsip_dtls_setup_values, 
+    srtp_tag_32 yesno_values, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_endpoints_id ON ps_endpoints (id);
+
+CREATE TYPE pjsip_auth_type_values AS ENUM ('md5','userpass');
+
+CREATE TABLE ps_auths (
+    id VARCHAR(40) NOT NULL, 
+    auth_type pjsip_auth_type_values, 
+    nonce_lifetime INTEGER, 
+    md5_cred VARCHAR(40), 
+    password VARCHAR(80), 
+    realm VARCHAR(40), 
+    username VARCHAR(40), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_auths_id ON ps_auths (id);
+
+CREATE TABLE ps_aors (
+    id VARCHAR(40) NOT NULL, 
+    contact VARCHAR(40), 
+    default_expiration INTEGER, 
+    mailboxes VARCHAR(80), 
+    max_contacts INTEGER, 
+    minimum_expiration INTEGER, 
+    remove_existing yesno_values, 
+    qualify_frequency INTEGER, 
+    authenticate_qualify yesno_values, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_aors_id ON ps_aors (id);
+
+CREATE TABLE ps_contacts (
+    id VARCHAR(40) NOT NULL, 
+    uri VARCHAR(40), 
+    expiration_time VARCHAR(40), 
+    qualify_frequency INTEGER, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_contacts_id ON ps_contacts (id);
+
+CREATE TABLE ps_domain_aliases (
+    id VARCHAR(40) NOT NULL, 
+    domain VARCHAR(80), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_domain_aliases_id ON ps_domain_aliases (id);
+
+CREATE TABLE ps_endpoint_id_ips (
+    id VARCHAR(40) NOT NULL, 
+    endpoint VARCHAR(40), 
+    match VARCHAR(80), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_endpoint_id_ips_id ON ps_endpoint_id_ips (id);
+
+-- Running upgrade 43956d550a44 -> 581a4264e537
+
+CREATE TABLE extensions (
+    id BIGSERIAL NOT NULL, 
+    context VARCHAR(40) NOT NULL, 
+    exten VARCHAR(40) NOT NULL, 
+    priority INTEGER NOT NULL, 
+    app VARCHAR(40) NOT NULL, 
+    appdata VARCHAR(256) NOT NULL, 
+    PRIMARY KEY (id, context, exten, priority), 
+    UNIQUE (id)
+);
+
+-- Running upgrade 581a4264e537 -> 2fc7930b41b3
+
+CREATE TYPE pjsip_redirect_method_values AS ENUM ('user','uri_core','uri_pjsip');
+
+CREATE TABLE ps_systems (
+    id VARCHAR(40) NOT NULL, 
+    timer_t1 INTEGER, 
+    timer_b INTEGER, 
+    compact_headers yesno_values, 
+    threadpool_initial_size INTEGER, 
+    threadpool_auto_increment INTEGER, 
+    threadpool_idle_timeout INTEGER, 
+    threadpool_max_size INTEGER, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_systems_id ON ps_systems (id);
+
+CREATE TABLE ps_globals (
+    id VARCHAR(40) NOT NULL, 
+    max_forwards INTEGER, 
+    user_agent VARCHAR(40), 
+    default_outbound_endpoint VARCHAR(40), 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_globals_id ON ps_globals (id);
+
+CREATE TYPE pjsip_transport_method_values AS ENUM ('default','unspecified','tlsv1','sslv2','sslv3','sslv23');
+
+CREATE TYPE pjsip_transport_protocol_values AS ENUM ('udp','tcp','tls','ws','wss');
+
+CREATE TABLE ps_transports (
+    id VARCHAR(40) NOT NULL, 
+    async_operations INTEGER, 
+    bind VARCHAR(40), 
+    ca_list_file VARCHAR(200), 
+    cert_file VARCHAR(200), 
+    cipher VARCHAR(200), 
+    domain VARCHAR(40), 
+    external_media_address VARCHAR(40), 
+    external_signaling_address VARCHAR(40), 
+    external_signaling_port INTEGER, 
+    method pjsip_transport_method_values, 
+    local_net VARCHAR(40), 
+    password VARCHAR(40), 
+    priv_key_file VARCHAR(200), 
+    protocol pjsip_transport_protocol_values, 
+    require_client_cert yesno_values, 
+    verify_client yesno_values, 
+    verifiy_server yesno_values, 
+    tos yesno_values, 
+    cos yesno_values, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_transports_id ON ps_transports (id);
+
+CREATE TABLE ps_registrations (
+    id VARCHAR(40) NOT NULL, 
+    auth_rejection_permanent yesno_values, 
+    client_uri VARCHAR(40), 
+    contact_user VARCHAR(40), 
+    expiration INTEGER, 
+    max_retries INTEGER, 
+    outbound_auth VARCHAR(40), 
+    outbound_proxy VARCHAR(40), 
+    retry_interval INTEGER, 
+    forbidden_retry_interval INTEGER, 
+    server_uri VARCHAR(40), 
+    transport VARCHAR(40), 
+    support_path yesno_values, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_registrations_id ON ps_registrations (id);
+
+ALTER TABLE ps_endpoints ADD COLUMN media_address VARCHAR(40);
+
+ALTER TABLE ps_endpoints ADD COLUMN redirect_method pjsip_redirect_method_values;
+
+ALTER TABLE ps_endpoints ADD COLUMN set_var TEXT;
+
+ALTER TABLE ps_endpoints RENAME mwi_fromuser TO mwi_from_user;
+
+ALTER TABLE ps_contacts ADD COLUMN outbound_proxy VARCHAR(40);
+
+ALTER TABLE ps_contacts ADD COLUMN path TEXT;
+
+ALTER TABLE ps_aors ADD COLUMN maximum_expiration INTEGER;
+
+ALTER TABLE ps_aors ADD COLUMN outbound_proxy VARCHAR(40);
+
+ALTER TABLE ps_aors ADD COLUMN support_path yesno_values;
+
+-- Running upgrade 2fc7930b41b3 -> 21e526ad3040
+
+ALTER TABLE ps_globals ADD COLUMN debug VARCHAR(40);
+
+-- Running upgrade 21e526ad3040 -> 28887f25a46f
+
+CREATE TYPE queue_autopause_values AS ENUM ('yes','no','all');
+
+CREATE TYPE queue_strategy_values AS ENUM ('ringall','leastrecent','fewestcalls','random','rrmemory','linear','wrandom','rrordered');
+
+CREATE TABLE queues (
+    name VARCHAR(128) NOT NULL, 
+    musiconhold VARCHAR(128), 
+    announce VARCHAR(128), 
+    context VARCHAR(128), 
+    timeout INTEGER, 
+    ringinuse yesno_values, 
+    setinterfacevar yesno_values, 
+    setqueuevar yesno_values, 
+    setqueueentryvar yesno_values, 
+    monitor_format VARCHAR(8), 
+    membermacro VARCHAR(512), 
+    membergosub VARCHAR(512), 
+    queue_youarenext VARCHAR(128), 
+    queue_thereare VARCHAR(128), 
+    queue_callswaiting VARCHAR(128), 
+    queue_quantity1 VARCHAR(128), 
+    queue_quantity2 VARCHAR(128), 
+    queue_holdtime VARCHAR(128), 
+    queue_minutes VARCHAR(128), 
+    queue_minute VARCHAR(128), 
+    queue_seconds VARCHAR(128), 
+    queue_thankyou VARCHAR(128), 
+    queue_callerannounce VARCHAR(128), 
+    queue_reporthold VARCHAR(128), 
+    announce_frequency INTEGER, 
+    announce_to_first_user yesno_values, 
+    min_announce_frequency INTEGER, 
+    announce_round_seconds INTEGER, 
+    announce_holdtime VARCHAR(128), 
+    announce_position VARCHAR(128), 
+    announce_position_limit INTEGER, 
+    periodic_announce VARCHAR(50), 
+    periodic_announce_frequency INTEGER, 
+    relative_periodic_announce yesno_values, 
+    random_periodic_announce yesno_values, 
+    retry INTEGER, 
+    wrapuptime INTEGER, 
+    penaltymemberslimit INTEGER, 
+    autofill yesno_values, 
+    monitor_type VARCHAR(128), 
+    autopause queue_autopause_values, 
+    autopausedelay INTEGER, 
+    autopausebusy yesno_values, 
+    autopauseunavail yesno_values, 
+    maxlen INTEGER, 
+    servicelevel INTEGER, 
+    strategy queue_strategy_values, 
+    joinempty VARCHAR(128), 
+    leavewhenempty VARCHAR(128), 
+    reportholdtime yesno_values, 
+    memberdelay INTEGER, 
+    weight INTEGER, 
+    timeoutrestart yesno_values, 
+    defaultrule VARCHAR(128), 
+    timeoutpriority VARCHAR(128), 
+    PRIMARY KEY (name)
+);
+
+CREATE TABLE queue_members (
+    queue_name VARCHAR(80) NOT NULL, 
+    interface VARCHAR(80) NOT NULL, 
+    uniqueid VARCHAR(80) NOT NULL, 
+    membername VARCHAR(80), 
+    state_interface VARCHAR(80), 
+    penalty INTEGER, 
+    paused INTEGER, 
+    PRIMARY KEY (queue_name, interface)
+);
+
+-- Running upgrade 28887f25a46f -> 4c573e7135bd
+
+ALTER TABLE ps_endpoints ALTER COLUMN tos_audio TYPE VARCHAR(10);
+
+ALTER TABLE ps_endpoints ALTER COLUMN tos_video TYPE VARCHAR(10);
+
+ALTER TABLE ps_transports ALTER COLUMN tos TYPE VARCHAR(10);
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_audio;
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_video;
+
+ALTER TABLE ps_transports DROP COLUMN cos;
+
+ALTER TABLE ps_endpoints ADD COLUMN cos_audio INTEGER;
+
+ALTER TABLE ps_endpoints ADD COLUMN cos_video INTEGER;
+
+ALTER TABLE ps_transports ADD COLUMN cos INTEGER;
+
+-- Running upgrade 4c573e7135bd -> 3855ee4e5f85
+
+ALTER TABLE ps_endpoints ADD COLUMN message_context VARCHAR(40);
+
+ALTER TABLE ps_contacts ADD COLUMN user_agent VARCHAR(40);
+
+-- Running upgrade 3855ee4e5f85 -> e96a0b8071c
+
+ALTER TABLE ps_globals ALTER COLUMN user_agent TYPE VARCHAR(255);
+
+ALTER TABLE ps_contacts ALTER COLUMN id TYPE VARCHAR(255);
+
+ALTER TABLE ps_contacts ALTER COLUMN uri TYPE VARCHAR(255);
+
+ALTER TABLE ps_contacts ALTER COLUMN user_agent TYPE VARCHAR(255);
+
+ALTER TABLE ps_registrations ALTER COLUMN client_uri TYPE VARCHAR(255);
+
+ALTER TABLE ps_registrations ALTER COLUMN server_uri TYPE VARCHAR(255);
+
+-- Running upgrade e96a0b8071c -> c6d929b23a8
+
+CREATE TABLE ps_subscription_persistence (
+    id VARCHAR(40) NOT NULL, 
+    packet VARCHAR(2048), 
+    src_name VARCHAR(128), 
+    src_port INTEGER, 
+    transport_key VARCHAR(64), 
+    local_name VARCHAR(128), 
+    local_port INTEGER, 
+    cseq INTEGER, 
+    tag VARCHAR(128), 
+    endpoint VARCHAR(40), 
+    expires INTEGER, 
+    UNIQUE (id)
+);
+
+CREATE INDEX ps_subscription_persistence_id ON ps_subscription_persistence (id);
+
+-- Running upgrade c6d929b23a8 -> 51f8cb66540e
+
+ALTER TABLE ps_endpoints ADD COLUMN force_avp yesno_values;
+
+ALTER TABLE ps_endpoints ADD COLUMN media_use_received_transport yesno_values;
+
+-- Running upgrade 51f8cb66540e -> 1d50859ed02e
+
+ALTER TABLE ps_endpoints ADD COLUMN accountcode VARCHAR(20);
+
+-- Running upgrade 1d50859ed02e -> 1758e8bbf6b
+
+ALTER TABLE sippeers ALTER COLUMN useragent TYPE VARCHAR(255);
+
+-- Running upgrade 1758e8bbf6b -> 5139253c0423
+
+ALTER TABLE queue_members DROP COLUMN uniqueid;
+
+ALTER TABLE queue_members ADD COLUMN uniqueid INTEGER NOT NULL;
+
+ALTER TABLE queue_members ADD UNIQUE (uniqueid);
+
+-- Running upgrade 5139253c0423 -> d39508cb8d8
+
+CREATE TABLE queue_rules (
+    rule_name VARCHAR(80) NOT NULL, 
+    time VARCHAR(32) NOT NULL, 
+    min_penalty VARCHAR(32) NOT NULL, 
+    max_penalty VARCHAR(32) NOT NULL
+);
+
+-- Running upgrade d39508cb8d8 -> 5950038a6ead
+
+ALTER TABLE ps_transports ALTER COLUMN verifiy_server TYPE yesno_values;
+
+ALTER TABLE ps_transports RENAME verifiy_server TO verify_server;
+
+-- Running upgrade 5950038a6ead -> 10aedae86a32
+
+CREATE TYPE sip_directmedia_values_v2 AS ENUM ('yes','no','nonat','update','outgoing');
+
+ALTER TABLE sippeers ALTER COLUMN directmedia TYPE sip_directmedia_values_v2 USING directmedia::text::sip_directmedia_values_v2;
+
+DROP TYPE sip_directmedia_values;
+
+-- Running upgrade 10aedae86a32 -> eb88a14f2a
+
+ALTER TABLE ps_endpoints ADD COLUMN media_encryption_optimistic yesno_values;
+
+INSERT INTO alembic_version (version_num) VALUES ('eb88a14f2a');
+
+COMMIT;
+
diff --git a/contrib/realtime/postgresql/postgresql_voicemail.sql b/contrib/realtime/postgresql/postgresql_voicemail.sql
new file mode 100644 (file)
index 0000000..20caf39
--- /dev/null
@@ -0,0 +1,36 @@
+BEGIN;
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+-- Running upgrade None -> a2e9769475e
+
+CREATE TABLE voicemail_messages (
+    dir VARCHAR(255) NOT NULL, 
+    msgnum INTEGER NOT NULL, 
+    context VARCHAR(80), 
+    macrocontext VARCHAR(80), 
+    callerid VARCHAR(80), 
+    origtime INTEGER, 
+    duration INTEGER, 
+    recording BYTEA, 
+    flag VARCHAR(30), 
+    category VARCHAR(30), 
+    mailboxuser VARCHAR(30), 
+    mailboxcontext VARCHAR(30), 
+    msg_id VARCHAR(40)
+);
+
+ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
+
+CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
+
+-- Running upgrade a2e9769475e -> 39428242f7f5
+
+ALTER TABLE voicemail_messages ALTER COLUMN recording TYPE BYTEA;
+
+INSERT INTO alembic_version (version_num) VALUES ('39428242f7f5');
+
+COMMIT;
+
diff --git a/contrib/realtime/sqlserver/mssql_cdr.sql b/contrib/realtime/sqlserver/mssql_cdr.sql
new file mode 100644 (file)
index 0000000..dcd433f
--- /dev/null
@@ -0,0 +1,42 @@
+BEGIN TRANSACTION;
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+GO
+
+-- Running upgrade None -> 210693f3123d
+
+CREATE TABLE cdr (
+    accountcode VARCHAR(20) NULL, 
+    src VARCHAR(80) NULL, 
+    dst VARCHAR(80) NULL, 
+    dcontext VARCHAR(80) NULL, 
+    clid VARCHAR(80) NULL, 
+    channel VARCHAR(80) NULL, 
+    dstchannel VARCHAR(80) NULL, 
+    lastapp VARCHAR(80) NULL, 
+    lastdata VARCHAR(80) NULL, 
+    start DATETIME NULL, 
+    answer DATETIME NULL, 
+    [end] DATETIME NULL, 
+    duration INTEGER NULL, 
+    billsec INTEGER NULL, 
+    disposition VARCHAR(45) NULL, 
+    amaflags VARCHAR(45) NULL, 
+    userfield VARCHAR(256) NULL, 
+    uniqueid VARCHAR(150) NULL, 
+    linkedid VARCHAR(150) NULL, 
+    peeraccount VARCHAR(20) NULL, 
+    sequence INTEGER NULL
+);
+
+GO
+
+INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');
+
+GO
+
+COMMIT;
+
diff --git a/contrib/realtime/sqlserver/mssql_config.sql b/contrib/realtime/sqlserver/mssql_config.sql
new file mode 100644 (file)
index 0000000..4834bec
--- /dev/null
@@ -0,0 +1,990 @@
+BEGIN TRANSACTION;
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+GO
+
+-- Running upgrade None -> 4da0c5f79a9c
+
+CREATE TABLE sippeers (
+    id INTEGER NOT NULL IDENTITY(1,1), 
+    name VARCHAR(40) NOT NULL, 
+    ipaddr VARCHAR(45) NULL, 
+    port INTEGER NULL, 
+    regseconds INTEGER NULL, 
+    defaultuser VARCHAR(40) NULL, 
+    fullcontact VARCHAR(80) NULL, 
+    regserver VARCHAR(20) NULL, 
+    useragent VARCHAR(20) NULL, 
+    lastms INTEGER NULL, 
+    host VARCHAR(40) NULL, 
+    type VARCHAR(6) NULL, 
+    context VARCHAR(40) NULL, 
+    permit VARCHAR(95) NULL, 
+    [deny] VARCHAR(95) NULL, 
+    secret VARCHAR(40) NULL, 
+    md5secret VARCHAR(40) NULL, 
+    remotesecret VARCHAR(40) NULL, 
+    transport VARCHAR(7) NULL, 
+    dtmfmode VARCHAR(9) NULL, 
+    directmedia VARCHAR(6) NULL, 
+    nat VARCHAR(29) NULL, 
+    callgroup VARCHAR(40) NULL, 
+    pickupgroup VARCHAR(40) NULL, 
+    language VARCHAR(40) NULL, 
+    disallow VARCHAR(200) NULL, 
+    allow VARCHAR(200) NULL, 
+    insecure VARCHAR(40) NULL, 
+    trustrpid VARCHAR(3) NULL, 
+    progressinband VARCHAR(5) NULL, 
+    promiscredir VARCHAR(3) NULL, 
+    useclientcode VARCHAR(3) NULL, 
+    accountcode VARCHAR(40) NULL, 
+    setvar VARCHAR(200) NULL, 
+    callerid VARCHAR(40) NULL, 
+    amaflags VARCHAR(40) NULL, 
+    callcounter VARCHAR(3) NULL, 
+    busylevel INTEGER NULL, 
+    allowoverlap VARCHAR(3) NULL, 
+    allowsubscribe VARCHAR(3) NULL, 
+    videosupport VARCHAR(3) NULL, 
+    maxcallbitrate INTEGER NULL, 
+    rfc2833compensate VARCHAR(3) NULL, 
+    mailbox VARCHAR(40) NULL, 
+    [session-timers] VARCHAR(9) NULL, 
+    [session-expires] INTEGER NULL, 
+    [session-minse] INTEGER NULL, 
+    [session-refresher] VARCHAR(3) NULL, 
+    t38pt_usertpsource VARCHAR(40) NULL, 
+    regexten VARCHAR(40) NULL, 
+    fromdomain VARCHAR(40) NULL, 
+    fromuser VARCHAR(40) NULL, 
+    qualify VARCHAR(40) NULL, 
+    defaultip VARCHAR(45) NULL, 
+    rtptimeout INTEGER NULL, 
+    rtpholdtimeout INTEGER NULL, 
+    sendrpid VARCHAR(3) NULL, 
+    outboundproxy VARCHAR(40) NULL, 
+    callbackextension VARCHAR(40) NULL, 
+    timert1 INTEGER NULL, 
+    timerb INTEGER NULL, 
+    qualifyfreq INTEGER NULL, 
+    constantssrc VARCHAR(3) NULL, 
+    contactpermit VARCHAR(95) NULL, 
+    contactdeny VARCHAR(95) NULL, 
+    usereqphone VARCHAR(3) NULL, 
+    textsupport VARCHAR(3) NULL, 
+    faxdetect VARCHAR(3) NULL, 
+    buggymwi VARCHAR(3) NULL, 
+    auth VARCHAR(40) NULL, 
+    fullname VARCHAR(40) NULL, 
+    trunkname VARCHAR(40) NULL, 
+    cid_number VARCHAR(40) NULL, 
+    callingpres VARCHAR(21) NULL, 
+    mohinterpret VARCHAR(40) NULL, 
+    mohsuggest VARCHAR(40) NULL, 
+    parkinglot VARCHAR(40) NULL, 
+    hasvoicemail VARCHAR(3) NULL, 
+    subscribemwi VARCHAR(3) NULL, 
+    vmexten VARCHAR(40) NULL, 
+    autoframing VARCHAR(3) NULL, 
+    rtpkeepalive INTEGER NULL, 
+    [call-limit] INTEGER NULL, 
+    g726nonstandard VARCHAR(3) NULL, 
+    ignoresdpversion VARCHAR(3) NULL, 
+    allowtransfer VARCHAR(3) NULL, 
+    dynamic VARCHAR(3) NULL, 
+    path VARCHAR(256) NULL, 
+    supportpath VARCHAR(3) NULL, 
+    PRIMARY KEY (id), 
+    UNIQUE (name), 
+    CONSTRAINT type_values CHECK (type IN ('friend', 'user', 'peer')), 
+    CONSTRAINT sip_transport_values CHECK (transport IN ('udp', 'tcp', 'tls', 'ws', 'wss', 'udp,tcp', 'tcp,udp')), 
+    CONSTRAINT sip_dtmfmode_values CHECK (dtmfmode IN ('rfc2833', 'info', 'shortinfo', 'inband', 'auto')), 
+    CONSTRAINT sip_directmedia_values CHECK (directmedia IN ('yes', 'no', 'nonat', 'update')), 
+    CONSTRAINT yes_no_values CHECK (trustrpid IN ('yes', 'no')), 
+    CONSTRAINT sip_progressinband_values CHECK (progressinband IN ('yes', 'no', 'never')), 
+    CONSTRAINT yes_no_values CHECK (promiscredir IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (useclientcode IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (callcounter IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (allowoverlap IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (allowsubscribe IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (videosupport IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (rfc2833compensate IN ('yes', 'no')), 
+    CONSTRAINT sip_session_timers_values CHECK ([session-timers] IN ('accept', 'refuse', 'originate')), 
+    CONSTRAINT sip_session_refresher_values CHECK ([session-refresher] IN ('uac', 'uas')), 
+    CONSTRAINT yes_no_values CHECK (sendrpid IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (constantssrc IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (usereqphone IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (textsupport IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (faxdetect IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (buggymwi IN ('yes', 'no')), 
+    CONSTRAINT sip_callingpres_values CHECK (callingpres IN ('allowed_not_screened', 'allowed_passed_screen', 'allowed_failed_screen', 'allowed', 'prohib_not_screened', 'prohib_passed_screen', 'prohib_failed_screen', 'prohib')), 
+    CONSTRAINT yes_no_values CHECK (hasvoicemail IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (subscribemwi IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (autoframing IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (g726nonstandard IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (ignoresdpversion IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (allowtransfer IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (dynamic IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (supportpath IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX sippeers_name ON sippeers (name);
+
+GO
+
+CREATE INDEX sippeers_name_host ON sippeers (name, host);
+
+GO
+
+CREATE INDEX sippeers_ipaddr_port ON sippeers (ipaddr, port);
+
+GO
+
+CREATE INDEX sippeers_host_port ON sippeers (host, port);
+
+GO
+
+CREATE TABLE iaxfriends (
+    id INTEGER NOT NULL IDENTITY(1,1), 
+    name VARCHAR(40) NOT NULL, 
+    type VARCHAR(6) NULL, 
+    username VARCHAR(40) NULL, 
+    mailbox VARCHAR(40) NULL, 
+    secret VARCHAR(40) NULL, 
+    dbsecret VARCHAR(40) NULL, 
+    context VARCHAR(40) NULL, 
+    regcontext VARCHAR(40) NULL, 
+    host VARCHAR(40) NULL, 
+    ipaddr VARCHAR(40) NULL, 
+    port INTEGER NULL, 
+    defaultip VARCHAR(20) NULL, 
+    sourceaddress VARCHAR(20) NULL, 
+    mask VARCHAR(20) NULL, 
+    regexten VARCHAR(40) NULL, 
+    regseconds INTEGER NULL, 
+    accountcode VARCHAR(20) NULL, 
+    mohinterpret VARCHAR(20) NULL, 
+    mohsuggest VARCHAR(20) NULL, 
+    inkeys VARCHAR(40) NULL, 
+    outkeys VARCHAR(40) NULL, 
+    language VARCHAR(10) NULL, 
+    callerid VARCHAR(100) NULL, 
+    cid_number VARCHAR(40) NULL, 
+    sendani VARCHAR(3) NULL, 
+    fullname VARCHAR(40) NULL, 
+    trunk VARCHAR(3) NULL, 
+    auth VARCHAR(20) NULL, 
+    maxauthreq INTEGER NULL, 
+    requirecalltoken VARCHAR(4) NULL, 
+    encryption VARCHAR(6) NULL, 
+    transfer VARCHAR(9) NULL, 
+    jitterbuffer VARCHAR(3) NULL, 
+    forcejitterbuffer VARCHAR(3) NULL, 
+    disallow VARCHAR(200) NULL, 
+    allow VARCHAR(200) NULL, 
+    codecpriority VARCHAR(40) NULL, 
+    qualify VARCHAR(10) NULL, 
+    qualifysmoothing VARCHAR(3) NULL, 
+    qualifyfreqok VARCHAR(10) NULL, 
+    qualifyfreqnotok VARCHAR(10) NULL, 
+    timezone VARCHAR(20) NULL, 
+    adsi VARCHAR(3) NULL, 
+    amaflags VARCHAR(20) NULL, 
+    setvar VARCHAR(200) NULL, 
+    PRIMARY KEY (id), 
+    UNIQUE (name), 
+    CONSTRAINT type_values CHECK (type IN ('friend', 'user', 'peer')), 
+    CONSTRAINT yes_no_values CHECK (sendani IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (trunk IN ('yes', 'no')), 
+    CONSTRAINT iax_requirecalltoken_values CHECK (requirecalltoken IN ('yes', 'no', 'auto')), 
+    CONSTRAINT iax_encryption_values CHECK (encryption IN ('yes', 'no', 'aes128')), 
+    CONSTRAINT iax_transfer_values CHECK (transfer IN ('yes', 'no', 'mediaonly')), 
+    CONSTRAINT yes_no_values CHECK (jitterbuffer IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (forcejitterbuffer IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (qualifysmoothing IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (adsi IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX iaxfriends_name ON iaxfriends (name);
+
+GO
+
+CREATE INDEX iaxfriends_name_host ON iaxfriends (name, host);
+
+GO
+
+CREATE INDEX iaxfriends_name_ipaddr_port ON iaxfriends (name, ipaddr, port);
+
+GO
+
+CREATE INDEX iaxfriends_ipaddr_port ON iaxfriends (ipaddr, port);
+
+GO
+
+CREATE INDEX iaxfriends_host_port ON iaxfriends (host, port);
+
+GO
+
+CREATE TABLE voicemail (
+    uniqueid INTEGER NOT NULL IDENTITY(1,1), 
+    context VARCHAR(80) NOT NULL, 
+    mailbox VARCHAR(80) NOT NULL, 
+    password VARCHAR(80) NOT NULL, 
+    fullname VARCHAR(80) NULL, 
+    alias VARCHAR(80) NULL, 
+    email VARCHAR(80) NULL, 
+    pager VARCHAR(80) NULL, 
+    attach VARCHAR(3) NULL, 
+    attachfmt VARCHAR(10) NULL, 
+    serveremail VARCHAR(80) NULL, 
+    language VARCHAR(20) NULL, 
+    tz VARCHAR(30) NULL, 
+    deletevoicemail VARCHAR(3) NULL, 
+    saycid VARCHAR(3) NULL, 
+    sendvoicemail VARCHAR(3) NULL, 
+    review VARCHAR(3) NULL, 
+    tempgreetwarn VARCHAR(3) NULL, 
+    operator VARCHAR(3) NULL, 
+    envelope VARCHAR(3) NULL, 
+    sayduration INTEGER NULL, 
+    forcename VARCHAR(3) NULL, 
+    forcegreetings VARCHAR(3) NULL, 
+    callback VARCHAR(80) NULL, 
+    dialout VARCHAR(80) NULL, 
+    exitcontext VARCHAR(80) NULL, 
+    maxmsg INTEGER NULL, 
+    volgain NUMERIC(5, 2) NULL, 
+    imapuser VARCHAR(80) NULL, 
+    imappassword VARCHAR(80) NULL, 
+    imapserver VARCHAR(80) NULL, 
+    imapport VARCHAR(8) NULL, 
+    imapflags VARCHAR(80) NULL, 
+    stamp DATETIME NULL, 
+    PRIMARY KEY (uniqueid), 
+    CONSTRAINT yes_no_values CHECK (attach IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (deletevoicemail IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (saycid IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (sendvoicemail IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (review IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (tempgreetwarn IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (operator IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (envelope IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (forcename IN ('yes', 'no')), 
+    CONSTRAINT yes_no_values CHECK (forcegreetings IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX voicemail_mailbox ON voicemail (mailbox);
+
+GO
+
+CREATE INDEX voicemail_context ON voicemail (context);
+
+GO
+
+CREATE INDEX voicemail_mailbox_context ON voicemail (mailbox, context);
+
+GO
+
+CREATE INDEX voicemail_imapuser ON voicemail (imapuser);
+
+GO
+
+CREATE TABLE meetme (
+    bookid INTEGER NOT NULL IDENTITY(1,1), 
+    confno VARCHAR(80) NOT NULL, 
+    starttime DATETIME NULL, 
+    endtime DATETIME NULL, 
+    pin VARCHAR(20) NULL, 
+    adminpin VARCHAR(20) NULL, 
+    opts VARCHAR(20) NULL, 
+    adminopts VARCHAR(20) NULL, 
+    recordingfilename VARCHAR(80) NULL, 
+    recordingformat VARCHAR(10) NULL, 
+    maxusers INTEGER NULL, 
+    members INTEGER NOT NULL, 
+    PRIMARY KEY (bookid)
+);
+
+GO
+
+CREATE INDEX meetme_confno_start_end ON meetme (confno, starttime, endtime);
+
+GO
+
+CREATE TABLE musiconhold (
+    name VARCHAR(80) NOT NULL, 
+    mode VARCHAR(10) NULL, 
+    directory VARCHAR(255) NULL, 
+    application VARCHAR(255) NULL, 
+    digit VARCHAR(1) NULL, 
+    sort VARCHAR(10) NULL, 
+    format VARCHAR(10) NULL, 
+    stamp DATETIME NULL, 
+    PRIMARY KEY (name), 
+    CONSTRAINT moh_mode_values CHECK (mode IN ('custom', 'files', 'mp3nb', 'quietmp3nb', 'quietmp3'))
+);
+
+GO
+
+-- Running upgrade 4da0c5f79a9c -> 43956d550a44
+
+CREATE TABLE ps_endpoints (
+    id VARCHAR(40) NOT NULL, 
+    transport VARCHAR(40) NULL, 
+    aors VARCHAR(200) NULL, 
+    auth VARCHAR(40) NULL, 
+    context VARCHAR(40) NULL, 
+    disallow VARCHAR(200) NULL, 
+    allow VARCHAR(200) NULL, 
+    direct_media VARCHAR(3) NULL, 
+    connected_line_method VARCHAR(8) NULL, 
+    direct_media_method VARCHAR(8) NULL, 
+    direct_media_glare_mitigation VARCHAR(8) NULL, 
+    disable_direct_media_on_nat VARCHAR(3) NULL, 
+    dtmf_mode VARCHAR(7) NULL, 
+    external_media_address VARCHAR(40) NULL, 
+    force_rport VARCHAR(3) NULL, 
+    ice_support VARCHAR(3) NULL, 
+    identify_by VARCHAR(8) NULL, 
+    mailboxes VARCHAR(40) NULL, 
+    moh_suggest VARCHAR(40) NULL, 
+    outbound_auth VARCHAR(40) NULL, 
+    outbound_proxy VARCHAR(40) NULL, 
+    rewrite_contact VARCHAR(3) NULL, 
+    rtp_ipv6 VARCHAR(3) NULL, 
+    rtp_symmetric VARCHAR(3) NULL, 
+    send_diversion VARCHAR(3) NULL, 
+    send_pai VARCHAR(3) NULL, 
+    send_rpid VARCHAR(3) NULL, 
+    timers_min_se INTEGER NULL, 
+    timers VARCHAR(8) NULL, 
+    timers_sess_expires INTEGER NULL, 
+    callerid VARCHAR(40) NULL, 
+    callerid_privacy VARCHAR(23) NULL, 
+    callerid_tag VARCHAR(40) NULL, 
+    [100rel] VARCHAR(8) NULL, 
+    aggregate_mwi VARCHAR(3) NULL, 
+    trust_id_inbound VARCHAR(3) NULL, 
+    trust_id_outbound VARCHAR(3) NULL, 
+    use_ptime VARCHAR(3) NULL, 
+    use_avpf VARCHAR(3) NULL, 
+    media_encryption VARCHAR(4) NULL, 
+    inband_progress VARCHAR(3) NULL, 
+    call_group VARCHAR(40) NULL, 
+    pickup_group VARCHAR(40) NULL, 
+    named_call_group VARCHAR(40) NULL, 
+    named_pickup_group VARCHAR(40) NULL, 
+    device_state_busy_at INTEGER NULL, 
+    fax_detect VARCHAR(3) NULL, 
+    t38_udptl VARCHAR(3) NULL, 
+    t38_udptl_ec VARCHAR(10) NULL, 
+    t38_udptl_maxdatagram INTEGER NULL, 
+    t38_udptl_nat VARCHAR(3) NULL, 
+    t38_udptl_ipv6 VARCHAR(3) NULL, 
+    tone_zone VARCHAR(40) NULL, 
+    language VARCHAR(40) NULL, 
+    one_touch_recording VARCHAR(3) NULL, 
+    record_on_feature VARCHAR(40) NULL, 
+    record_off_feature VARCHAR(40) NULL, 
+    rtp_engine VARCHAR(40) NULL, 
+    allow_transfer VARCHAR(3) NULL, 
+    allow_subscribe VARCHAR(3) NULL, 
+    sdp_owner VARCHAR(40) NULL, 
+    sdp_session VARCHAR(40) NULL, 
+    tos_audio INTEGER NULL, 
+    tos_video INTEGER NULL, 
+    cos_audio INTEGER NULL, 
+    cos_video INTEGER NULL, 
+    sub_min_expiry INTEGER NULL, 
+    from_domain VARCHAR(40) NULL, 
+    from_user VARCHAR(40) NULL, 
+    mwi_fromuser VARCHAR(40) NULL, 
+    dtls_verify VARCHAR(40) NULL, 
+    dtls_rekey VARCHAR(40) NULL, 
+    dtls_cert_file VARCHAR(200) NULL, 
+    dtls_private_key VARCHAR(200) NULL, 
+    dtls_cipher VARCHAR(200) NULL, 
+    dtls_ca_file VARCHAR(200) NULL, 
+    dtls_ca_path VARCHAR(200) NULL, 
+    dtls_setup VARCHAR(7) NULL, 
+    srtp_tag_32 VARCHAR(3) NULL, 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (direct_media IN ('yes', 'no')), 
+    CONSTRAINT pjsip_connected_line_method_values CHECK (connected_line_method IN ('invite', 'reinvite', 'update')), 
+    CONSTRAINT pjsip_connected_line_method_values CHECK (direct_media_method IN ('invite', 'reinvite', 'update')), 
+    CONSTRAINT pjsip_direct_media_glare_mitigation_values CHECK (direct_media_glare_mitigation IN ('none', 'outgoing', 'incoming')), 
+    CONSTRAINT yesno_values CHECK (disable_direct_media_on_nat IN ('yes', 'no')), 
+    CONSTRAINT pjsip_dtmf_mode_values CHECK (dtmf_mode IN ('rfc4733', 'inband', 'info')), 
+    CONSTRAINT yesno_values CHECK (force_rport IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (ice_support IN ('yes', 'no')), 
+    CONSTRAINT pjsip_identify_by_values CHECK (identify_by IN ('username')), 
+    CONSTRAINT yesno_values CHECK (rewrite_contact IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (rtp_ipv6 IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (rtp_symmetric IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (send_diversion IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (send_pai IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (send_rpid IN ('yes', 'no')), 
+    CONSTRAINT pjsip_timer_values CHECK (timers IN ('forced', 'no', 'required', 'yes')), 
+    CONSTRAINT pjsip_cid_privacy_values CHECK (callerid_privacy IN ('allowed_not_screened', 'allowed_passed_screened', 'allowed_failed_screened', 'allowed', 'prohib_not_screened', 'prohib_passed_screened', 'prohib_failed_screened', 'prohib', 'unavailable')), 
+    CONSTRAINT pjsip_100rel_values CHECK ([100rel] IN ('no', 'required', 'yes')), 
+    CONSTRAINT yesno_values CHECK (aggregate_mwi IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (trust_id_inbound IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (trust_id_outbound IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (use_ptime IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (use_avpf IN ('yes', 'no')), 
+    CONSTRAINT pjsip_media_encryption_values CHECK (media_encryption IN ('no', 'sdes', 'dtls')), 
+    CONSTRAINT yesno_values CHECK (inband_progress IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (fax_detect IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (t38_udptl IN ('yes', 'no')), 
+    CONSTRAINT pjsip_t38udptl_ec_values CHECK (t38_udptl_ec IN ('none', 'fec', 'redundancy')), 
+    CONSTRAINT yesno_values CHECK (t38_udptl_nat IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (t38_udptl_ipv6 IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (one_touch_recording IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (allow_transfer IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (allow_subscribe IN ('yes', 'no')), 
+    CONSTRAINT pjsip_dtls_setup_values CHECK (dtls_setup IN ('active', 'passive', 'actpass')), 
+    CONSTRAINT yesno_values CHECK (srtp_tag_32 IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX ps_endpoints_id ON ps_endpoints (id);
+
+GO
+
+CREATE TABLE ps_auths (
+    id VARCHAR(40) NOT NULL, 
+    auth_type VARCHAR(8) NULL, 
+    nonce_lifetime INTEGER NULL, 
+    md5_cred VARCHAR(40) NULL, 
+    password VARCHAR(80) NULL, 
+    realm VARCHAR(40) NULL, 
+    username VARCHAR(40) NULL, 
+    UNIQUE (id), 
+    CONSTRAINT pjsip_auth_type_values CHECK (auth_type IN ('md5', 'userpass'))
+);
+
+GO
+
+CREATE INDEX ps_auths_id ON ps_auths (id);
+
+GO
+
+CREATE TABLE ps_aors (
+    id VARCHAR(40) NOT NULL, 
+    contact VARCHAR(40) NULL, 
+    default_expiration INTEGER NULL, 
+    mailboxes VARCHAR(80) NULL, 
+    max_contacts INTEGER NULL, 
+    minimum_expiration INTEGER NULL, 
+    remove_existing VARCHAR(3) NULL, 
+    qualify_frequency INTEGER NULL, 
+    authenticate_qualify VARCHAR(3) NULL, 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (remove_existing IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (authenticate_qualify IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX ps_aors_id ON ps_aors (id);
+
+GO
+
+CREATE TABLE ps_contacts (
+    id VARCHAR(40) NOT NULL, 
+    uri VARCHAR(40) NULL, 
+    expiration_time VARCHAR(40) NULL, 
+    qualify_frequency INTEGER NULL, 
+    UNIQUE (id)
+);
+
+GO
+
+CREATE INDEX ps_contacts_id ON ps_contacts (id);
+
+GO
+
+CREATE TABLE ps_domain_aliases (
+    id VARCHAR(40) NOT NULL, 
+    domain VARCHAR(80) NULL, 
+    UNIQUE (id)
+);
+
+GO
+
+CREATE INDEX ps_domain_aliases_id ON ps_domain_aliases (id);
+
+GO
+
+CREATE TABLE ps_endpoint_id_ips (
+    id VARCHAR(40) NOT NULL, 
+    endpoint VARCHAR(40) NULL, 
+    match VARCHAR(80) NULL, 
+    UNIQUE (id)
+);
+
+GO
+
+CREATE INDEX ps_endpoint_id_ips_id ON ps_endpoint_id_ips (id);
+
+GO
+
+-- Running upgrade 43956d550a44 -> 581a4264e537
+
+CREATE TABLE extensions (
+    id BIGINT NOT NULL IDENTITY(1,1), 
+    context VARCHAR(40) NOT NULL, 
+    exten VARCHAR(40) NOT NULL, 
+    priority INTEGER NOT NULL, 
+    app VARCHAR(40) NOT NULL, 
+    appdata VARCHAR(256) NOT NULL, 
+    PRIMARY KEY (id, context, exten, priority), 
+    UNIQUE (id)
+);
+
+GO
+
+-- Running upgrade 581a4264e537 -> 2fc7930b41b3
+
+CREATE TABLE ps_systems (
+    id VARCHAR(40) NOT NULL, 
+    timer_t1 INTEGER NULL, 
+    timer_b INTEGER NULL, 
+    compact_headers VARCHAR(3) NULL, 
+    threadpool_initial_size INTEGER NULL, 
+    threadpool_auto_increment INTEGER NULL, 
+    threadpool_idle_timeout INTEGER NULL, 
+    threadpool_max_size INTEGER NULL, 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (compact_headers IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX ps_systems_id ON ps_systems (id);
+
+GO
+
+CREATE TABLE ps_globals (
+    id VARCHAR(40) NOT NULL, 
+    max_forwards INTEGER NULL, 
+    user_agent VARCHAR(40) NULL, 
+    default_outbound_endpoint VARCHAR(40) NULL, 
+    UNIQUE (id)
+);
+
+GO
+
+CREATE INDEX ps_globals_id ON ps_globals (id);
+
+GO
+
+CREATE TABLE ps_transports (
+    id VARCHAR(40) NOT NULL, 
+    async_operations INTEGER NULL, 
+    bind VARCHAR(40) NULL, 
+    ca_list_file VARCHAR(200) NULL, 
+    cert_file VARCHAR(200) NULL, 
+    cipher VARCHAR(200) NULL, 
+    domain VARCHAR(40) NULL, 
+    external_media_address VARCHAR(40) NULL, 
+    external_signaling_address VARCHAR(40) NULL, 
+    external_signaling_port INTEGER NULL, 
+    method VARCHAR(11) NULL, 
+    local_net VARCHAR(40) NULL, 
+    password VARCHAR(40) NULL, 
+    priv_key_file VARCHAR(200) NULL, 
+    protocol VARCHAR(3) NULL, 
+    require_client_cert VARCHAR(3) NULL, 
+    verify_client VARCHAR(3) NULL, 
+    verifiy_server VARCHAR(3) NULL, 
+    tos VARCHAR(3) NULL, 
+    cos VARCHAR(3) NULL, 
+    UNIQUE (id), 
+    CONSTRAINT pjsip_transport_method_values CHECK (method IN ('default', 'unspecified', 'tlsv1', 'sslv2', 'sslv3', 'sslv23')), 
+    CONSTRAINT pjsip_transport_protocol_values CHECK (protocol IN ('udp', 'tcp', 'tls', 'ws', 'wss')), 
+    CONSTRAINT yesno_values CHECK (require_client_cert IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (verify_client IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (verifiy_server IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (tos IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (cos IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX ps_transports_id ON ps_transports (id);
+
+GO
+
+CREATE TABLE ps_registrations (
+    id VARCHAR(40) NOT NULL, 
+    auth_rejection_permanent VARCHAR(3) NULL, 
+    client_uri VARCHAR(40) NULL, 
+    contact_user VARCHAR(40) NULL, 
+    expiration INTEGER NULL, 
+    max_retries INTEGER NULL, 
+    outbound_auth VARCHAR(40) NULL, 
+    outbound_proxy VARCHAR(40) NULL, 
+    retry_interval INTEGER NULL, 
+    forbidden_retry_interval INTEGER NULL, 
+    server_uri VARCHAR(40) NULL, 
+    transport VARCHAR(40) NULL, 
+    support_path VARCHAR(3) NULL, 
+    UNIQUE (id), 
+    CONSTRAINT yesno_values CHECK (auth_rejection_permanent IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (support_path IN ('yes', 'no'))
+);
+
+GO
+
+CREATE INDEX ps_registrations_id ON ps_registrations (id);
+
+GO
+
+ALTER TABLE ps_endpoints ADD media_address VARCHAR(40) NULL;
+
+GO
+
+ALTER TABLE ps_endpoints ADD redirect_method VARCHAR(9) NULL;
+
+GO
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT pjsip_redirect_method_values CHECK (redirect_method IN ('user', 'uri_core', 'uri_pjsip'));
+
+GO
+
+ALTER TABLE ps_endpoints ADD set_var TEXT NULL;
+
+GO
+
+EXEC sp_rename 'ps_endpoints.mwi_fromuser', mwi_from_user, 'COLUMN';
+
+GO
+
+ALTER TABLE ps_contacts ADD outbound_proxy VARCHAR(40) NULL;
+
+GO
+
+ALTER TABLE ps_contacts ADD path TEXT NULL;
+
+GO
+
+ALTER TABLE ps_aors ADD maximum_expiration INTEGER NULL;
+
+GO
+
+ALTER TABLE ps_aors ADD outbound_proxy VARCHAR(40) NULL;
+
+GO
+
+ALTER TABLE ps_aors ADD support_path VARCHAR(3) NULL;
+
+GO
+
+ALTER TABLE ps_aors ADD CONSTRAINT yesno_values CHECK (support_path IN ('yes', 'no'));
+
+GO
+
+-- Running upgrade 2fc7930b41b3 -> 21e526ad3040
+
+ALTER TABLE ps_globals ADD debug VARCHAR(40) NULL;
+
+GO
+
+-- Running upgrade 21e526ad3040 -> 28887f25a46f
+
+CREATE TABLE queues (
+    name VARCHAR(128) NOT NULL, 
+    musiconhold VARCHAR(128) NULL, 
+    announce VARCHAR(128) NULL, 
+    context VARCHAR(128) NULL, 
+    timeout INTEGER NULL, 
+    ringinuse VARCHAR(3) NULL, 
+    setinterfacevar VARCHAR(3) NULL, 
+    setqueuevar VARCHAR(3) NULL, 
+    setqueueentryvar VARCHAR(3) NULL, 
+    monitor_format VARCHAR(8) NULL, 
+    membermacro VARCHAR(512) NULL, 
+    membergosub VARCHAR(512) NULL, 
+    queue_youarenext VARCHAR(128) NULL, 
+    queue_thereare VARCHAR(128) NULL, 
+    queue_callswaiting VARCHAR(128) NULL, 
+    queue_quantity1 VARCHAR(128) NULL, 
+    queue_quantity2 VARCHAR(128) NULL, 
+    queue_holdtime VARCHAR(128) NULL, 
+    queue_minutes VARCHAR(128) NULL, 
+    queue_minute VARCHAR(128) NULL, 
+    queue_seconds VARCHAR(128) NULL, 
+    queue_thankyou VARCHAR(128) NULL, 
+    queue_callerannounce VARCHAR(128) NULL, 
+    queue_reporthold VARCHAR(128) NULL, 
+    announce_frequency INTEGER NULL, 
+    announce_to_first_user VARCHAR(3) NULL, 
+    min_announce_frequency INTEGER NULL, 
+    announce_round_seconds INTEGER NULL, 
+    announce_holdtime VARCHAR(128) NULL, 
+    announce_position VARCHAR(128) NULL, 
+    announce_position_limit INTEGER NULL, 
+    periodic_announce VARCHAR(50) NULL, 
+    periodic_announce_frequency INTEGER NULL, 
+    relative_periodic_announce VARCHAR(3) NULL, 
+    random_periodic_announce VARCHAR(3) NULL, 
+    retry INTEGER NULL, 
+    wrapuptime INTEGER NULL, 
+    penaltymemberslimit INTEGER NULL, 
+    autofill VARCHAR(3) NULL, 
+    monitor_type VARCHAR(128) NULL, 
+    autopause VARCHAR(3) NULL, 
+    autopausedelay INTEGER NULL, 
+    autopausebusy VARCHAR(3) NULL, 
+    autopauseunavail VARCHAR(3) NULL, 
+    maxlen INTEGER NULL, 
+    servicelevel INTEGER NULL, 
+    strategy VARCHAR(11) NULL, 
+    joinempty VARCHAR(128) NULL, 
+    leavewhenempty VARCHAR(128) NULL, 
+    reportholdtime VARCHAR(3) NULL, 
+    memberdelay INTEGER NULL, 
+    weight INTEGER NULL, 
+    timeoutrestart VARCHAR(3) NULL, 
+    defaultrule VARCHAR(128) NULL, 
+    timeoutpriority VARCHAR(128) NULL, 
+    PRIMARY KEY (name), 
+    CONSTRAINT yesno_values CHECK (ringinuse IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (setinterfacevar IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (setqueuevar IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (setqueueentryvar IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (announce_to_first_user IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (relative_periodic_announce IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (random_periodic_announce IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (autofill IN ('yes', 'no')), 
+    CONSTRAINT queue_autopause_values CHECK (autopause IN ('yes', 'no', 'all')), 
+    CONSTRAINT yesno_values CHECK (autopausebusy IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (autopauseunavail IN ('yes', 'no')), 
+    CONSTRAINT queue_strategy_values CHECK (strategy IN ('ringall', 'leastrecent', 'fewestcalls', 'random', 'rrmemory', 'linear', 'wrandom', 'rrordered')), 
+    CONSTRAINT yesno_values CHECK (reportholdtime IN ('yes', 'no')), 
+    CONSTRAINT yesno_values CHECK (timeoutrestart IN ('yes', 'no'))
+);
+
+GO
+
+CREATE TABLE queue_members (
+    queue_name VARCHAR(80) NOT NULL, 
+    interface VARCHAR(80) NOT NULL, 
+    uniqueid VARCHAR(80) NOT NULL, 
+    membername VARCHAR(80) NULL, 
+    state_interface VARCHAR(80) NULL, 
+    penalty INTEGER NULL, 
+    paused INTEGER NULL, 
+    PRIMARY KEY (queue_name, interface)
+);
+
+GO
+
+-- Running upgrade 28887f25a46f -> 4c573e7135bd
+
+ALTER TABLE ps_endpoints ALTER COLUMN tos_audio VARCHAR(10);
+
+GO
+
+ALTER TABLE ps_endpoints ALTER COLUMN tos_video VARCHAR(10);
+
+GO
+
+ALTER TABLE ps_transports ALTER COLUMN tos VARCHAR(10);
+
+GO
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_audio;
+
+GO
+
+ALTER TABLE ps_endpoints DROP COLUMN cos_video;
+
+GO
+
+ALTER TABLE ps_transports DROP COLUMN cos;
+
+GO
+
+ALTER TABLE ps_endpoints ADD cos_audio INTEGER NULL;
+
+GO
+
+ALTER TABLE ps_endpoints ADD cos_video INTEGER NULL;
+
+GO
+
+ALTER TABLE ps_transports ADD cos INTEGER NULL;
+
+GO
+
+-- Running upgrade 4c573e7135bd -> 3855ee4e5f85
+
+ALTER TABLE ps_endpoints ADD message_context VARCHAR(40) NULL;
+
+GO
+
+ALTER TABLE ps_contacts ADD user_agent VARCHAR(40) NULL;
+
+GO
+
+-- Running upgrade 3855ee4e5f85 -> e96a0b8071c
+
+ALTER TABLE ps_globals ALTER COLUMN user_agent VARCHAR(255);
+
+GO
+
+ALTER TABLE ps_contacts ALTER COLUMN id VARCHAR(255);
+
+GO
+
+ALTER TABLE ps_contacts ALTER COLUMN uri VARCHAR(255);
+
+GO
+
+ALTER TABLE ps_contacts ALTER COLUMN user_agent VARCHAR(255);
+
+GO
+
+ALTER TABLE ps_registrations ALTER COLUMN client_uri VARCHAR(255);
+
+GO
+
+ALTER TABLE ps_registrations ALTER COLUMN server_uri VARCHAR(255);
+
+GO
+
+-- Running upgrade e96a0b8071c -> c6d929b23a8
+
+CREATE TABLE ps_subscription_persistence (
+    id VARCHAR(40) NOT NULL, 
+    packet VARCHAR(2048) NULL, 
+    src_name VARCHAR(128) NULL, 
+    src_port INTEGER NULL, 
+    transport_key VARCHAR(64) NULL, 
+    local_name VARCHAR(128) NULL, 
+    local_port INTEGER NULL, 
+    cseq INTEGER NULL, 
+    tag VARCHAR(128) NULL, 
+    endpoint VARCHAR(40) NULL, 
+    expires INTEGER NULL, 
+    UNIQUE (id)
+);
+
+GO
+
+CREATE INDEX ps_subscription_persistence_id ON ps_subscription_persistence (id);
+
+GO
+
+-- Running upgrade c6d929b23a8 -> 51f8cb66540e
+
+ALTER TABLE ps_endpoints ADD force_avp VARCHAR(3) NULL;
+
+GO
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT yesno_values CHECK (force_avp IN ('yes', 'no'));
+
+GO
+
+ALTER TABLE ps_endpoints ADD media_use_received_transport VARCHAR(3) NULL;
+
+GO
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT yesno_values CHECK (media_use_received_transport IN ('yes', 'no'));
+
+GO
+
+-- Running upgrade 51f8cb66540e -> 1d50859ed02e
+
+ALTER TABLE ps_endpoints ADD accountcode VARCHAR(20) NULL;
+
+GO
+
+-- Running upgrade 1d50859ed02e -> 1758e8bbf6b
+
+ALTER TABLE sippeers ALTER COLUMN useragent VARCHAR(255);
+
+GO
+
+-- Running upgrade 1758e8bbf6b -> 5139253c0423
+
+ALTER TABLE queue_members DROP COLUMN uniqueid;
+
+GO
+
+ALTER TABLE queue_members ADD uniqueid INTEGER NOT NULL;
+
+GO
+
+ALTER TABLE queue_members ADD UNIQUE (uniqueid);
+
+GO
+
+-- Running upgrade 5139253c0423 -> d39508cb8d8
+
+CREATE TABLE queue_rules (
+    rule_name VARCHAR(80) NOT NULL, 
+    time VARCHAR(32) NOT NULL, 
+    min_penalty VARCHAR(32) NOT NULL, 
+    max_penalty VARCHAR(32) NOT NULL
+);
+
+GO
+
+-- Running upgrade d39508cb8d8 -> 5950038a6ead
+
+ALTER TABLE ps_transports ALTER COLUMN verifiy_server VARCHAR(3);
+
+GO
+
+EXEC sp_rename 'ps_transports.verifiy_server', verify_server, 'COLUMN';
+
+GO
+
+ALTER TABLE ps_transports ADD CONSTRAINT yesno_values CHECK (verifiy_server IN ('yes', 'no'));
+
+GO
+
+-- Running upgrade 5950038a6ead -> 10aedae86a32
+
+ALTER TABLE sippeers DROP CONSTRAINT sip_directmedia_values;
+
+GO
+
+ALTER TABLE sippeers ALTER COLUMN directmedia VARCHAR(8);
+
+GO
+
+ALTER TABLE sippeers ADD CONSTRAINT sip_directmedia_values_v2 CHECK (directmedia IN ('yes', 'no', 'nonat', 'update', 'outgoing'));
+
+GO
+
+-- Running upgrade 10aedae86a32 -> eb88a14f2a
+
+ALTER TABLE ps_endpoints ADD media_encryption_optimistic VARCHAR(3) NULL;
+
+GO
+
+ALTER TABLE ps_endpoints ADD CONSTRAINT yesno_values CHECK (media_encryption_optimistic IN ('yes', 'no'));
+
+GO
+
+INSERT INTO alembic_version (version_num) VALUES ('eb88a14f2a');
+
+GO
+
+COMMIT;
+
diff --git a/contrib/realtime/sqlserver/mssql_voicemail.sql b/contrib/realtime/sqlserver/mssql_voicemail.sql
new file mode 100644 (file)
index 0000000..815d24e
--- /dev/null
@@ -0,0 +1,48 @@
+BEGIN TRANSACTION;
+
+CREATE TABLE alembic_version (
+    version_num VARCHAR(32) NOT NULL
+);
+
+GO
+
+-- Running upgrade None -> a2e9769475e
+
+CREATE TABLE voicemail_messages (
+    dir VARCHAR(255) NOT NULL, 
+    msgnum INTEGER NOT NULL, 
+    context VARCHAR(80) NULL, 
+    macrocontext VARCHAR(80) NULL, 
+    callerid VARCHAR(80) NULL, 
+    origtime INTEGER NULL, 
+    duration INTEGER NULL, 
+    recording IMAGE NULL, 
+    flag VARCHAR(30) NULL, 
+    category VARCHAR(30) NULL, 
+    mailboxuser VARCHAR(30) NULL, 
+    mailboxcontext VARCHAR(30) NULL, 
+    msg_id VARCHAR(40) NULL
+);
+
+GO
+
+ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
+
+GO
+
+CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
+
+GO
+
+-- Running upgrade a2e9769475e -> 39428242f7f5
+
+ALTER TABLE voicemail_messages ALTER COLUMN recording IMAGE;
+
+GO
+
+INSERT INTO alembic_version (version_num) VALUES ('39428242f7f5');
+
+GO
+
+COMMIT;
+