]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
ChangeLog: Updated for certified/13.1-cert3-rc1 certified/13.1-cert3-rc1
authorMatt Jordan <mjordan@digium.com>
Mon, 8 Jun 2015 17:30:32 +0000 (12:30 -0500)
committerMatt Jordan <mjordan@digium.com>
Mon, 8 Jun 2015 17:30:32 +0000 (12:30 -0500)
ChangeLog

index af0dd050778b81c015f4d7d516572e3928884b92..5e75a9acebe042353ec57a58c3845a7738338a17 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2015-06-08 17:30 +0000  Asterisk Development Team <asteriskteam@digium.com>
+
+       * asterisk certified/13.1-cert3-rc1 Released.
+
+2015-06-03 17:41 +0000 [5f954e1e00]  Mark Michelson <mmichelson@digium.com>
+
+       * res_pjsip: Prevent access of NULL channels.
+
+         It is possible to receive incoming requests or responses after the channel
+         on an ast_sip_session has been destroyed and NULLed out. Handlers of these
+         sorts of requests or responses need to be prepared for the possibility
+         that the channel is NULL or else they could cause a crash.
+
+         While several places have been amended to deal with NULL channels, there
+         were still a couple of places that needed updating.
+
+         res_pjsip_dtmf_info.c: When handling incoming INFO requests, we need to
+         return early if there is no channel on the session.
+
+         res_pjsip_session.c: When handling a 302 response, we need to stop the
+         redirecting attempt if there is no channel on the session.
+
+         ASTERISK-25148 #close
+         reported by Mark Michelson
+
+         Change-Id: Id1a75ffc3d0eaa168b0b28188fb54d6cf9fc47a9
+
+2015-02-17 09:34 +0000 [c994a3bfa0]  Richard Mudgett <rmudgett@digium.com>
+
+       * res_pjsip_refer: Fix crash from a REFER and BYE collision.
+
+         Analyzing a one-off crash on a busy system showed that processing a REFER
+         request had a NULL session channel pointer.  The only way I can think of
+         that could cause this is if an outgoing BYE transaction overlapped the
+         incoming REFER transaction in a collision.  Asterisk sends a BYE while the
+         phone sends a REFER to complete an attended transfer.
+
+         * Made check the session channel pointer before processing an incoming
+         REFER request in res_pjsip_refer.
+
+         * Fixed similar crash potential for res_pjsip supplement incoming request
+         processing for res_pjsip_sdp_rtp INFO, res_pjsip_caller_id INVITE/UPDATE,
+         res_pjsip_messaging MESSAGE, and res_pjsip_send_to_voicemail REFER
+         messages.
+
+         * Made res_pjsip_messaging respond to a message body too large with a 413
+         instead of ignoring it.
+
+         ASTERISK-24700 #close
+         Reported by: Zane Conkle
+
+         Review: https://reviewboard.asterisk.org/r/4417/
+         ........
+
+         Merged revisions 431898 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+         Change-Id: I57878adc0846dd942a699ad36dcec9cba5e57994
+
+2015-04-06 14:23 +0000 [1e98fcac6b]  Kevin Harwell <kharwell@digium.com>
+
+       * res_pjsip: config option 'timers' can't be set to 'no'
+
+         When setting the configuration option 'timers' equal to 'no' the bit flag was
+         not properly negated. This patch clears all associated flags and only sets the
+         specified one. pjsip will handle any necessary flag combinations. Also went
+         ahead and did similar for the '100rel' option.
+
+         ASTERISK-24910 #close
+         Reported by: Ray Crumrine
+         Review: https://reviewboard.asterisk.org/r/4582/
+         ........
+
+         Merged revisions 434131 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+         Change-Id: Ibbc25d4592aabf7596ef473447d630961f88c217
+
+2015-05-26 13:56 +0000 [bd32327353]  Richard Mudgett <rmudgett@digium.com>
+
+       * res_pjsip_session: Fix in-dialog authentication.
+
+         When the remote peer requires authentication for in-dialog requests then
+         re-INVITEs to the peer cause the call to be disconnected and other
+         in-dialog requests to the peer like MESSAGE just don't go through.
+
+         * Made session_inv_on_tsx_state_changed() handle in-dialog authentication
+         for re-INVITEs and other methods.  Initial INVITEs cannot be handled here
+         because the INVITE transaction must be restarted earlier.
+
+         * Pulled needed code from res/res_pjsip/pjsip_outbound_auth.c in
+         preparation for removing the file.  The generic outbound authentication
+         code did not work as well as anticipated.
+
+         * Created outbound_invite_auth() to only handle initial outbound INVITEs.
+         Re-INVITEs cannot be handled here.  The re-INVITE transaction is still in
+         progress and the PJSIP library cannot handle the overlapping INVITE
+         transactions.  Other method types should not be handled here as this code
+         only works on outgoing calls and we need to handle incoming and outgoing
+         calls.
+
+         ASTERISK-25131 #close
+         Reported by: Richard Mudgett
+
+         Change-Id: I12bdd7ddccc819b4ce4b091e826d1e26334601b0
+
+2015-05-12 17:45 +0000 [b81353a0ec]  Jonathan Rose <jrose@digium.com>
+
+       * app_voicemail: fix moving when old messages full
+
+         When completing voicemail playback of a message in the 'INBOX', the
+         message gets moved to the 'Old' messages folder. Without this patch, if
+         the 'Old' folder is already at its set limit, then the 'INBOX' message will
+         simply be deleted. With this patch, the flag to delete the message will be
+         removed if the save_to_folder function indicates that the message could
+         not be moved due to a full folder.
+
+         ASTERISK-25082 #close
+         Reported by: Jonathan Rose
+         Review: https://gerrit.asterisk.org/#/c/448/
+
+         Change-Id: I2be440a09f42e2d06d50975c40d1ad7f836ecb3f
+
+2015-05-12 17:34 +0000 [523fab02d8]  Richard Mudgett <rmudgett@digium.com>
+
+       * chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision.
+
+         If an ISDN call is hungup by both sides at the same time a crash could
+         happen.
+
+         * Added missing NULL checks for the owner channel after calling
+         pri_queue_pvt_cause_data() in two places.  Code after those calls need to
+         check the owner channel pointer for NULL before use because
+         pri_queue_pvt_cause_data() needs to do deadlock avoidance to lock the
+         owner and the owner may get hung up.
+
+         ASTERISK-21893 #close
+         Reported by:  Alexandr Gordeev
+
+         Change-Id: Ica3e266ebc7a894b41d762326f08653e1904bb9a
+
+2015-04-16 10:51 +0000 [b764454d4d]  Kevin Harwell <kharwell@digium.com>
+
+       * bridge.c: NULL app causes crash during attended transfer
+
+         Due to a race condition there was a chance that during an attended transfer the
+         channel's application would return NULL. This, of course, would cause a crash
+         when attempting to access the memory. This patch retrieves the channel's app
+         at an earlier time in processing in hopes that the app name is available.
+         However, if it is not then "unknown" is used instead. Since some string value
+         is now always present the crash can no longer occur.
+
+         ASTERISK-24869 #close
+         Reported by: viniciusfontes
+         Review:
+
+         Change-Id: I5134b84c4524906d8148817719d76ffb306488ac
+
+2015-05-06 13:24 +0000 [6433b697ae]  Joshua Colp <jcolp@digium.com>
+
+       * res_pjsip_exten_state: Fix race condition between sending NOTIFY and termination
+
+         The res_pjsip_exten_state module currently has a race condition between
+         processing the extension state callback from the PBX core and processing
+         the subscription shutdown callback from res_pjsip_pubsub. There is currently
+         no synchronization between the two. This can present a problem as while
+         the SIP subscription will remain valid the tree it points to may not.
+         This is in particular a problem as a task to send a NOTIFY may get queued
+         which will try to use the tree that may no longer be valid.
+
+         This change does the following to fix this problem:
+
+         1. All access to the subscription tree is done within the task that
+         sends the NOTIFY to ensure that no other thread is modifying or
+         destroying the tree. This task executes on the serializer for the
+         subscriptions.
+
+         2. A reference to the subscription serializer is kept to ensure it
+         remains valid for the lifetime of the extension state subscription.
+
+         3. The NOTIFY task has been changed so it will no longer attempt
+         to send a NOTIFY if the subscription has already been terminated.
+
+         ASTERISK-25057 #close
+         Reported by: Matt Jordan
+
+         Change-Id: I0b3cd2fac5be8d9b3dc5e693aaa79846eeaf5643
+
+2015-01-19 07:18 +0000 [bf31a486cb]  Joshua Colp <jcolp@digium.com>
+
+       * res_pjsip / res_pjsip_multihomed: Use the correct transport and addressing information on UAS sessions.
+
+         The first thing this patch fixes is UAS dialogs. Previously if a transport was
+         configured on an endpoint and an inbound session was created there was no guarantee
+         that requests sent on the dialog would use the correct transport and address
+         information. This has now been fixed so an explicitly configured transport
+         is taken into account.
+
+         The second thing this patch fixes is res_pjsip_multihomed. The res_pjsip_multihomed
+         module attempts to determine what transport a message should go out on and what
+         addressing information should go into the message itself. In a scenario where
+         multiple transports exist bound to the same IP address but a different port the
+         code would incorrectly alter the transport and change the message to the wrong
+         transport. This change makes the res_pjsip_multihomed module smarter so it will
+         only change the transport and address information in the message when it is
+         possible and makes sense.
+
+         ASTERISK-24615 #close
+         Reported by: David Justl
+
+         Change-Id: I5b57362201cc8c6555834ec8707e9fbddeff7904
+
+2015-05-04 12:16 +0000 [7c687c8e54]  Joshua Colp <jcolp@digium.com>
+
+       * stasis: Fix dial masquerade datastore lifetime
+
+         A recent change went into Asterisk which added reference counts to the
+         channels stored in a dial masquerade datastore. Unfortunately this
+         included a reference to the caller in a dialing operation. While all
+         of the dialed targets have the datastore removed from them upon dialing
+         completion this did not occur for the caller, causing it to have a
+         reference to itself that could go never go away (as it depended on
+         the destruction of the datastore which only happened when the channel
+         was destroyed). This resulted in the caller channel remaining on the
+         system despite it having hung up.
+
+         This change does the following to fix this issue:
+
+         1. The dial masquerade datastore is now removed from the caller upon
+         dialing completion, just like the dialed targets.
+         2. Upon destruction of the caller all the dialed targets are also
+         removed from the dial masquerade datastore (just in case).
+         3. The reference to the caller has been removed as it should not be
+         possible for the datastore to now be valid/useful after the lifetime
+         of the caller has ended.
+
+         ASTERISK-25025 #close
+
+         Change-Id: I1ef4ca5ca04980028604cc2af5d2992ac3431b3f
+
+2015-04-29 14:29 +0000 [0602409c89]  Richard Mudgett <rmudgett@digium.com>
+
+       * chan_dahdi: Add the chan_dahdi.conf force_restart_unavailable_chans option.
+
+         Some telco switches occasionally ignore ISDN RESTART requests.  The fix
+         for ASTERISK-19608 added an escape clause for B channels in the restarting
+         state if the telco ignores a RESTART request.  If the telco fails to
+         acknowledge the RESTART then Asterisk will assume the telco acknowledged
+         the RESTART on the second call attempt requesting the B channel by the
+         telco.  The escape clause is good for dealing with RESTART requests in
+         general but it does cause the next call for the restarting B channel to be
+         rejected if the telco insists the call must go on that B channel.
+
+         chan_dahdi doesn't really need to issue a RESTART request in response to
+         receiving a cause 44 (Requested channel not available) code.  Sending the
+         RESTART in such a situation is not required (nor prohibited) by the
+         standards.  I think chan_dahdi does this for historical reasons to deal
+         with buggy peers to get channels unstuck in a similar fashion as the
+         chan_dahdi.conf resetinterval option.
+
+         * Add the chan_dahdi.conf force_restart_unavailable_chans compatability
+         option that when disabled will prevent chan_dahdi from trying to RESTART
+         the channel in response to a cause 44 code.
+
+         ASTERISK-25034 #close
+         Reported by: Richard Mudgett
+
+         Change-Id: Ib8b17a438799920f4a2038826ff99a1884042f65
+
+2015-04-30 15:20 +0000 [c6c06bbe70]  Mark Michelson <mmichelson@digium.com>
+
+       * Prevent potential crash on blond transfer.
+
+         Scenario:
+         Alice calls Bob. Bob performs a blond transfer to Carol. Carol rejects
+         the incoming call (or some other immediate circumstance causes Carol not
+         to answer the call)
+
+         What occurs in this case is that when the bridge between Alice and Bob
+         breaks, Alice is told to masquerade into Bob's channel that had placed
+         the call to Carol. The actual masquerade goes down without a hitch.
+         However, a channel fixup callback that attempts to publish dial events
+         over Stasis has a crash. The reason for this crash is that the datastore
+         on Bob's channel that placed the outbound call to Carol only had a bare
+         pointer to Carol's channel. Since Carol rejected the incoming call,
+         Carol's channel has been hung up and freed, meaning accessing her
+         channel results in a crash.
+
+         The fix here is simple. The dial fixup code has been altered to hold
+         references to the involved channels and to drop those references when
+         freeing data.
+
+         ASTERISK-25025 #close
+         Reported by Chet Stevens
+
+         Change-Id: I54eedda207b8ec7a69263353b43abe5746aea197
+
+2015-04-30 14:09 +0000 [08a4cf3237]  Mark Michelson <mmichelson@digium.com>
+
+       * res_pjsip_outbound_authenticator_digest: Add missing outbound authenticator callback.
+
+         The Asterisk 13 version of the fix for outbound registration was missing
+         a key component that set the outbound authenticator's callback that
+         creates an authenticated request based on an old request. This was
+         picked up by some outbound registration tests failing in the testsuite.
+
+         Change-Id: I5ca9379698c606da36bc38eaffccedaf64211ce3
+2015-04-30 06:04 +0000 [47df4e031c]  Joshua Colp <jcolp@digium.com>
+
+       * res_pjsip_outbound_registration: Fix double unref on error return.
+
+         When the PJSIP pjsip_regc_send function is invoked and an error
+         status returned the caller currently decrements the reference count
+         of the client state that it just incremented, assuming the
+         registration callback would not have been invoked. In practice
+         this is not correct. If the failure happens after the transaction
+         has been set up the callback will still be invoked. This will
+         cause the reference count to be incorrectly decremented twice, once
+         by the registration callback and second by the caller of
+         pjsip_regc_send.
+
+         This change makes it so that whether the callback is invoked or
+         not is known by the caller of pjsip_regc_send. Depending on
+         this it can know whether it is responsible for decrementing the
+         reference count of the client state or not.
+
+         ASTERISK-25037 #close
+         Reported by: Joshua Colp
+
+         Change-Id: I749dc12f3a22115c49c5d7d95ff42a5fa45319de
+
+2015-04-27 16:56 +0000 [11d85ea251]  Mark Michelson <mmichelson@digium.com>
+
+       * res_pjsip_outbound_registration: Don't fail on delayed processing: 13.
+
+         This is the Asterisk 13 version of a change to master that allows for
+         registration responses to be processed successfully potentially after
+         the original transaction has timed out. The main difference between this
+         and the master change is that the master version has API changes that
+         are unacceptable for 13. For 13, this is worked around by adding a new
+         API call that the outbound registration code uses instead.
+
+         The following is the text from the master version of this commit:
+
+         Odd behaviors have been observed during outbound registrations. The most
+         common problem witnessed has been one where a request with
+         authentication credentials cannot be created after receiving a 401
+         response. Other behaviors include apparently processing an incorrect SIP
+         response.
+
+         Inspecting the code led to an apparent issue with regards to how we
+         handle transactions in outbound registration code. When a response to a
+         REGISTER arrives, we save a pointer to the transaction and then push a
+         task onto the registration serializer. Between the time that we save the
+         pointer and push the task, it's possible for the transaction to be
+         destroyed due to a timeout. It's also possible for the address to be
+         reused by the transaction layer for a new transaction.
+
+         To allow for authentication of a REGISTER request to be authenticated
+         after the transaction has timed out, we now also hold a reference to the
+         original REGISTER request instead of the transaction. The function for
+         creating a request with authentication has been altered to take the
+         original request instead of the transaction where the original request
+         was sent.
+
+         ASTERISK-25020
+         Reported by Mark Michelson
+
+         Change-Id: If1ee5f601be839479a219424f0358a229f358f7c
+
+2015-04-27 14:44 +0000 [0037ca59a6]  Mark Michelson <mmichelson@digium.com>
+
+       * res_pjsip_outbound_registration: Add debugging messages.
+
+         When problems occur regarding outbound registrations, it currently
+         is difficult to debug. Most off-nominal paths had warning messages,
+         but sometimes we want to know what's going on before hitting the
+         off-nominal path. This patch adds lots of debugging output that
+         should give a clearer picture of what is happening with regards
+         to outbound registrations.
+
+         ASTERISK-25020
+         Reported by Mark Michelson
+
+         Change-Id: I577bde7860be0a6c872b5bcb4d5047340bf45d45
+
+2015-04-11 10:10 +0000 [e84fcb2464]  Juergen Spies (License 6698)
+
+       * res/res_pjsip_t38: Add missing initialization of t38faxmaxdatagram
+
+         Prior to this patch, the far_max_datagram value on the UDPTL structure would
+         remain -1 if the remote endpoint fails to provide the SDP media attribute
+         T38FaxMaxDatagram. This can result in the INVITE request being rejected. With
+         this patch, we will now properly initialize the value with either the default
+         value or with the value provided by pjsip.conf's t38_udptl_maxdatagram
+         parameter.
+
+         Review: https://reviewboard.asterisk.org/r/4589
+
+         ASTERISK-24928 #close
+         Reported by: Juergen Spies
+         Tested by: Juergen Spies
+         patches:
+           pjsipT38patch20150331.txt submitted by Juergen Spies (License 6698)
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+         Change-Id: I15bde169fd59a224a02005fec9a439f0679a375e
+
+2015-04-23 12:54 +0000 [008076ecf4]  Mark Michelson <mmichelson@digium.com>
+
+       * res_pjsip_t38: Don't crash on authenticated reinvite after originated T.38 FAX.
+
+         When Asterisk originates a channel to an application, the channel is
+         hung up once the application finishes executing. When the application
+         in question is SendFax, the Asterisk PJSIP code will attempt to reinvite
+         the T.38 session to audio after the FAX completes. The hangup of the
+         channel happens in the midst of this reinvite transaction. In most
+         circumstances, this works out okay because the BYE is delayed until the
+         reinvite transaction can complete.
+
+         However, if the reinvite that Asterisk sends receives a 401/407
+         response, then Asterisk's attempt to re-send the reinvite with
+         authentication will fail. This is because the session supplement in
+         res_pjsip_t38 makes the assumption that the channel on the session will
+         always be non-NULL. Since the channel has been hung up, though, the
+         channel is now NULL. Attempting to operate on the channel causes a
+         crash.
+
+         This patch fixes the issue by ensuring that the channel on the session
+         is not NULL before attempting to mess with the T.38 framehook.
+
+         This patch also contains some corrections for comments that were
+         incorrect and really confused me when I first started looking at the
+         code.
+
+         ASTERISK-25004 #close
+         Reported by Mark Michelson
+
+         Change-Id: Ic5a1230668369dda4bb13524098aed9306ab45a0
+
+2015-04-15 10:38 +0000 [1bb6122f35]  Mark Michelson <mmichelson@digium.com>
+
+       * Detect potential forwarding loops based on count.
+
+         A potential problem that can arise is the following:
+
+         * Bob's phone is programmed to automatically forward to Carol.
+         * Carol's phone is programmed to automatically forward to Bob.
+         * Alice calls Bob.
+
+         If left unchecked, this results in an endless loops of call forwards
+         that would eventually result in some sort of fiery crash.
+
+         Asterisk's method of solving this issue was to track which interfaces
+         had been dialed. If a destination were dialed a second time, then
+         the attempt to call that destination would fail since a loop was
+         detected.
+
+         The problem with this method is that call forwarding has evolved. Some
+         SIP phones allow for a user to manually forward an incoming call to an
+         ad-hoc destination. This can mean that:
+
+         * There are legitimate use cases where a device may be dialed multiple
+         times, or
+         * There can be human error when forwarding calls.
+
+         This change removes the old method of detecting forwarding loops in
+         favor of keeping a count of the number of destinations a channel has
+         dialed on a particular branch of a call. If the number exceeds the
+         set number of max forwards, then the call fails. This approach has
+         the following advantages over the old:
+
+         * It is much simpler.
+         * It can detect loops involving local channels.
+         * It is user configurable.
+
+         The only disadvantage it has is that in the case where there is a
+         legitimate forwarding loop present, it takes longer to detect it.
+         However, the forwarding loop is still properly detected and the
+         call is cleaned up as it should be.
+
+         Address review feedback on gerrit.
+
+         * Correct "mfgium" to "Digium"
+         * Decrement max forwards by one in the case where allocation of the
+           max forwards datastore is required.
+         * Remove irrelevant code change from pjsip_global_headers.c
+
+         ASTERISK-24958 #close
+
+         Change-Id: Ia7e4b7cd3bccfbd34d9a859838356931bba56c23
+
+2015-04-15 16:08 +0000 [cb67aae596]  gtjoseph <george.joseph@fairview5.com>
+
+       * More .gitignore updates
+
+         Added .pyc and .sha1 to the top-level .gitignore.
+
+         Change-Id: I7dfc4f554d54d22947b38140d3305007503cc16a
+         Tested-by: George Joseph <george.joseph@fairview5.com>
+
+2015-04-13 19:06 +0000 [70fab74baf]  gtjoseph <george.joseph@fairview5.com>
+
+       * .gitignore updates for master/13
+
+         Added products of ./bootstrap
+
+         Added nmenuselect and gmenuselect to menuselect/
+
+         Change-Id: Ied658463958bafc04a9aff9ebc28e40c116a6e35
+
+2015-04-13 09:54 +0000 [735bea479a]  Matt Jordan <mjordan@digium.com>
+
+       * build_tools/make_version: Update version parsing for Git migration
+
+         External systems - such as the Asterisk Test Suite - require knowledge of the
+         upstream branch. Unfortunately, after moving to Git, the Asterisk version
+         currently consists of only a 'GIT" prefix followed by an object blob,
+         e.g., GIT-as08d7. This makes it difficult for such systems to know what
+         features are available in a particular check out of Asterisk.
+
+         This patch fixes this by hardcoding the branch in a variable in the
+         make_version script. Since the mainline branches are not changed often -
+         typically only once a year - this is a reasonable approach to solving
+         the problem, and is more reliable than parsing the output of 'git branch
+         -vv'. Branches that track off of an upstream primary branch will then get the
+         benefit of knowing which mainline branch they are currently based off
+         of.
+
+         ASTERISK-24954 #close
+
+         Change-Id: I8090d5d548b6d19e917157ed530b914b7eaf9799
+
+2015-04-12 12:59 +0000 [7d64479748]  Matt Jordan <mjordan@digium.com>
+
+       * git migration: Remove support for file versions
+
+         Git does not support the ability to replace a token with a version
+         string during check-in. While it does have support for replacing a
+         token on clone, this is somewhat sub-optimal: the token is replaced
+         with the object hash, which is not particularly easy for human
+         consumption. What's more, in practice, the source file version was often
+         not terribly useful. Generally, when triaging bugs, the overall version
+         of Asterisk is far more useful than an individual SVN version of a file.
+         As a result, this patch removes Asterisk's support for showing source file
+         versions.
+
+         Specifically, it does the following:
+         * main/asterisk:
+           - Refactor the file_version structure to reflect that it no longer
+             tracks a version field.
+           - Alter the "core show file version" CLI command such that it always
+             reports the version of Asterisk. The file version is no longer
+             available.
+
+         * main/manager: The Version key now always reports the Asterisk version.
+
+         * UPGRADE: Add notes for:
+           - Modification to the ModuleCheck AMI Action.
+           - Modification of the "core show file version" CLI command.
+
+         Change-Id: Ia932d3c64cd18a14a3c894109baa657ec0a85d28
+
+2015-04-12 06:12 +0000 [9237e8b11e]  Corey Farrell <git@cfware.com>
+
+       * main/editline: Add .gitignore.
+
+         This patch adds a .gitignore for main/editline to ignore all build results.
+
+         Change-Id: I68c7bf375ea46282689e5a706534b69fca233b5d
+
+2015-04-11 23:22 +0000 [630dbcb8b4]  Matt Jordan <mjordan@digium.com>
+
+       * .gitignore: Ignore tarballs (*.gz)
+
+         This patch updates the root .gitignore file to ignore files with a .gz
+         extension. This will cause git to ignore downloaded sound tarballs in
+         the the sounds/ directory.
+
+         Change-Id: I1e42fbfa02a8884231507b683e8e49ac3e278aaa
+
+2015-04-11 13:20 +0000 [e4892f9aa4]  gtjoseph <george.joseph@fairview5.com>
+
+       * Add .gitignore and .gitreview files
+
+         Add the .gitignore and .gitreview files to the asterisk repo.
+
+         NB:  You can add local ignores to the .git/info/exclude file
+         without having to do a commit.
+
+         Common ignore patterns are in the top-level .gitignore file.
+         Subdirectory-specific ignore patterns are in their own .gitignore
+         files.
+
+         Change-Id: I4c8af3b8e3739957db545f7368ac53f38e99f696
+         Tested-by: George Joseph
+
+2015-04-14 14:04 +0000 [677898f839]  Joshua Colp <jcolp@digium.com>
+
+       * res_pjsip_mwi: Send unsolicited MWI NOTIFY on startup and when endpoint registers.
+
+         Currently the res_pjsip_mwi module only sends an unsolicited MWI NOTIFY upon
+         a mailbox state change (such as a new message being left, or one being deleted).
+         In practice this is not sufficient to keep clients aware of the current MWI status.
+
+         This change makes the module send unsolicited MWI NOTIFY on startup so that
+         clients are guaranteed to have the most up to date MWI information. It also makes
+         clients receive an unsolicited MWI NOTIFY upon registration so if they are unaware
+         of the current MWI status they receive it.
+
+         ASTERISK-24982 #close
+         Reported by: Joshua Colp
+
+         Change-Id: I043f20230227e91218f18a82c7d5bb2aa62b1d58
+
+2015-04-08 13:19 +0000 [918ca7dd36]  Jonathan Rose <jrose@digium.com>
+
+       * res_pjsip_t38: Fix FAX failures when using PJSIP with authentication
+
+         Without this patch, if a PJSIP endpoint with udptl enabled and authentication
+         set attempted to use sendFax, the FAX session would fail during setup. This
+         was because the invite issued in response to being auth challenged would cause
+         the PJSIP channel performing the FAX to receive a second T38 framehook and
+         this would cause frames to be consumed in an inappropriate manner.
+
+         ASTERISK-24933 #close
+         Reported by: Jonathan Rose
+         Review: https://reviewboard.asterisk.org/r/4577/
+         ........
+
+         Merged revisions 434425 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@434428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-04-08 12:24 +0000 [08945a5c77]  Maciej Szmigiero <mail@maciej.szmigiero.name> (license 6085)
+
+       * Security/tcptls: MitM Attack potential from certificate with NULL byte in CN.
+
+         When registering to a SIP server with TLS, Asterisk will accept CA signed
+         certificates with a common name that was signed for a domain other than the
+         one requested if it contains a null character in the common name portion of
+         the cert. This patch fixes that by checking that the common name length
+         matches the the length of the content we actually read from the common name
+         segment. Some certificate authorities automatically sign CA requests when
+         the requesting CN isn't already taken, so an attacker could potentially
+         register a CN with something like www.google.com\x00www.secretlyevil.net
+         and have their certificate signed and Asterisk would accept that certificate
+         as though it had been for www.google.com - this is a security fix and is
+         noted in AST-2015-003.
+
+         ASTERISK-24847 #close
+         Reported by: Maciej Szmigiero
+         Patches:
+          asterisk-null-in-cn.patch submitted by mhej (license 6085)
+         ........
+
+         Merged revisions 434337 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+         ........
+
+         Merged revisions 434338 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........
+
+         Merged revisions 434384 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@434418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-04-07 10:35 +0000 [45f09898e9]  Mark Michelson <mmichelson@digium.com>
+
+       * Do not queue message requests that we do not respond to.
+
+         If we receive a MESSAGE request that we cannot send a response
+         to, we should not send the incoming MESSAGE to the dialplan.
+
+         This commit should help the bouncing message_retrans test to
+         pass consistently.
+         ........
+
+         Merged revisions 434218 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@434220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-04-03 16:59 +0000 [42b7ebdd4d]  Mark Michelson <mmichelson@digium.com>
+
+       * res_pjsip_messaging: Serialize outbound SIP MESSAGEs
+
+         Outbound SIP MESSAGEs had the potential to be sent out
+         of order from how they were specified in a set of
+         dialplan steps.
+
+         This change creates a serializer for sending outbound
+         MESSAGE requests on. This ensures that the MESSAGEs are
+         sent by Asterisk in the same order that they were sent
+         from the dialplan.
+
+         ASTERISK-24937 #close
+         Reported by Mark Michelson
+
+         Review: https://reviewboard.asterisk.org/r/4579
+         ........
+
+         Merged revisions 433968 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-04-01 15:32 +0000 [b6fff2719d]  Mark Michelson <mmichelson@digium.com>
+
+       * core: avoid possible asterisk -r crash from long id
+
+         When connecting to the remote console, an id string
+         is first provided that consts of the hostname, pid,
+         and version.  This is parsed by the remote instance
+         using a buffer that may be too short, and can allow
+         a buffer overrun because it is not terminated. This
+         patch adds termination and a larger buffer.
+
+         Review: https://reviewboard.asterisk.org/r/4182/
+
+         AFS-254
+         ........
+
+         Merged revisions 429223 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-04-01 11:29 +0000 [8ae3670781]  Ashley Sanders <asanders@digium.com>
+
+       * stasis: set a channel variable on websocket disconnect error
+
+         Resolve compile errors caused by r433863 by fixing the
+         documentation xml to comply with the schema.
+         ........
+
+         Merged revisions 433888 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-31 22:39 +0000 [259227eb1a]  Ashley Sanders <asanders@digium.com>
+
+       * stasis: set a channel variable on websocket disconnect error
+
+         Resolve compile errors caused by r433839 by included the missing
+         header file, pbx.h.
+         ........
+
+         Merged revisions 433863 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-31 17:34 +0000 [758fead630]  Ashley Sanders <asanders@digium.com>
+
+       * stasis: set a channel variable on websocket disconnect error
+
+         When an error occurs while writing to a web socket, the web socket is
+         disconnected and the event is logged. A side-effect of this, however, is that
+         any application on the other side waiting for a response from Stasis is left
+         hanging indefinitely (as there is no mechanism presently available for
+         notifying interested parties about web socket error states in Stasis).
+
+         To remedy this scenario, this patch introduces a new channel variable:
+         STASISSTATUS.
+
+         The possible values for STASISSTATUS are:
+         SUCCESS         - The channel has exited Stasis without any failures
+         FAILED          - Something caused Stasis to croak. Some (not all) possible
+                           reasons for this:
+                             - The app registry is not instantiated;
+                             - The app requested is not registered;
+                             - The app requested is not active;
+                             - Stasis couldn't send a start message
+
+         ASTERISK-24802
+         Reported By: Kevin Harwell
+         Review: https://reviewboard.asterisk.org/r/4519/
+         ........
+
+         Merged revisions 433839 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-27 15:55 +0000 [b5b44876c2]  Mark Michelson <mmichelson@digium.com>
+
+       * Add stateful PJSIP response API call, and use it for out-of-dialog responses.
+
+         Asterisk had an issue where retransmissions of MESSAGE requests resulted in
+         Asterisk processing the retransmission as if it were a new MESSAGE request.
+
+         This patch fixes the issue by creating a transaction in PJSIP on the incoming
+         request. This way, if a retransmission arrives, the PJSIP transaction layer
+         will resend the response and Asterisk will not ever see the retransmission.
+
+         ASTERISK-24920 #close
+         Reported by Mark Michelson
+
+         Review: https://reviewboard.asterisk.org/r/4532/
+         ........
+
+         Merged revisions 433619 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-27 15:25 +0000 [66b8c7cab4]  Richard Mudgett <rmudgett@digium.com>
+
+       * res_pjsip_registrar_expire.c: Cleanup scheduler leaks on unload/shutdown.
+
+         Contact expiration object refs were leaked when the module was unloaded.
+
+         * Made empty the scheduler of entries before destroying it to release the
+         object ref held by the scheduler entry.
+
+         Review: https://reviewboard.asterisk.org/r/4523/
+         ........
+
+         Merged revisions 433596 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-20 14:57 +0000 [fb7062afca]  Richard Mudgett <rmudgett@digium.com>
+
+       * Audit ast_pjsip_rdata_get_endpoint() usage for ref leaks.
+
+         Valgrind found some memory leaks associated with
+         ast_pjsip_rdata_get_endpoint().  The leaks would manifest when sending
+         responses to OPTIONS requests, processing MESSAGE requests, and
+         res_pjsip supplements implementing the incoming_request callback.
+
+         * Fix ast_pjsip_rdata_get_endpoint() endpoint ref leaks in
+         res/res_pjsip.c:supplement_on_rx_request(),
+         res/res_pjsip/pjsip_options.c:send_options_response(),
+         res/res_pjsip_messaging.c:rx_data_to_ast_msg(), and
+         res/res_pjsip_messaging.c:send_response().
+
+         * Eliminated RAII_VAR() use with ast_pjsip_rdata_get_endpoint() in
+         res/res_pjsip_nat.c:nat_on_rx_message().
+
+         * Fixed inconsistent but benign return value in
+         res/res_pjsip/pjsip_options.c:options_on_rx_request().
+
+         Review: https://reviewboard.asterisk.org/r/4511/
+         ........
+
+         Merged revisions 433222 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-20 14:04 +0000 [cf9799845f]  Richard Mudgett <rmudgett@digium.com>
+
+       * res_pjsip_sdp_rtp,sorcery: Fix invalid access and memory leak respectively.
+
+         Valgrind found a memory leak and invalid access.
+
+         * Fix invalid access by sscanf() being fed a non-nul terminated string of
+         digits in res/res_pjsip_sdp_rtp.c:get_codecs().
+
+         * Fix memory leak in main/sorcery.c:sorcery_object_field_destructor().
+
+         * Fix potential NULL pointer dereference in
+         main/xmldoc.c:xmldoc_get_syntax_config_option().
+
+         Review: https://reviewboard.asterisk.org/r/4513/
+         ........
+
+         Merged revisions 433199 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-17 16:56 +0000 [90fc65da62]  Richard Mudgett <rmudgett@digium.com>
+
+       * Audit ast_sockaddr_resolve() usage for memory leaks.
+
+         Valgrind found some memory leaks associated with ast_sockaddr_resolve().
+         Most of the leaks had already been fixed by earlier memory leak hunt
+         patches.  This patch performs an audit of ast_sockaddr_resolve() and found
+         one more.
+
+         * Fix ast_sockaddr_resolve() memory leak in
+         apps/app_externalivr.c:app_exec().
+
+         * Made main/netsock2.c:ast_sockaddr_resolve() always set the addrs
+         parameter for safety so the pointer will never be uninitialized on return.
+         The same goes for res/res_pjsip_acl.c:extract_contact_addr().
+
+         * Made functions that call ast_sockaddr_resolve() with RAII_VAR()
+         controlling the addrs variable use ast_free instead of ast_free_ptr to
+         provide better MALLOC_DEBUG information.
+
+         Review: https://reviewboard.asterisk.org/r/4509/
+         ........
+
+         Merged revisions 433056 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........
+
+         Merged revisions 433057 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-17 13:44 +0000 [e0b644ddb7]  Kevin Harwell <kharwell@digium.com>
+
+       * res_pjsip: Allow configuration of endpoint identifier query order
+
+         Updated some documentation stating that endpoint identifiers registered without
+         a name are place at the front of the lookup list. Also renamed register method
+         'ast_sip_register_endpoint_identifier_by_name' to
+         'ast_sip_register_endpoint_identifier_with_name'
+
+         ASTERISK-24840
+         Reported by: Mark Michelson
+         ........
+
+         Merged revisions 433031 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-17 13:43 +0000 [d7c8041f6b]  Kevin Harwell <kharwell@digium.com>
+
+       * res_pjsip: Allow configuration of endpoint identifier query order
+
+         This patch fixes previously reverted code that caused binary incompatibility
+         problems with some modules. And like the original patch it makes sure that
+         no matter what order the endpoint identifier modules were loaded, priority is
+         given based on the ones specified in the new global 'endpoint_identifier_order'
+         option.
+
+         ASTERISK-24840
+         Reported by: Mark Michelson
+         Review: https://reviewboard.asterisk.org/r/4489/
+         ........
+
+         Merged revisions 433028 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-17 11:25 +0000 [cd4e18c4cc]  Richard Mudgett <rmudgett@digium.com>
+
+       * Multiple revisions 431583,433005
+
+         ........
+           r431583 | sgriepentrog | 2015-02-06 15:26:12 -0600 (Fri, 06 Feb 2015) | 10 lines
+           
+           various: cleanup issues found during leak hunt
+           
+           In this collection of small patches to prevent
+           Valgrind errors are: fixes for reference leaks
+           in config hooks, evaluating a parameter beyond
+           bounds, and accessing a structure after a lock
+           where it could have been already free'd.
+           
+           Review: https://reviewboard.asterisk.org/r/4407/
+         ........
+           r433005 | rmudgett | 2015-03-17 11:10:39 -0500 (Tue, 17 Mar 2015) | 1 line
+           
+           res_pjsip: Add reason comment.
+         ........
+
+         Merged revisions 431583,433005 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@433025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-13 10:51 +0000 [6cd70450fd]  Kevin Harwell <kharwell@digium.com>
+
+       * Revert - res_pjsip: Allow configuration of endpoint identifier query order
+
+         Due to a break in binary compatibility with some other modules these changes
+         are being reverted until the issue can be resolved.
+
+         ASTERISK-24840
+         Reported by: Mark Michelson
+         ........
+
+         Merged revisions 432868 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@432888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-09 11:44 +0000 [4eb1dd4b35]  Kevin Harwell <kharwell@digium.com>
+
+       * res_pjsip: Allow configuration of endpoint identifier query order
+
+         It's possible to have a scenario that will create a conflict between endpoint
+         identifiers. For instance an incoming call could be identified by two different
+         endpoint identifiers and the one chosen depended upon which identifier module
+         loaded first. This of course causes problems when, for example, the incoming
+         call is expected to be identified by username, but instead is identified by ip.
+         This patch adds a new 'global' option to res_pjsip called
+         'endpoint_identifier_order'. It is a comma separated list of endpoint
+         identifier names that specifies the order by which identifiers are processed
+         and checked.
+
+         ASTERISK-24840 #close
+         Reported by: Mark Michelson
+         Review: https://reviewboard.asterisk.org/r/4455/
+         ........
+
+         Merged revisions 432638 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@432658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-04 12:53 +0000 [52366a423c]  Matt Jordan <mjordan@digium.com>
+
+       * translate: Prevent invalid memory accesses on fast shutdown
+
+         When a 'core restart now' or 'core stop now' is executed and a channel is
+         currently in a media operation, the translator matrix can be destroyed while a
+         channel is currently blocked on getting the best translation choice
+         (see ast_translator_best_choice). When the channel gets the mutex, the
+         translation matrix now has invalid memory, and Asterisk crashes.
+
+         This patch does two things:
+         (1) We now only clean up the translation matrix on a graceful shutdown. In that
+             case, there are no channels, and so there is no risk of this occurring.
+         (2) We also now set the __matrix and __indextable to NULL. In some initial
+             backtraces when this occurred, it looked as if there was a memory corruption
+             occurring, and it wasn't until we determined that something had restarted
+             Asterisk that the issue became clear. By setting these to NULL on shutdown,
+             it becomes a bit easier to determine why a crash is occurring.
+
+         Note that we could litter the code with NULL checks on the __matrix, but the
+         act of making the translation matrix cleaned up on shutdown should preclude
+         this issue from occurring in the first place, and this part of the code needs
+         to be as fast as possible.
+
+         Review: https://reviewboard.asterisk.org/r/4457/
+         ........
+
+         Merged revisions 432453 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@432454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-03-02 13:15 +0000 [b17d0953b6]  Matt Jordan <mjordan@digium.com>
+
+       * res/res_pjsip_sdp_rtp: Revert portion of r432195
+
+         Unfortunately, while initial testing with ConfBridge did not reproduce the
+         audio problem alluded to in the comment in res_pjsip_sdp_rtp, further testing
+         did show that bridge_softmix and/or ConfBridge has a severe problem bridging
+         two or more participants at different sampling rates. Sometimes, it even picks
+         odd sampling rates that cause hideous audio problems.
+
+         This patch backs out the offending portion of the code until the issues in
+         the affected bridging modules can be more properly analyzed.
+
+         ASTERISK-24841
+         ........
+
+         Merged revisions 432423 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@432424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-02-26 11:15 +0000 [3b4ba353f0]  Kevin Harwell <kharwell@digium.com>
+
+       * app_chanspy, channel: fix frame leaks
+
+         Fixed a couple of frame leaks that were found during testing.
+
+         ASTERISK-24828 #close
+         Reported by: John Hardin
+         Review: https://reviewboard.asterisk.org/r/4445/
+         ........
+
+         Merged revisions 432362 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........
+
+         Merged revisions 432363 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@432365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-02-24 16:01 +0000 [33c73ffeaa]  Matt Jordan <mjordan@digium.com>
+
+       * ARI/PJSIP: Apply requesting channel's format cap to created channels
+
+         This patch addresses the following problems:
+         * ari/resource_channels: In ARI, we currently create a format capability
+           structure of SLIN and apply it to the new channel being created. This was
+           originally done when the PBX core was used to create the channel, as there
+           was a condition where a newly created channel could be created without any
+           formats. Unfortunately, now that the Dial API is being used, this has two
+           drawbacks:
+           (a) SLIN, while it will ensure audio will flows, can cause a lot of
+               needless transcodings to occur, particularly when a Local channel is
+               created to the dialplan. When no format capabilities are available, the
+               Dial API handles this better by handing all audio formats to the requsted
+               channels. As such, we defer to that API to provide the format
+               capabilities.
+           (b) If a channel (requester) is causing this channel to be created, we
+               currently don't use its format capabilities as we are passing in our own.
+               However, the Dial API will use the requester channel's formats if none
+               are passed into it, and the requester channel exists and has format
+               capabilities. This is the "best" scenario, as it is the most likely to
+               create a media path that minimizes transcoding.
+           Fixing this simply entails removing the providing of the format capabilities
+           structure to the Dial API.
+
+         * chan_pjsip: Rather than blindly picking the first format in the format
+           capability structure - which actually *can* be a video or text format - we
+           select an audio format, and only pick the first format if that fails. That
+           minimizes the weird scenario where we attempt to transcode between video/audio.
+
+         * res_pjsip_sdp_rtp: Applied the joint capapbilites to the format structure.
+           Since ast_request already limits us down to one format capability once the
+           format capabilities are passed along, there's no reason to squelch it here.
+
+         * channel: Fixed a comment. The reason we have to minimize our requested
+           format capabilities down to a single format is due to Asterisk's inability
+           to convey the format to be used back "up" a channel chain. Consider the
+           following:
+
+             PJSIP/A => L;1 <=> L;2 => PJSIP/B
+             g,u,a     g,u,a    g,u,a      u
+
+           That is, we have PJSIP/A dialing a Local channel, where the Local;2 dials
+           PJSIP/B. PJSIP/A has native format capabilities g722,ulaw,alaw; the Local
+           channel has inherited those format capabilities down the line; PJSIP/B
+           supports only ulaw. According to these format capabilities, ulaw is
+           acceptable and should be selected across all the channels, and no
+           transcoding should occur. However, there is no way to convey this: when L;2
+           and PJSIP/B are put into a bridge, we will select ulaw, but that is not
+           conveyed to PJSIP/A and L;1. Thus, we end up with:
+
+             PJSIP/A <=> L;1 <=> L;2 <=> PJSIP/B
+               g          g   X   u        u
+
+           Which causes g722 to be written to PJSIP/B.
+
+           Even if we can convey the 'ulaw' choice back up the chain (which through
+           some severe hacking in Local channels was accomplished), such that the chain
+           looks like:
+
+             PJSIP/A <=> L;1 <=> L;2 <=> PJSIP/B
+               u          u       u         u
+
+           We have no way to tell PJSIP/A's *channel driver* to Answer in the SDP back
+           with only 'ulaw'. This results in all the channel structures being set up
+           correctly, but PJSIP/A *still* sending g722 and causing the chain to fall
+           apart.
+
+           There's a lot of difficulty just in setting this up, as there are numerous
+           race conditions in the act of bridging, and no clean mechanism to pass the
+           selected format backwards down an established channel chain. As such, the
+           best that can be done at this point in time is clarifying the comment.
+
+         Review: https://reviewboard.asterisk.org/r/4434/
+
+         ASTERISK-24812 #close
+         Reported by: Matt Jordan
+         ........
+
+         Merged revisions 432195 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@432197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-02-11 12:04 +0000 [3ad393b043]  Kevin Harwell <kharwell@digium.com>
+
+       * res_pjsip: dtls_handler causes Asterisk to crash
+
+         There have been a couple of times where a crash occurred in the dtls_handler
+         section of the code for res_pjsip. Unfortunately, in working this issue the
+         problem was unable to be reproduced. After looking at the backtraces and
+         through the code the current best guess as to why this happened might be due
+         to a reentrance problem and the strtok function. So, the current fix is to
+         convert the strtok function into the reentrant version of the function,
+         strtok_r.
+
+         ASTERISK-24741 #close
+         Reported by: Zane Conkle
+         Review: https://reviewboard.asterisk.org/r/4409/
+         ........
+
+         Merged revisions 431698 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@431700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-02-11 11:52 +0000 [8be00450b9]  Kevin Harwell <kharwell@digium.com>
+
+       * res_http_websocket: websocket write timeout fails to fully disconnect
+
+         When writing to a websocket if a timeout occurred the underlying socket did not
+         get closed/disconnected. This patch makes sure the websocket gets disconnected
+         on a write timeout. Also a notice is logged stating that the websocket was
+         disconnected.
+
+         ASTERISK-24701 #close
+         Reported by: Matt Jordan
+         Review: https://reviewboard.asterisk.org/r/4412/
+         ........
+
+         Merged revisions 431669 from http://svn.asterisk.org/svn/asterisk/branches/11
+         ........
+
+         Merged revisions 431670 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@431697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-02-11 11:48 +0000 [340588c721]  Richard Mudgett <rmudgett@digium.com>
+
+       * HTTP: Stop accepting requests on final system shutdown.
+
+         There are three CLI commands to stop and restart Asterisk each.
+
+         1) core stop/restart now - Hangup all calls and stop or restart Asterisk.
+         New channels are prevented while the shutdown request is pending.
+
+         2) core stop/restart gracefully - Stop or restart Asterisk when there are
+         no calls remaining in the system.  New channels are prevented while the
+         shutdown request is pending.
+
+         3) core stop/restart when convenient - Stop or restart Asterisk when there
+         are no calls in the system.  New calls are not prevented while the
+         shutdown request is pending.
+
+         ARI has made stopping/restarting Asterisk more problematic.  While a
+         shutdown request is pending it is desirable to continue to process ARI
+         HTTP requests for current calls.  To handle the current calls while a
+         shutdown request is pending, a new committed to shutdown phase is needed
+         so ARI applications can deal with the calls until the system is fully
+         committed to shutdown.
+
+         * Added a new shutdown committed phase so ARI applications can deal with
+         calls until the final committed to shutdown phase is reached.
+
+         * Made refuse new HTTP requests when the system has reached the final
+         system shutdown phase.  Starting anything while the system is actively
+         releasing resources and unloading modules is not a good thing.
+
+         * Split the bridging framework shutdown to not cleanup the global bridging
+         containers when shutting down in a hurry.  This is similar to how other
+         modules prevent crashes on rapid system shutdown.
+
+         * Moved ast_begin_shutdown(), ast_cancel_shutdown(), and
+         ast_shutting_down().  You should not have to include channel.h just to
+         access these system functions.
+
+         ASTERISK-24752 #close
+         Reported by: Matthew Jordan
+
+         Review: https://reviewboard.asterisk.org/r/4399/
+         ........
+
+         Merged revisions 431692 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@431696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-02-11 10:19 +0000 [69dc8f9ec2]  Kevin Harwell <kharwell@digium.com>
+
+       * pjsip_options: Fix continued qualifies after endpoint/aor deletion
+
+         If you remove an endpoint/aor from pjsip.conf then do a core reload,
+         qualifies will continue even though the object are gone.  This happens
+         because nothing clears out the qualify tasks.
+
+         This patch unschedules all existing qualify tasks before scheduling
+         new ones on reload.
+
+         Tested-by: George Joseph
+
+         Review: https://reviewboard.asterisk.org/r/4290/
+         ........
+
+         Merged revisions 430064 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@431667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-02-05 09:50 +0000 [2125e1b2de]  Mark Michelson <mmichelson@digium.com>
+
+       * Add Asterisk 13 revision 431420 that fixes disabling 100rel option on PJSIP endpoints.
+
+
+
+         git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/13.1@431573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
+
+2015-04-08  Asterisk Development Team <asteriskteam@digium.com>
+
+       * Certified Asterisk 13.1-cert2 Released.
+
+       * Mitigate MitM attack potential from certificate with NULL byte in CN.
+
+         When registering to a SIP server with TLS, Asterisk will accept CA
+         signed certificates with a common name that was signed for a domain
+         other than the one requested if it contains a null character in the
+         common name portion of the cert. This patch fixes that by checking
+         that the common name length matches the the length of the content we
+         actually read from the common name segment. Some certificate
+         authorities automatically sign CA requests when the requesting CN
+         isn't already taken, so an attacker could potentially register a CN
+         with something like www.google.com\x00www.secretlyevil.net and have
+         their certificate signed and Asterisk would accept that certificate
+         as though it had been for www.google.com.
+
+         ASTERISK-24847 #close
+         Reported by: Maciej Szmigiero
+         patches:
+           asterisk-null-in-cn.patch uploaded by mhej (license 6085)
+
+         AST-2015-003
+
+2015-01-30  Asterisk Development Team <asteriskteam@digium.com>
+
+       * Certified Asterisk 13.1-cert1 Released.
+
+2015-01-30 17:53 +0000 [r431494]  Richard Mudgett <rmudgett@digium.com>
+
+       * apps/app_agent_pool.c, /: app_agent_pool: Fix initial module load
+         agent device state reporting. When the app_agent_pool module
+         initially loads there is a race condition between the thread
+         loading agents.conf and the device state internal processing
+         thread. If the device state internal processing thread handles
+         the agent creation state updates before the thread that loaded
+         agents.conf registers the device state provider callback then the
+         cached agent state is "Invalid". When a consumer module like
+         app_queue asks for the agent state it gets the cached "Invalid"
+         state instead of the real state from the provider. * Moved
+         loading the agents.conf configuration to the last thing setup by
+         app_agent_pool in load_module(). Now the device state provider
+         callback is registered before the config is loaded so the agent
+         creation state updates are guaranteed to get the initial device
+         state. * Removed some now redundant config cleanup on error in
+         load_config(). * Added lock protection when accessing the device
+         state in agent_pvt_devstate_get() and eliminated the RAII_VAR()
+         usage. ASTERISK-24737 #close Reported by: Steve Pitts Review:
+         https://reviewboard.asterisk.org/r/4390/ ........ Merged
+         revisions 431492 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-30 16:50 +0000 [r431470]  Mark Michelson <mmichelson@digium.com>
+
+       * main/stasis_channels.c, channels/chan_pjsip.c, main/xmldoc.c,
+         res/res_pjsip_refer.c, main/pbx.c, main/manager.c,
+         pbx/pbx_spool.c, /, main/bridge_after.c: Fix some memory leaks.
+         These memory leaks were found and fixed by John Hardin. I'm just
+         committing them for him. ASTERISK-24736 #close Reported by Mark
+         Michelson Review: https://reviewboard.asterisk.org/r/4389
+         ........ Merged revisions 431468 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-30 16:41 +0000 [r431467]  Jonathan Rose <jrose@digium.com>
+
+       * main/manager.c, /: Merge r431153 from asterisk/branches/13
+         r431153 | jrose | 2015-01-27 11:22:52 -0600 (Tue, 27 Jan 2015) |
+         9 lines Manager: Fix Manager Action ModuleLoad to give correct
+         response when reloading Prior to this patch, ModuleLoad would
+         respond with an error indicating that the requested module wasn't
+         found in spite of finding and reloading the module. Review:
+         https://reviewboard.asterisk.org/r/4373/ ASTERISK-24721 #close
+
+2015-01-28 21:53 +0000 [r431326-431334]  Mark Michelson <mmichelson@digium.com>
+
+       * funcs/func_curl.c, /: Multiple revisions 431297-431298 ........
+         r431297 | mmichelson | 2015-01-28 11:05:26 -0600 (Wed, 28 Jan
+         2015) | 17 lines Mitigate possible HTTP injection attacks using
+         CURL() function in Asterisk. CVE-2014-8150 disclosed a
+         vulnerability in libcURL where HTTP request injection can be
+         performed given properly-crafted URLs. Since Asterisk makes use
+         of libcURL, and it is possible that users of Asterisk may get
+         cURL URLs from user input or remote sources, we have made a patch
+         to Asterisk to prevent such HTTP injection attacks from
+         originating from Asterisk. ASTERISK-24676 #close Reported by Matt
+         Jordan Review: https://reviewboard.asterisk.org/r/4364
+         AST-2015-002 ........ r431298 | mmichelson | 2015-01-28 11:12:49
+         -0600 (Wed, 28 Jan 2015) | 3 lines Fix compilation error from
+         previous patch. ........ Merged revisions 431297-431298 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 431299 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged
+         revisions 431301 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * res/res_pjsip_t38.c, res/res_pjsip_session.c, /,
+         res/res_pjsip_sdp_rtp.c: Fix file descriptor leak in RTP code.
+         SIP requests that offered codecs incompatible with configured
+         values could result in the allocation of RTP and RTCP ports that
+         would not get reclaimed later. ASTERISK-24666 #close Reported by
+         Y Ateya Review: https://reviewboard.asterisk.org/r/4323
+         AST-2015-001 ........ Merged revisions 431300 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged
+         revisions 431303 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-28 04:11 +0000 [r431244]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c, res/res_pjsip.c,
+         main/sorcery.c: res_pjsip_outbound_registration: Fix reload race
+         condition. Performing a CLI "module reload" command when there
+         are new pjsip.conf registration objects defined frequently failed
+         to load them correctly. What happens is a race condition between
+         res_pjsip pushing its reload into an asynchronous task processor
+         task and the thread that does the rest of the reloads when it
+         gets to reloading the res_pjsip_outbound_registration module. A
+         similar race condition happens between a reload and the CLI/AMI
+         show registrations commands. The reload updates the
+         current_states container and the CLI/AMI commands call
+         get_registrations() which builds a new current_states container.
+         * Made res_pjsip.c reload_module() use
+         ast_sip_push_task_synchronous() instead of ast_sip_push_task() to
+         eliminate two threads processing config reloads at the same time.
+         * Made get_registrations() not replace the global current_states
+         container so the CLI/AMI show registrations command cannot
+         interfere with reloading. You could never add/remove objects in
+         the container without the possibility of the container being
+         replaced out from under you by get_registrations(). * Added a
+         registration loaded sorcery instance observer to purge any dead
+         registration objects since get_registrations() cannot do this job
+         anymore. The struct ast_sorcery_instance_observer callbacks must
+         be used because the callback happens inline with the load
+         process. The struct ast_sorcery_observer callbacks are pushed to
+         a different thread. * Added some global current_states NULL
+         pointer checks in case the container disappears because of
+         unload_module(). * Made sorcery's struct
+         ast_sorcery_instance_observer.object_type_loaded callbacks
+         guaranteed to be called before any struct
+         ast_sorcery_observer.loaded callbacks will be called. * Moved the
+         check for non-reloadable objects to before the sorcery instance
+         loading callbacks happen to short circuit unnecessary work.
+         Previously with non-reloadable objects, the sorcery instance
+         loading/loaded callbacks would always happen, the individual
+         wizard loading/loaded would be prevented, and the non-reloadable
+         type logging message would be logged for each associated wizard.
+         ASTERISK-24729 #close Review:
+         https://reviewboard.asterisk.org/r/4381/ ........ Merged
+         revisions 431243 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-27 23:02 +0000 [r431200-431221]  Kevin Harwell <kharwell@digium.com>
+
+       * main/tcptls.c, /: tcptls: Bad file descriptor error when
+         reloading chan_sip While running through some scenarios using
+         chan_sip and tcp a problem would occur that resulted in a flood
+         of bad file descriptor messages on the cli: tcptls.c:712
+         ast_tcptls_server_root: Accept failed: Bad file descriptor The
+         message is received because the underlying socket has been
+         closed, so is valid. This is probably happening because unloading
+         of chan_sip is not atomic. That however is outside the scope of
+         this patch. This patch simply stops the logging of multiple
+         occurrences of that message. ASTERISK-24728 #close Reported by:
+         Thomas Thompson Review: https://reviewboard.asterisk.org/r/4380/
+         ........ Merged revisions 431218 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 431219 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, channels/chan_sip.c: chan_sip: stale nonce causes failure When
+         refreshing (with a small expiration) a registration that was sent
+         to chan_sip the nonce would be considered stale and reject the
+         registration. What was happening was that the initial
+         registration's "dialog" still existed in the dialogs container
+         and upon refresh the dialog match algorithm would choose that as
+         the "dialog" instead of the newly created one. This occurred
+         because the algorithm did not check to see if the from tag
+         matched if authentication info was available after the 401. So,
+         it ended up assuming the original "dialog" was a match and
+         stopped the search. The old "dialog" of course had an old nonce,
+         thus the stale nonce message. This fix attempts to leave the
+         original functionality alone except in the case of a REGISTER. If
+         a REGISTER is received if searches for an existing "dialog"
+         matching only on the callid. If the expires value is low enough
+         it will reuse dialog that is there, otherwise it will create a
+         new one. ASTERISK-24715 #close Reported by: John Bigelow Review:
+         https://reviewboard.asterisk.org/r/4367/ ........ Merged
+         revisions 431187 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 431194 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-27 17:52 +0000 [r431162]  Richard Mudgett <rmudgett@digium.com>
+
+       * /, apps/confbridge/include/confbridge.h, apps/app_confbridge.c:
+         app_confbridge: Repeatedly starting and stopping recording ref
+         leaks the recording channel. Starting and stopping conference
+         recording more than once causes the recording channels to be
+         leaked. For v13 the channels also show up in the CLI "core show
+         channels" output. * Reworked and simplified the recording channel
+         code to use ast_bridge_impart() instead of managing the recording
+         thread in the ConfBridge code. The recording channel's ref
+         handling easily falls into place and other off nominal code paths
+         get handled better as a result. ASTERISK-24719 #close Reported
+         by: John Bigelow Review: https://reviewboard.asterisk.org/r/4368/
+         Review: https://reviewboard.asterisk.org/r/4369/ ........ Merged
+         revisions 431135 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 431160 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-27 17:35 +0000 [r431159]  Joshua Colp <jcolp@digium.com>
+
+       * res/res_pjsip_sdp_rtp.c, main/bridge_channel.c, /: bridge /
+         res_pjsip_sdp_rtp: Fix issues with media not being reinvited
+         during direct media. This change fixes two issues: 1. During a
+         swap operation bridging added the new channel before having the
+         swap channel leave. This was not handled in bridge_native_rtp and
+         could result in a channel not getting reinvited back to Asterisk.
+         After this change the swap channel will leave first and the new
+         channel will then join. 2. If a re-invite was received after a
+         session had been established any upstream elements (such as
+         bridge_native_rtp) were not notified that they may want to
+         re-evaluate things. After this change an UPDATE_RTP_PEER control
+         frame is queued when this situation occurs and upstream can
+         react. AST-1524 #close Review:
+         https://reviewboard.asterisk.org/r/4378/ ........ Merged
+         revisions 431157 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-27 17:18 +0000 [r431140]  Matthew Jordan <mjordan@digium.com>
+
+       * /, apps/confbridge/include/confbridge.h,
+         apps/confbridge/conf_config_parser.c: app_confbridge: Restore
+         user's menu name to CLI output of 'confbridge list' When issuing
+         a 'confbridge list XXXX' CLI command, the resulting output no
+         longer displays the menu associated with a ConfBridge
+         participant. The issue was caused by ASTERISK-22760. When that
+         patch was done, it removed the copying of the menu name
+         associated with the user from the actual user profile. This patch
+         fixes the issue by copying the menu name over to the user profile
+         when the menu hooks are applied to the user. Since that function
+         now does a little bit more than just apply the hooks, the name of
+         the function has been changed to cover the copying of the menu
+         name over as well. In addition, there is a disparity between the
+         menu name length as it is stored on the conf_menu structure and
+         the confbridge_user structure; this patch makes the lengths match
+         so that a strcpy can be used. Review:
+         https://reviewboard.asterisk.org/r/4372/ ASTERISK-24723 #close
+         Reported by: Steve Pitts ........ Merged revisions 431134 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-27 11:48 +0000 [r431116]  Joshua Colp <jcolp@digium.com>
+
+       * res/parking/parking_manager.c, /: res_parking: Fix crash due to
+         race condition when unloading. There is currently a race
+         condition when unloading the res_parking module. Depending on the
+         will of the universe the subscription invocation may occur AFTER
+         the module is unloaded. This is because the module does NOT use
+         stasis_unsubscribe_and_join when terminating the subscription. It
+         merely uses stasis_unsubscribe. This change makes it use
+         stasis_unsubscribe_and_join which is documented for usage in this
+         exact scenario. AST-1520 #close Review:
+         https://reviewboard.asterisk.org/r/4375/ ........ Merged
+         revisions 431114 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-23 15:24 +0000 [r431016]  Kevin Harwell <kharwell@digium.com>
+
+       * res/res_ari_events.c, include/asterisk/stasis_app.h,
+         res/res_pjsip_mwi.c, res/parking/parking_applications.c,
+         channels/chan_iax2.c, res/res_pjsip/pjsip_global_headers.c,
+         res/res_pjsip_pubsub.c, res/res_ari_channels.c, res/res_stasis.c,
+         rest-api-templates/param_parsing.mustache, /,
+         res/res_ari_endpoints.c: Investigate and fix memory leaks in
+         Asterisk Fixed memory leaks that were found in Asterisk.
+         ASTERISK-24693 #close Reported by: Kevin Harwell Review:
+         https://reviewboard.asterisk.org/r/4347/ ........ Merged
+         revisions 430999 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-21 19:47 +0000 [r430898]  Richard Mudgett <rmudgett@digium.com>
+
+       * CHANGES, /, res/res_pjsip_outbound_registration.c: Multiple
+         revisions 430223,430373,430395 ........ r430223 | gtjoseph |
+         2015-01-06 11:35:21 -0600 (Tue, 06 Jan 2015) | 24 lines
+         outbound_registration: Add 'pjsip send register' and update 'send
+         unregister' The current behavior of 'pjsip send unregister' is to
+         send the unregister (REGISTER with 0 exp) but let the next
+         scheduled register proceed normally. I don't think that's a good
+         idea. If you unregister, it should stay unregistered until you
+         decide to start registrations again. So this patch just adds a
+         cancel_registration call to the current unregister_task to cancel
+         the timer. Of course, now you need a way to start registration
+         again so I've added a 'pjsip send register' command that
+         unregisters and cancels any existing registration (the same as
+         send unregister), then sends an immediate registration and starts
+         the timer back up again. Both changes also ripple to AMI. There's
+         a new PJSIPRegister command. There's no harm in calling either
+         command repeatedly. They don't care about the actual state.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4301/ ........ r430373 |
+         gtjoseph | 2015-01-08 11:48:29 -0600 (Thu, 08 Jan 2015) | 25
+         lines res_pjsip_outbound_registration: Fix several reload issues
+         There are 2 issues with reloading registrations... 1. The
+         'can_reuse_registration' test wasn't considering the intervals or
+         expiration in its determination of whether a registration changed
+         or not so if you changed any of the intervals or the expiration
+         and reloaded, the object would get reloaded but the actual timers
+         wouldn't change. can_reuse_registration now does a sorcery diff
+         on the old and new objects instead of discretely testing certain
+         fields. Now if you change expiration for instance, and reload,
+         the timer is updated and re-registration will occur on the new
+         value. 2. If you mung up your password on an outbound
+         registration you get a permanent failure. If you fix the password
+         (on the outbound_auth object) and reload, nothing tells
+         outbound_registration to try again because the registration
+         itself didn't change. This patch adds an observer on the "auth"
+         object type and if any auth changes, existing registration states
+         are searched and those in a REJECTED_PERMANENT state are retried.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4304/ ........ r430395 |
+         gtjoseph | 2015-01-08 15:37:42 -0600 (Thu, 08 Jan 2015) | 14
+         lines res_pjsip_outbound_registration: Fix reference leak. Every
+         time a registration started,
+         sip_outbound_registration_response_cb bumps the ref count on
+         client_state then pushes a handle_registration_response task.
+         handle_registration_response never unreffed it though. So every
+         time a registration goes out, the ref count goes up by one. This
+         patch adds the unreffs to handle_registration_response.
+         Tested-by: George Joseph Review:
+         https://reviewboard.asterisk.org/r/4303/ ........ Merged
+         revisions 430223,430373,430395 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-21 13:36 +0000 [r430843-430865]  Matthew Jordan <mjordan@digium.com>
+
+       * /, channels/chan_sip.c: channels/chan_sip: Fix registration leak
+         during reload When the SIP registrations were migrated to using
+         ao2 in what was then trunk, the explicit destruction of the
+         registrations on module reload was removed and not replaced with
+         an ao2 equivalent. Debugging done by Stefan Engström, the issue
+         reporter, on ASTERISK-24673 confirmed that the reference in the
+         registry_list container was being leaked. Since the purpose of
+         cleanup_all_regs is to prep a registration for destruction, this
+         function now calls an ao2_callback function callback with the
+         OBJ_MULTIPLE | OBJ_NODATA | OBJ_UNLINK flags used to remove the
+         registrations. This cleans up each registration, and also removes
+         it from the registration container registry_list. Review:
+         https://reviewboard.asterisk.org/r/4355/ ASTERISK-24640 #close
+         Reported by: Max Man ASTERISK-24673 #close Reported by: Stefan
+         Engström Tested by: Stefan Engström ........ Merged revisions
+         430864 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * apps/app_dial.c, /: apps/app_dial: Don't publish DialEnd twice on
+         unexpected GoSub/Macro values The Dial application has some
+         interesting options with the mid-call Macro (M) and GoSub (U)
+         options. If the MACRO_RESULT/GOSUB_RESULT returns specific
+         values, the Dial application will take some action upon the
+         channels involved in the dial operation (such as hanging up a
+         particular party, etc.) The Dial application ensures that a
+         Stasis message is published in the event that
+         MACRO_RESULT/GOSUB_RESULT returns a value that kills the dial
+         operation, so that there is a corresponding DialEnd event
+         published in AMI/ARI for the DialBegin event that preceeded it. A
+         bug exists where that same DialEnd event will be published on
+         Stasis even if the value returned in MACRO_RESULT/GOSUB_RESULT is
+         not one that the Dial application cares about. This causes two
+         DialEnd events to be published - one with the
+         MACRO_RESULT/GOSUB_RESULT and another with "ANSWERED" - which is
+         all sorts of wrong. This patch fixes the bug by ensuring that we
+         only publish a DialEnd message to Stasis if the Dial
+         application's mid-call Macro/GoSub returns something that Dial
+         cares about. Review: https://reviewboard.asterisk.org/r/4336
+         ASTERISK-24682 #close Reported by: Matt Jordan ........ Merged
+         revisions 430842 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-19 18:18 +0000 [r430782]  Mark Michelson <mmichelson@digium.com>
+
+       * main/pbx.c, /: Call extension state callbacks at hint creation.
+         When a hint gets created, any subsequent device or presence state
+         changes result in extension status events getting sent out to
+         interested parties. However, at the time of hint creation, no
+         such event gets sent out, so watchers of extension state are
+         potentially left in the dark until the first state change after
+         hint creation. Patch contributed by John Hardin (License #6512)
+         ........ Merged revisions 430776 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-15 12:11 +0000 [r430666]  Joshua Colp <jcolp@digium.com>
+
+       * /, res/res_pjsip_outbound_registration.c:
+         res_pjsip_outbound_registration: Fix race condition when
+         reloading and listing registrations. Due to the split of outbound
+         registration state from configuration it is possible during a
+         reload for a "pjsip show registrations" CLI command to be
+         executed which gets an older snapshot of the configuration. This
+         configuration may include outbound registrations which have been
+         removed due to a reload operation occurring at the same time. The
+         code for printing the outbound registration did not take this
+         into account but now it does. AST-1506 #close Review:
+         https://reviewboard.asterisk.org/r/4338/ ........ Merged
+         revisions 430664 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-07 03:29 +0000 [r430253-430293]  Matthew Jordan <mjordan@digium.com>
+
+       * utils/conf2ael.c, apps/app_waitforring.c, formats/format_vox.c,
+         res/res_timing_pthread.c, pbx/pbx_ael.c,
+         cel/cel_sqlite3_custom.c, res/res_hep_rtcp.c,
+         formats/format_jpeg.c, apps/app_jack.c, apps/app_adsiprog.c,
+         cdr/cdr_sqlite3_custom.c, res/res_snmp.c, channels/chan_sip.c,
+         cel/cel_tds.c, apps/app_dictate.c, apps/app_festival.c,
+         agi/eagi-test.c, res/res_hep_pjsip.c, apps/app_alarmreceiver.c,
+         apps/app_image.c, channels/chan_console.c, apps/app_getcpeid.c,
+         apps/app_talkdetect.c, channels/chan_oss.c,
+         channels/chan_misdn.c, apps/app_mp3.c, channels/chan_alsa.c,
+         pbx/pbx_dundi.c, channels/chan_nbs.c, utils/extconf.c,
+         apps/app_zapateller.c, cel/cel_pgsql.c, res/res_config_pgsql.c,
+         utils/muted.c, apps/app_test.c, utils/smsq.c,
+         apps/app_morsecode.c, apps/app_ices.c, cdr/cdr_csv.c,
+         channels/chan_phone.c, funcs/func_pitchshift.c,
+         funcs/func_audiohookinherit.c,
+         res/res_pjsip_phoneprov_provider.c, apps/app_minivm.c,
+         res/res_statsd.c, apps/app_sms.c, res/res_config_ldap.c,
+         utils/streamplayer.c, utils/check_expr.c, cel/cel_radius.c,
+         apps/app_nbscat.c, res/res_hep.c, apps/app_waitforsilence.c,
+         apps/app_dahdiras.c, pbx/pbx_lua.c, res/res_ael_share.c,
+         cdr/cdr_radius.c, cdr/cdr_tds.c, utils/stereorize.c,
+         apps/app_osplookup.c, channels/chan_skinny.c,
+         funcs/func_frame_trace.c, apps/app_amd.c, pbx/pbx_realtime.c,
+         apps/app_url.c, apps/app_externalivr.c, cdr/cdr_odbc.c,
+         res/res_timing_kqueue.c, channels/chan_mgcp.c,
+         channels/chan_unistim.c, res/res_phoneprov.c, utils/astman.c,
+         cdr/cdr_pgsql.c, res/res_config_sqlite.c: Disable extended
+         support modules
+
+       * /,
+         contrib/ast-db-manage/config/versions/371a3bf4143e_add_user_eq_phone_option_to_pjsip.py:
+         contrib/ast-db-manage: Correct down_revision path for
+         user_eq_phone When the user_eq_phone patch was backported to 13,
+         it referenced the downward revision that the PJSIP optimistic
+         encryption option also references. This creates a multi-path
+         upgrade Exception when generating the SQL files. This patch
+         corrects this in the 13 branch. Note that trunk, which already
+         contained both of these features, is unaffected by this problem.
+         ........ Merged revisions 430252 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2015-01-06 19:53 +0000 [r430245]  Scott Griepentrog <sgriepentrog@digium.com>
+
+       * main/bridge_basic.c, /: bridge: avoid leaking channel during
+         blond transfer pt2 A blond transfer to a failed destination, when
+         followed by a recall attempt, lead to a leak of the reference to
+         the destination channel. In addition to correcting the regression
+         on the previous attempt (r429826) this fixes the leak and two
+         additional reference leaks on failures of bridge_import.
+         ASTERISK-24513 #close Review:
+         https://reviewboard.asterisk.org/r/4302/ ........ Merged
+         revisions 430199 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged
+         revisions 430200 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2014-12-24 15:27 +0000 [r430085-430094]  Matthew Jordan <mjordan@digium.com>
+
+       * res/res_agi.c, /: res/res_agi: Make Verbose message for 'stream
+         file' match other playbacks The Verbose message displayed when a
+         file is played back via 'stream file' was formatted differently
+         than other playbacks: * It didn't include the channel name * It
+         didn't include the channel language It does, however, include the
+         playback offset as well as any escape digits. That information
+         was kept; however, this patch updates the formatting to more
+         closely match the Verbose messages displayed when a file is
+         played back by 'control stream file', Playback, ControlPlayback,
+         or any other file playback operation. ........ Merged revisions
+         429519 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * contrib/ast-db-manage/config/versions/371a3bf4143e_add_user_eq_phone_option_to_pjsip.py
+         (added), /, res/res_pjsip.c: res_pjsip: Backport missing commits
+         for user_eq_phone This backports the following from trunk, which
+         were missed: r427257 | file | 2014-11-04 16:31:16 -0600 (Tue, 04
+         Nov 2014) | 2 lines res_pjsip: Allow + at the beginning of a
+         phone number when user_eq_phone is enabled. r427259 | file |
+         2014-11-04 16:51:32 -0600 (Tue, 04 Nov 2014) | 2 lines res_pjsip:
+         Apply the 'user_eq_phone' setting to the To header as well. It
+         also adds the Alembic script for the option. ASTERISK-24643
+         ........ Merged revisions 430092 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, tests/test_stasis_channels.c: Stasis: Update unittest for
+         channel snapshots This adjusts the unit test for channel
+         snapshots to take the new language key into account. ........
+         Merged revisions 429352 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * CHANGES, res/res_pjsip.c, include/asterisk/res_pjsip.h,
+         res/res_pjsip_keepalive.c (added), res/res_pjsip/config_global.c,
+         /, configs/samples/pjsip.conf.sample: res_pjsip_keepalive: Add
+         runtime configurable keepalive module for connection-oriented
+         transports. Note that this is backport from trunk of r425825.
+         This change adds a module which is configurable using the
+         keep_alive_interval setting in the global section that will send
+         a CRLF keep alive to all active connection-oriented transports at
+         the provided interval. This is useful because it can help keep
+         connections open through NATs. This functionality also exists
+         within PJSIP but can not be controlled at runtime and requires
+         recompiling it. Review: https://reviewboard.asterisk.org/r/4084/
+         ASTERISK-24644 #close ........ Merged revisions 430084 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, res/res_pjsip/pjsip_configuration.c,
+         res/res_pjsip_caller_id.c, CHANGES, res/res_pjsip.c,
+         include/asterisk/res_pjsip.h: res_pjsip: Add 'user_eq_phone'
+         option to add a 'user=phone' parameter when applicable. Note that
+         this is a backport of r425804 from trunk. This change adds a
+         configuration option which adds a 'user=phone' parameter if the
+         user portion of the request URI or the From URI is determined to
+         be a number. Review: https://reviewboard.asterisk.org/r/4073/
+         ASTERISK-24643 #close ........ Merged revisions 430083 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2014-12-22 21:22 +0000 [r430030-430046]  Richard Mudgett <rmudgett@digium.com>
+
+       * main/bridge_basic.c, /: DTMF atxfer: Setup recall channels as if
+         the transferee initiated the call. After the initial DTMF atxfer
+         call attempt to the transfer target fails to answer during a
+         blonde transfer, the recall callback channels do not get setup
+         with information from the initial transferrer channel. As a
+         result, the recall callback to the transferrer does not have
+         callid, channel variables, datastores, accountcode, peeraccount,
+         COLP, and CLID setup. A similar situation happens with the recall
+         callback to the transfer target but it is less visible. The
+         recall callback to the transfer target does not have callid,
+         channel variables, datastores, accountcode, peeraccount, and COLP
+         setup. * Added missing information to the recall callback
+         channels before initiating the call. callid, channel variables,
+         datastores, accountcode, peeraccount, COLP, and CLID * Set callid
+         of the transferrer channel on the DTMF atxfer controller thread
+         attended_transfer_monitor_thread(). * Added missing channel
+         unlocks and props unref to off nominal paths in
+         attended_transfer_properties_alloc(). ASTERISK-23841 #close
+         Reported by: Richard Mudgett Review:
+         https://reviewboard.asterisk.org/r/4259/ ........ Merged
+         revisions 430034 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * include/asterisk/_private.h, main/asterisk.c, /, main/logger.c:
+         queue_log: Post QUEUESTART entry when Asterisk fully boots. The
+         QUEUESTART log entry has historically acted like a fully booted
+         event for the queue_log file. When the QUEUESTART entry was
+         posted to the log was broken by the change made by
+         ASTERISK-15863. * Made post the QUEUESTART queue_log entry when
+         Asterisk fully boots. This restores the intent of that log entry
+         and happens after realtime has had a chance to load. AST-1444
+         #close Reported by: Denis Martinez Review:
+         https://reviewboard.asterisk.org/r/4282/ ........ Merged
+         revisions 430009 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 430010 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2014-12-22 18:35 +0000 [r430007-430008]  bebuild <bebuild@localhost>:
+
+       * /, res/res_pjsip/pjsip_options.c: Multiple revisions
+         429128,429246 ........ r429128 | kmoore | 2014-12-09 08:00:50
+         -0600 (Tue, 09 Dec 2014) | 12 lines PJSIP: Stagger outbound
+         qualifies This change staggers initiation of outbound qualify
+         (OPTIONS) attempts to reduce instantaneous server load and
+         prevent network congestion. Review:
+         https://reviewboard.asterisk.org/r/4246/ ASTERISK-24342 #close
+         Reported by: Richard Mudgett ........ Merged revisions 429127
+         from http://svn.asterisk.org/svn/asterisk/branches/12 ........
+         r429246 | kmoore | 2014-12-10 07:14:56 -0600 (Wed, 10 Dec 2014) |
+         8 lines PJSIP: Fix assert on initial mass qualify This fixes the
+         MWI test regressions caused by r429127 and ensures that contacts
+         have non-zero qualify_frequency before attempting scheduling.
+         ........ Merged revisions 429245 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged
+         revisions 429128,429246 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * main/manager.c, /: Prevent possible race condition on dual
+         redirect of channels in the same bridge. The
+         AST_FLAG_BRIDGE_DUAL_REDIRECT_WAIT flag was created to prevent
+         bridges from prematurely acting on orphaned channels in bridges.
+         The problem with the AMI redirect action was that it was setting
+         this flag on channels based on the presence of a PBX, not whether
+         the channel was in a bridge. Whether a channel has a PBX is
+         irrelevant, so the condition has been altered to check if the
+         channel is in a bridge. ASTERISK-24536 #close Reported by Niklas
+         Larsson Review: https://reviewboard.asterisk.org/r/4268 ........
+         Merged revisions 429741 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+2014-12-19 21:52 +0000 [r429855-429892]  bebuild <bebuild@localhost>:
+
+       * CHANGES, res/res_ari_channels.c, res/ari/resource_channels.h, /,
+         rest-api/api-docs/channels.json, res/ari/resource_channels.c:
+         ari: Add support for specifying an originator channel when
+         originating. If an originator channel is specified when
+         originating a channel the linked ID of it will be applied to the
+         newly originated outgoing channel. This allows an association to
+         be made between the two so it is known that the originator has
+         dialed the originated channel. ASTERISK-24552 #close Reported by:
+         Matt Jordan Review: https://reviewboard.asterisk.org/r/4243/
+         ........ Merged revisions 429153 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * res/ari/ari_model_validators.c, main/manager_channels.c,
+         res/ari/ari_model_validators.h, /, main/stasis_channels.c,
+         rest-api/api-docs/channels.json: ARI/AMI: Include language in
+         standard channel snapshot output The channel "language" was
+         already part of a channel snapshot, however is was not sent out
+         over AMI or ARI. This patch makes it so the channel "language" is
+         included in the appropriate AMI or ARI events. ASTERISK-24553
+         #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/4245/ ........ Merged
+         revisions 429204 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged
+         revisions 429206 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * res/res_pjsip_session.c, /: res_pjsip_session: Fix issue where a
+         declined media stream in a re-INVITE would fail SDP negotiation.
+         In the past the SDP negotiation within res_pjsip_session was made
+         more tolerant of certain situations. The only case where SDP
+         negotiation will fail is when a major error occurs during
+         negotiation. Receiving an already declined media stream is not
+         considered a major error. When producing the local SDP the logic
+         took this into account so on the initial INVITE the declined
+         media stream did not cause an SDP negotiation failure.
+         Unfortunately the logic for handling media streams with a handler
+         did not mirror this logic and considered an already declined
+         media stream an error and thus failed the SDP negotiation. This
+         change makes the logic between both situations match so only
+         under major errors will the SDP negotiation fail. ASTERISK-24607
+         #close Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/4254/ ........ Merged
+         revisions 429407 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * include/asterisk/format.h, main/format.c, /, main/codec.c: media:
+         Fix crash when determining sample count of a frame during
+         shutdown. When shutting down Asterisk the codecs are cleaned up.
+         As a result anything attempting to get a codec based on ID or
+         details will find that no codec exists. This currently occurs
+         when determining the sample count of a frame. This code did not
+         take this situation into account. This change fixes this by
+         getting the codec directly from the format and eliminates the
+         lookup. This is both faster and also provides a guarantee that
+         the codec will exist and will be valid. ASTERISK-24604 #close
+         Reported by: Matt Jordan Review:
+         https://reviewboard.asterisk.org/r/4260/ ........ Merged
+         revisions 429497 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, res/res_pjsip_outbound_registration.c: Prevent potential
+         infinite outbound authentication loops in registration. Prior to
+         this patch, Asterisk would always respond to 401 responses to
+         registration attempts by trying to provide a registration with
+         authentication credentials. Even if subsequent attempts were
+         rejected with 401 responses, Asterisk would continue this
+         behavior. If authentication credentials were incorrect, this
+         could continue forever. With this patch, we keep track of whether
+         we have attempted authentication on an outbound registration
+         attempt. If we already have, we don not try again until the next
+         attempt. This prevents the infinite loop scenario. Review:
+         https://reviewboard.asterisk.org/r/4273 ........ Merged revisions
+         429761 from http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * res/res_pjsip_outbound_publish.c, /: res_pjsip_outbound_publish:
+         stack overflow when using non-default sorcery wizard When using a
+         non-default sorcery wizard (in this instance realtime) for
+         outbound publishes Asterisk will crash after a stack overflow
+         occurs due to the code infinitely recursing. The fix entails
+         removing the outbound publish state dependency from the outbound
+         publish sorcery object and instead keeping an in memory container
+         that can be used to lookup the state when needed. ASTERISK-24514
+         #close Reported by: Mark Michelson Review:
+         https://reviewboard.asterisk.org/r/4178/ ........ Merged
+         revisions 429175 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, res/res_pjsip_sdp_rtp.c: PJSIP: Allow use of 'inactive'
+         streams for hold This allows use of the 'inactive' stream
+         direction identifier to be used for hold where 'sendonly' is
+         normally used. Some Seimens phones use 'inactive' and this change
+         allows music on hold to operate properly. Review:
+         https://reviewboard.asterisk.org/r/4252/ Reported by: Steve Pitts
+         ........ Merged revisions 429432 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged
+         revisions 429433 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * channels/chan_pjsip.c, res/res_pjsip_session.c,
+         include/asterisk/res_pjsip_session.h, /,
+         res/res_pjsip_session.exports.in: res_pjsip_session: Delay
+         sending BYE if a re-INVITE transaction is in progress. Given the
+         scenario where a PJSIP channel is in a native RTP bridge with
+         direct media and the channel is then hung up the code will
+         currently re-INVITE the channel back to Asterisk and send a BYE
+         at the same time. Many SIP implementations dislike this greatly.
+         This change makes it so that if a re-INVITE transaction is in
+         progress the BYE is queued to occur after the completion of the
+         transaction (be it through normal means or a timeout). Review:
+         https://reviewboard.asterisk.org/r/4248/ ........ Merged
+         revisions 429409 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, channels/chan_pjsip.c: chan_pjsip: Race between channel answer
+         and bridge setup when using direct media When direct media is
+         enabled and a pjsip channel is answered a race would occur
+         between the handling of the answer and bridge setup. Sometimes
+         the media negotiation would take place after the native bridge
+         was setup. This resulted in a NULL media address, which in turn
+         resulted in Asterisk using its address as the remote media
+         address when sending a reinvite. This patch makes the chan_pjsip
+         answer handler synchronous thus alleviating the race condition
+         (the bridge won't start setting things up until after it
+         returns). ASTERISK-24563 #close Reported by: Steve Pitts Review:
+         https://reviewboard.asterisk.org/r/4257/ ........ Merged
+         revisions 429477 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * main/rtp_engine.c, /, channels/chan_sip.c,
+         include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c: Direct
+         Media calls within private network sometimes get one way audio
+         When endpoints with direct_media enabled, behind a firewall
+         (Asterisk on a separate network) and were bridged sometimes
+         Asterisk would send the ip address of the firewall in the sdp to
+         one of the phones in the reinvite resulting in one way audio.
+         When sending the reinvite Asterisk will retrieve the media
+         address from the associated rtp instance, but if frames were
+         being read this can be overwritten with another address (in this
+         case the firewall's). This patch ensures that Asterisk uses the
+         original device address when using direct media. ASTERISK-24563
+         Reported by: Steve Pitts Review:
+         https://reviewboard.asterisk.org/r/4216/ ........ Merged
+         revisions 429195 from
+         http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged
+         revisions 429196 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * channels/pjsip/dialplan_functions.c, /: Ensure the correct value
+         is returned for CHANNEL(pjsip, secure) Prior to this patch, we
+         were using the PJSIP dialog's secure flag to determine if a
+         secure transport was being used. Unfortunately, the dialog's
+         secure flag was only set if a SIPS URI were in use, as required
+         by RFC 3261 sections 12.1.1 and 12.1.2. What we're interested in
+         is not dialog security, but transport security. This code change
+         switches to a model where we use the dialog's target URI to
+         determine what transport would be used to communicate, and then
+         check if that transport is secure. AST-1450 #close Reported by
+         John Bigelow Review: https://reviewboard.asterisk.org/r/4277
+         ........ Merged revisions 429739 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * channels/chan_dahdi.c, /: chan_dahdi: Don't ignore setvar when
+         using configuration section scheme. When the configuration
+         section scheme of chan_dahdi.conf is used (keyword dahdichan
+         instead of channel) all setvar= options are completely ignored.
+         No variable defined this way appears in the created DAHDI
+         channels. * Move the clearing of setvar values to after the
+         deferred processing of dahdichan. AST-1378 #close Reported by:
+         Guenther Kelleter Patch by: Guenther Kelleter ........ Merged
+         revisions 429825 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 429829 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, include/asterisk/lock.h, main/lock.c: DEBUG_THREADS: Fix
+         regression and lock tracking initialization problems. This patch
+         started with David Lee's patch at
+         https://reviewboard.asterisk.org/r/2826/ and includes a
+         regression fix introduced by the ASTERISK-22455 patch. The
+         initialization of a mutex's lock tracking structure was not
+         protected in a critical section. This is fine for any mutex that
+         is explicitly initialized, but a static mutex may have its lock
+         tracking double initialized if multiple threads attempt the first
+         lock simultaneously. * Added a global mutex to properly serialize
+         initialization of the lock tracking structure. The painful global
+         lock can be mitigated by adding a double checked lock flag as
+         discussed on the original review request. * Defer lock tracking
+         initialization until first use. * Don't be "helpful" and
+         initialize an uninitialized lock when DEBUG_THREADS is enabled.
+         Debug code is not supposed to fix or change normal code behavior.
+         We don't need a lock initialization race that would force a
+         re-setup of lock tracking. Lock tracking already handles
+         initialization on first use. * Properly handle allocation
+         failures of the lock tracking structure. * No need to initialize
+         tracking data in __ast_pthread_mutex_destroy() just to turn
+         around and destroy it. The regression introduced by
+         ASTERISK-22455 is the result of manipulating a pthread_mutex_t
+         struct outside of the pthread library code. The pthread_mutex_t
+         struct seems to have a global linked list pointer member that can
+         get changed by other threads. Therefore, saving and restoring the
+         contents of a pthread_mutex_t struct is a bad thing. Thanks to
+         Thomas Airmont for finding this obscure regression. * Don't
+         overwrite the struct ast_lock_track.reentr_mutex member to
+         restore tracking data in __ast_cond_wait() and
+         __ast_cond_timedwait(). The pthread_mutex_t struct must be
+         treated as a read-only opaque variable. Miscellaneous other items
+         fixed by this patch: * Match ast_suspend_lock_info() with
+         ast_restore_lock_info() in __ast_cond_timedwait(). * Made some
+         uninitialized lock sanity checks return EINVAL and try a
+         DO_THREAD_CRASH. * Fix bad canlog initialization expressions.
+         ASTERISK-24614 #close Reported by: Thomas Airmont Review:
+         https://reviewboard.asterisk.org/r/4247/ Review:
+         https://reviewboard.asterisk.org/r/2826/ ........ Merged
+         revisions 429539 from
+         http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
+         revisions 429540 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, res/res_pjsip_pubsub.c: Activate persistent subscriptions when
+         they are recreated. Prior to this change, recreating persistent
+         subscriptions would create the subscription but would not
+         activate it. This led to subscriptions being listed in the "NULL"
+         state by diagnostics and not sending NOTIFYs when expected.
+         Review: https://reviewboard.asterisk.org/r/4261 ........ Merged
+         revisions 429571 from
+         http://svn.asterisk.org/svn/asterisk/branches/13
+
+       * /, asterisk-13.1.0-summary.html (removed),
+         asterisk-13.1.0-summary.txt (removed): Update properties; remove
+         old summaries
+
+       * / (added): Create Certified Asterisk 13.1 branch
+
 2014-12-15  Asterisk Development Team <asteriskteam@digium.com>
 
        * Asterisk 13.1.0 Released.