[asterisk-commits] bebuild: tag 12.4.0-rc1 r418185 - in /tags/12.4.0-rc1: ./ contrib/realtime/my...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jul 8 09:50:17 CDT 2014
Author: bebuild
Date: Tue Jul 8 09:50:14 2014
New Revision: 418185
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=418185
Log:
Importing files for 12.4.0-rc1 release.
Added:
tags/12.4.0-rc1/.lastclean (with props)
tags/12.4.0-rc1/.version (with props)
tags/12.4.0-rc1/ChangeLog (with props)
tags/12.4.0-rc1/contrib/realtime/mysql/mysql_cdr.sql (with props)
tags/12.4.0-rc1/contrib/realtime/mysql/mysql_config.sql (with props)
tags/12.4.0-rc1/contrib/realtime/mysql/mysql_voicemail.sql (with props)
tags/12.4.0-rc1/contrib/realtime/oracle/oracle_cdr.sql (with props)
tags/12.4.0-rc1/contrib/realtime/oracle/oracle_config.sql (with props)
tags/12.4.0-rc1/contrib/realtime/oracle/oracle_voicemail.sql (with props)
tags/12.4.0-rc1/contrib/realtime/postgresql/postgresql_cdr.sql (with props)
tags/12.4.0-rc1/contrib/realtime/postgresql/postgresql_config.sql (with props)
tags/12.4.0-rc1/contrib/realtime/postgresql/postgresql_voicemail.sql (with props)
tags/12.4.0-rc1/contrib/realtime/sqlserver/mssql_cdr.sql (with props)
tags/12.4.0-rc1/contrib/realtime/sqlserver/mssql_config.sql (with props)
tags/12.4.0-rc1/contrib/realtime/sqlserver/mssql_voicemail.sql (with props)
Added: tags/12.4.0-rc1/.lastclean
URL: http://svnview.digium.com/svn/asterisk/tags/12.4.0-rc1/.lastclean?view=auto&rev=418185
==============================================================================
--- tags/12.4.0-rc1/.lastclean (added)
+++ tags/12.4.0-rc1/.lastclean Tue Jul 8 09:50:14 2014
@@ -1,0 +1,1 @@
+40
Propchange: tags/12.4.0-rc1/.lastclean
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tags/12.4.0-rc1/.lastclean
------------------------------------------------------------------------------
svn:keywords = none
Propchange: tags/12.4.0-rc1/.lastclean
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: tags/12.4.0-rc1/.version
URL: http://svnview.digium.com/svn/asterisk/tags/12.4.0-rc1/.version?view=auto&rev=418185
==============================================================================
--- tags/12.4.0-rc1/.version (added)
+++ tags/12.4.0-rc1/.version Tue Jul 8 09:50:14 2014
@@ -1,0 +1,1 @@
+12.4.0-rc1
Propchange: tags/12.4.0-rc1/.version
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tags/12.4.0-rc1/.version
------------------------------------------------------------------------------
svn:keywords = none
Propchange: tags/12.4.0-rc1/.version
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: tags/12.4.0-rc1/ChangeLog
URL: http://svnview.digium.com/svn/asterisk/tags/12.4.0-rc1/ChangeLog?view=auto&rev=418185
==============================================================================
--- tags/12.4.0-rc1/ChangeLog (added)
+++ tags/12.4.0-rc1/ChangeLog Tue Jul 8 09:50:14 2014
@@ -1,0 +1,28840 @@
+2014-07-08 Asterisk Development Team <asteriskteam at digium.com>
+
+ * Asterisk 12.4.0-rc1 Released.
+
+2014-07-08 14:47 +0000 [r418172-418182] Matthew Jordan <mjordan at digium.com>
+
+ * include/asterisk/manager.h, rest-api/api-docs/bridges.json,
+ rest-api/api-docs/recordings.json,
+ rest-api/api-docs/deviceStates.json,
+ rest-api/api-docs/endpoints.json,
+ rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
+ rest-api/api-docs/asterisk.json,
+ rest-api/api-docs/applications.json,
+ rest-api/api-docs/playbacks.json, UPGRADE.txt,
+ rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
+ rest-api/resources.json: manager/ARI: Update version to
+ 2.4.0/1.4.0; Update UPGRADE.txt
+
+ * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix undefined function
+ when PJPROJECT is not installed The dtls_perform_handshake
+ function was mistakenly placed under the guards for
+ USE_PJPROJECT. If PJPROJECT was not installed, the function would
+ not be defined, while other functions would attempt to still use
+ it. This prevented res_rtp_asterisk from being loaded.
+ ASTERISK-24001 #close Reported by: Don Fanning
+
+2014-07-07 16:05 +0000 [r418116] Joshua Colp <jcolp at digium.com>
+
+ * res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c,
+ include/asterisk/res_pjsip_presence_xml.h,
+ include/asterisk/res_pjsip_body_generator_types.h,
+ res/res_pjsip_dialog_info_body_generator.c (added):
+ res_pjsip_dialog_info_body_generator: Add dialog-info+xml support
+ for presence. This module implements dialog-info+xml for the
+ purposes of presence. This means that phones such as Grandstreams
+ can now subscribe to receive presence information for an
+ extension. ASTERISK-21443 #close Reported by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/3705/
+
+2014-07-07 02:13 +0000 [r418089] Matthew Jordan <mjordan at digium.com>
+
+ * res/ari/resource_channels.c, res/res_stasis.c, res/stasis/app.c,
+ include/asterisk/stasis_app.h: ARI/res_stasis: Subscribe to both
+ Local channel halves when originating to app This patch fixes two
+ bugs: 1. When originating a channel into a Stasis application, we
+ already create a subscription for the channel that is going into
+ our Stasis app. Unfortunately, when you create a Local channel
+ and pass it off to a Stasis app, you really aren't creating just
+ one channel: you're creating two. This patch snags the second
+ half of the Local channel pair (assuming it is a Local channel
+ pair, but luckily core_local is kind about such assumptions) and
+ subscribes to it as well. 2. Subscriptions are a bit sticky right
+ now. If a subscription is made, the 'interest' count gets bumped
+ on the Stasis subscription - but unless something explicitly
+ unsubscribes the channel, said subscription sticks around. This
+ is not much of a problem is a user is creating the subscription -
+ if they made it, they must want it. However, when we are creating
+ implicit subscriptions, we need to make sure something clears
+ them out. This patch takes a pessimistic approach: it watches the
+ cache updates coming from Stasis and, if we notice that the cache
+ just cleared out an object, we delete our subscription object.
+ This keeps our ao2 container of Stasis forwards in an application
+ from growing out of hand; it also is a bit more forgiving for end
+ users who may not realize they were supposed to unsubscribe from
+ that channel that just hung up. Review:
+ https://reviewboard.asterisk.org/r/3710/ ASTERISK-23939 #close
+
+2014-07-07 01:18 +0000 [r418066-418071] Kinsey Moore <kmoore at digium.com>
+
+ * tests/test_cel.c, main/cel.c, channels/chan_pjsip.c,
+ res/res_pjsip_session.c: CEL: Fix incorrect/missing extra field
+ information This corrects two issues with the extra field
+ information in Asterisk 12+ in channel event logs. It is possible
+ to inject custom values into the dialstatus provided by
+ ast_channel_dial_type() Stasis messages that fall outside the
+ enumeration allowed for the DIALSTATUS channel variable. CEL now
+ filters for the allowed values and ignores other values. The
+ "hangupsource" extra field key is always blank if the far end
+ channel is a chan_pjsip channel. This is because the hangupsource
+ is never set for the pjsip channel driver. This change sets the
+ hangupsource whenever a hangup is queued for chan_pjsip channels.
+ This corrects an issue with the pjsip channel driver where the
+ hangupcause information was not being set properly. Review:
+ https://reviewboard.asterisk.org/r/3690/
+
+ * main/http.c: HTTP: Fix build for gcc 4.10
+
+2014-07-03 22:06 +0000 [r417880-417958] Richard Mudgett <rmudgett at digium.com>
+
+ * UPGRADE.txt, channels/sig_pri.c, channels/sig_pri.h,
+ channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /:
+ chan_dahdi: Add inband_on_setup_ack compatibility option. The new
+ inband_on_setup_ack option causes Asterisk to assume inband audio
+ may be present when a SETUP_ACKNOWLEDGE message is received.
+ Q.931 Section 5.1.3 says that in scenarios with overlap dialing,
+ when a dialtone is sent from the network side, progress indicator
+ 8 "Inband info now available" MAY be sent to the CPE if no digits
+ were received with the SETUP. It is thus implied that the ie is
+ mandatory if digits came with the SETUP and dialtone is needed.
+ This option should be enabled, when the network sends dialtone
+ and you want to hear it, but the network doesn't send the
+ progress indicator when needed. NOTE: For Q.SIG setups this
+ option should be enabled when outgoing overlap dialing is also
+ enabled because Q.SIG does not send the progress indicator with
+ the SETUP ACK. The commit -r413714 (AST-1338) which causes this
+ issue was dealing with a SIP-to-ISDN interoperability issue. This
+ commit is a merge of the two patches indicated below.
+ ASTERISK-23897 #close Reported by: Pavel Troller Patches:
+ pri-4.diff (license #6302) patch uploaded by Pavel Troller
+ jira_asterisk_23897_v11.patch (license #5621) patch uploaded by
+ rmudgett Review: https://reviewboard.asterisk.org/r/3633/
+ ........ Merged revisions 417956 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 417957 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * res/res_ari.c, main/manager.c, res/ari/resource_channels.c:
+ res_ari: Fix some off-nominal paths just dropping the HTTP
+ connection. * Removed some incorrect newlines on ast_http_error()
+ messages in manager.c. * Removed an incorrect newline in
+ res_ari_channels.c. Addendum to ASTERISK-23552
+
+ * configs/http.conf.sample, include/asterisk/http.h, main/tcptls.c,
+ res/res_ari.c, main/manager.c, res/res_phoneprov.c, main/http.c,
+ UPGRADE.txt, include/asterisk/tcptls.h, res/res_http_post.c,
+ res/res_http_websocket.c: HTTP: Add persistent connection
+ support. Persistent HTTP connection support is needed due to the
+ increased usage of the Asterisk core HTTP transport and the
+ frequency at which REST API calls are going to be issued. * Add
+ http.conf session_keep_alive option to enable persistent
+ connections. * Parse and discard optional chunked body extension
+ information and trailing request headers. * Increased the maximum
+ application/json and application/x-www-form-urlencoded body size
+ allowed to 4k. The previous 1k was kind of small. * Removed a
+ couple inlined versions of ast_http_manid_from_vars() by calling
+ the function. manager.c:generic_http_callback() and
+ res_http_post.c:http_post_callback() * Add missing va_end() in
+ ast_ari_response_error(). * Eliminated unnecessary RAII_VAR() use
+ in http.c:auth_create(). ASTERISK-23552 #close Reported by: Scott
+ Griepentrog Review: https://reviewboard.asterisk.org/r/3691/
+
+2014-07-03 16:07 +0000 [r417878] sgalarneau <sgalarneau at localhost>:
+
+ * res/ari/resource_channels.h, rest-api/api-docs/events.json,
+ res/ari/resource_events.h, rest-api/api-docs/channels.json: ARI:
+ Improvements to body parameters documentation The variables body
+ parameter under the originate and originate with id operations of
+ the channel resource showed invalid JSON in its description. The
+ variables body parameter under the userEvent operation of the
+ event resource made no mention that the custom key/value pairs
+ should be wrapped in a variables key in order to be added to the
+ custom user event. ASTERISK-23975 #close Review:
+ https://reviewboard.asterisk.org/r/3692/
+
+2014-07-03 11:26 +0000 [r417799] Matthew Jordan <mjordan at digium.com>
+
+ * /, main/utils.c: main/untils: Prevent potential infinite loop in
+ ast_careful_fwrite A loop in ast_careful_fwrite exists that will
+ continually attempt to write to a file stream, even in the
+ presence of EAGAIN/EINTR errors. However, if a connection that
+ uses ast_careful_fwrite closes suddenly, ast_careful_fwrite's
+ call to fflush may return EAGAIN/EINTER along with EOF. A
+ subsequent call to fflush will return EOF but not clear errno,
+ resulting in an infinite loop. This patch clears errno after it
+ is detected and handled the loop, such that any subsequent call
+ to fflush will not get erroneously stuck. Review:
+ https://reviewboard.asterisk.org/r/3704 #ASTERISK-23984 #close
+ Reported by: Steve Davies patches: fflush_loop_fix uploaded by
+ one47 (License 5012) ........ Merged revisions 417797 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 417798 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-07-01 14:40 +0000 [r417678-417705] Joshua Colp <jcolp at digium.com>
+
+ * res/res_rtp_asterisk.c: res_rtp_asterisk: Don't leak memory or
+ reset state if DTLS configuration is set multiple times.
+
+ * main/sdp_srtp.c, res/res_pjsip_sdp_rtp.c,
+ res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
+ configs/sip.conf.sample, include/asterisk/rtp_engine.h,
+ res/res_pjsip.c, channels/sip/include/sip.h,
+ include/asterisk/res_pjsip.h, include/asterisk/sdp_srtp.h,
+ res/res_rtp_asterisk.c,
+ contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py
+ (added), include/asterisk/res_pjsip_session.h, main/rtp_engine.c,
+ channels/chan_sip.c: Recorded merge of revisions 417677 from
+ http://svn.asterisk.org/svn/asterisk/branches/11 ........
+ res_rtp_asterisk: Add SHA-256 support for DTLS and perform DTLS
+ negotiation on RTCP. This change fixes up DTLS support in
+ res_rtp_asterisk so it can accept and provide a SHA-256
+ fingerprint, so it occurs on RTCP, and so it occurs after ICE
+ negotiation completes. Configuration options to chan_sip and
+ chan_pjsip have also been added to allow behavior to be tweaked
+ (such as forcing the AVP type media transports in SDP).
+ ASTERISK-22961 #close Reported by: Jay Jideliov Review:
+ https://reviewboard.asterisk.org/r/3679/ Review:
+ https://reviewboard.asterisk.org/r/3686/
+
+2014-06-30 03:25 +0000 [r417589] Matthew Jordan <mjordan at digium.com>
+
+ * /, channels/chan_sip.c: chan_sip: be more tolerant of whitespace
+ between attributes in SDP fmtp line This patch is essentially a
+ backport of a small portion of r397526 from ASTERISK-21981. In
+ that patch, pass through support and format attribute negotiation
+ was added for Opus. Part of that included being more tolerant to
+ whitespace in the fmtp line of an SDP; that part of the patch is
+ being applied here. As the author of the backport pointed out, in
+ SDP, the fmtp line is allowed to include whitespace between
+ attributes. RFC 3267 chapter 8.3 (from 2001) includes an example
+ for this. This was not removed in the updated RFC 4867 in 2007.
+ Review: https://reviewboard.asterisk.org/r/3658 #ASTERISK-23916
+ #close Reported by: Alexander Traud patches:
+ sdpFMTPspace_Asterisk11.patch uploaded by Alexander Traud
+ (License 6520) ........ Merged revisions 417587 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 417588 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-27 23:11 +0000 [r417565] Richard Mudgett <rmudgett at digium.com>
+
+ * main/event.c: event.c: Fix type mismatch errors in ie_maps[]. In
+ v12+ the type values from the table are only used by the CEL unit
+ tests. Since the unit tests were only comparing a generated
+ expected event with a real event to see if the ie contents
+ matched and using the same table IE_PLTYPE values to read the
+ event contents, the type mismatches were not detected.
+
+2014-06-27 19:27 +0000 [r417483-417509] Corey Farrell <git at cfware.com>
+
+ * /, main/astobj2.c: Ensure REF_DEBUG records entrys for attempts
+ to ao2_ref an invalid object This change ensures that
+ __ao2_ref_debug writes to ref_log when given a non-NULL pointer
+ to an invalid ao2 object. This is to ensure that we record any
+ attempt manipulate references of already freed objects.
+ ASTERISK-23948 #close Reported by: Corey Farrell Review:
+ https://reviewboard.asterisk.org/r/3677/ ........ Merged
+ revisions 417500 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 417505 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * contrib/scripts/refcounter.py, /: refcounter.py: prevent use of
+ excessive RAM with large refs logs When processing a 212MB refs
+ file, refcounter.py used over 3GB of RAM. This change greatly
+ reduces memory usage in two ways: * Saving object history in
+ whole lines instead of separated values. * Not saving
+ normal/skewed/leaked object lists unless they are requested.
+ ASTERISK-23921 #close Reported by: Corey Farrell Review:
+ https://reviewboard.asterisk.org/r/3668/ ........ Merged
+ revisions 417480 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 417481 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-27 13:48 +0000 [r417311-417460] Matthew Jordan <mjordan at digium.com>
+
+ * res/res_pjsip_pubsub.c, res/res_pjsip_registrar.c,
+ include/asterisk/res_pjsip.h,
+ res/res_pjsip_outbound_registration.c,
+ res/res_pjsip/pjsip_configuration.c: res_pjsip: Add ActionID to
+ events created as a result of PJSIP AMI actions A number of
+ various PJSIP AMI actions were failing to parse out and place the
+ ActionID into their responses. This patch updates the various
+ PJSIP actions such that the passed in ActionID is emitted on any
+ event list complete events, as well as any intermediate events
+ created as a result of the action. ASTERISK-23947 #close Reported
+ by: Mark Michelson Review:
+ https://reviewboard.asterisk.org/r/3675/
+
+ * res/res_http_websocket.exports.in, /: res_http_websocket: Export
+ symbol for ast_websocket_set_timeout Thanks to Sean Bright for
+ pointing out that this was missed in #asterisk-dev. ........
+ Merged revisions 417419 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * channels/chan_pjsip.c: chan_pjsip: Add a test event for fast
+ picture updates This will drive the test on review r3419. Note
+ that the patch for this was done by Ben Ford, although it was
+ slightly modified for this commit. ASTERISK-23562 Reported by:
+ Matt Jordan
+
+ * main/udptl.c, /: udptl: Correct FEC to not consider negative
+ sequence numbers as missing When using FEC, with span=3 and
+ entries=4 Asterisk will attempt to repair the packet with
+ sequence number 5, as it will see that packet -4 is missing. The
+ result is Asterisk sending garbage packets that can kill a fax.
+ This patch adds a check to see if the sequence number is valid
+ before checking if the packet is missing. Review:
+ https://reviewboard.asterisk.org/r/3657/ #ASTERISK-23908 #close
+ Reported by: Torrey Searle patches: udptl_fec.patch uploaded by
+ Torrey Searle (License 5334) ........ Merged revisions 417318
+ from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+ Merged revisions 417320 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * configs/pjsip.conf.sample, include/asterisk/http_websocket.h,
+ configs/sip.conf.sample, res/res_pjsip/config_transport.c,
+ res/ari/ari_websockets.c, res/res_pjsip_transport_websocket.c,
+ res/ari/config.c, channels/sip/include/sip.h,
+ include/asterisk/res_pjsip.h, res/res_ari.c, channels/chan_sip.c,
+ /, UPGRADE.txt, res/ari/internal.h, configs/ari.conf.sample,
+ res/res_pjsip.c, res/res_http_websocket.c: res_http_websocket:
+ Close websocket correctly and use careful fwrite When a client
+ takes a long time to process information received from Asterisk,
+ a write operation using fwrite may fail to write all information.
+ This causes the underlying file stream to be in an unknown state,
+ such that the socket must be disconnected. Unfortunately, there
+ are two problems with this in Asterisk's existing websocket code:
+ 1. Periodically, during the read loop, Asterisk must write to the
+ connected websocket to respond to pings. As such, Asterisk
+ maintains a reference to the session during the loop. When
+ ast_http_websocket_write fails, it may cause the session to
+ decrement its ref count, but this in and of itself does not break
+ the read loop. The read loop's write, on the other hand, does not
+ break the loop if it fails. This causes the socket to get in a
+ 'stuck' state, preventing the client from reconnecting to the
+ server. 2. More importantly, however, is that the fwrite in
+ ast_http_websocket_write fails with a large volume of data when
+ the client takes awhile to process the information. When it does
+ fail, it fails writing only a portion of the bytes. With some
+ debugging, it was shown that this was failing in a similar
+ fashion to ASTERISK-12767. Switching this over to
+ ast_careful_fwrite with a long enough timeout solved the problem.
+ Note that this version of the patch, unlike r417310 in Asterisk
+ 11, exposes configuration options beyond just chan_sip's
+ sip.conf. Configuration options to configure the write timeout
+ have also been added to pjsip.conf and ari.conf. #ASTERISK-23917
+ #close Reported by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/3624/ ........ Merged
+ revisions 417310 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-26 10:05 +0000 [r417212-417250] Corey Farrell <git at cfware.com>
+
+ * /, channels/chan_sip.c: chan_sip: Fix handling of "From" headers
+ longer than 256 characters From headers were processed using a
+ 256 character buffer on the stack. This change replaces that with
+ a heap allocation by ast_strdup. ASTERISK-23790 #close Reported
+ by: uniken1 Tested by: uniken1 Review:
+ https://reviewboard.asterisk.org/r/3669/ Patches:
+ chan_sip-large-from-header-1.8-r3.patch uploaded by wdoekes
+ (license 5674) ........ Merged revisions 417248 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 417249 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * main/astobj2_container.c: ao2_container node object ignores
+ REF_DEBUG in all places except one Almost every reference
+ operation against container node's uses __ao2_alloc or __ao2_ref,
+ thereby preventing ref logging for the nodes. One node reference
+ is released with ao2_t_ref, causing refcounter.py to falsely
+ report skews and leaks for many nodes. ASTERISK-23922 #close
+ Reported by: Corey Farrell Review:
+ https://reviewboard.asterisk.org/r/3670/
+
+2014-06-23 18:49 +0000 [r417142] Joshua Colp <jcolp at digium.com>
+
+ * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Return the length of
+ data written when sending via ICE instead of 0. ASTERISK-23834
+ #close Reported by: Richard Kenner ........ Merged revisions
+ 417141 from http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-23 15:53 +0000 [r417119] Richard Mudgett <rmudgett at digium.com>
+
+ * main/core_unreal.c: core_unreal: Fix off by one buffer overwrite
+ error. Appending the ;2 to the user supplied ;1 uniqueid to
+ create the ;2 version if the user did not also supply an extra
+ uniqueid for the ;2 channel resulted in allocating a buffer that
+ was one byte too small. * Fix off by one error in
+ ast_unreal_new_channels() when generating the ;2 uniqueid from
+ the user suppled ;1 version. * Pulled some long assignment lines
+ from if tests to improve line break readability in
+ ast_unreal_new_channels().
+
+2014-06-22 18:44 +0000 [r416995] George Joseph <george.joseph at fairview5.com>
+
+ * include/asterisk/astobj2.h, Makefile.rules, Makefile: astobj2:
+ Add an ao2_replace macro to astobj2.h This macro replaces one
+ object reference with another cleaning up the original. param dst
+ Pointer to the object that will be cleaned up. param src Pointer
+ to the object replacing it. src's ref count is bumped if it's
+ non-NULL. dst's ref count is decremented if it's non-NULL. src is
+ assigned to dst, This patch was reviewed on IRC by coreyfarrell
+ and mjordan. Tested by: George Joseph
+
+2014-06-20 23:16 +0000 [r416871-416931] George Joseph <george.joseph at fairview5.com>
+
+ * /, configure, include/asterisk/autoconfig.h.in: build: Allow
+ autoconf/ast_ext_tool_check to handle cross-compiling better.
+ ast_ext_tool_check.m4 isn't handling cases where a path to a
+ package is provided (E.G. --with-mysqlclient=/some/sysroot) and
+ the package has a config tool (E.G. mysql_config) and the package
+ has its own subdirectories in include or lib. For example,
+ mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
+ ast_ext_tool_check sets MYSQLCLIENT_LIB to
+ ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
+ includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
+ directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
+ fail and there are others in the same boat. The problem is caused
+ by logic in ast_ext_tool_check that overrides the result of the
+ config tool's --cflags and --libs options if package_DIR is set.
+ This patch prepends package_DIR (if specified) to the -L and -I
+ results from the package's config tool instead of overriding
+ them. A regenerated ./configure and
+ include/asterisk/autoconfig.h.in are included but can be
+ regenerated by running ./bootstrap.sh at any time. Tested by:
+ George Joseph Tested by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/3550/ ........ Merged
+ revisions 416929 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 416930 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * autoconf/ast_ext_tool_check.m4, /: build: Allow
+ autoconf/ast_ext_tool_check to handle cross-compiling better.
+ ast_ext_tool_check.m4 isn't handling cases where a path to a
+ package is provided (E.G. --with-mysqlclient=/some/sysroot) and
+ the package has a config tool (E.G. mysql_config) and the package
+ has its own subdirectories in include or lib. For example,
+ mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
+ ast_ext_tool_check sets MYSQLCLIENT_LIB to
+ ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
+ includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
+ directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
+ fail and there are others in the same boat. The problem is caused
+ by logic in ast_ext_tool_check that overrides the result of the
+ config tool's --cflags and --libs options if package_DIR is set.
+ This patch prepends package_DIR (if specified) to the -L and -I
+ results from the package's config tool instead of overriding
+ them. Tested by: George Joseph Tested by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/3550/ ........ Merged
+ revisions 416870 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-20 20:46 +0000 [r416849] Jonathan Rose <jrose at digium.com>
+
+ * res/parking/parking_manager.c: res_parking: Make manager commands
+ register with module information Previously module information
+ was not included due to an oversight. Review:
+ https://reviewboard.asterisk.org/r/3626/
+
+2014-06-20 15:22 +0000 [r416737-416806] George Joseph <george.joseph at fairview5.com>
+
+ * main/astobj2_private.h, main/astobj2_container_private.h,
+ main/astobj2_container.c, main/astobj2_hash.c,
+ main/astobj2_rbtree.c, build_tools/cflags.xml,
+ tests/test_astobj2.c: astobj2: Additional refactoring to push
+ impl specific code down into the impls. Move some implementation
+ specific code from astobj2_container.c into astobj2_hash.c and
+ astobj2_rbtree.c. This completely removes the need for
+ astobj2_container to switch on RTTI and it no longer has any
+ knowledge of the implementation details. Also adds AO2_DEBUG as a
+ new compile option in menuselect which controls astobj2 debugging
+ independently of AST_DEVMODE and REF_DEBUG. Tested by: George
+ Joseph Review: https://reviewboard.asterisk.org/r/3593/
+
+ * res/res_pjsip_endpoint_identifier_ip.c, main/acl.c,
+ include/asterisk/netsock2.h, include/asterisk/acl.h,
+ main/netsock2.c: pjsip cli: Change Identify to show CIDR notation
+ instead of netmasks. * Added ast_sockaddr_cidr_bits() to count
+ the 1 bits in an ast_sockaddr. * Added ast_ha_join_cidr() which
+ uses ast_sockaddr_cidr_bits() for the netmask instead of
+ ast_sockaddr_stringify_addr. * Changed
+ res_pjsip_endpoint_identifier_ip to call ast_ha_join_cidr()
+ instead of ast_ha_join() for the CLI output. This is a CLI change
+ only. AMI was not affected. Tested by: George Joseph Review:
+ https://reviewboard.asterisk.org/r/3652/
+
+2014-06-19 19:35 +0000 [r416734] Kinsey Moore <kmoore at digium.com>
+
+ * channels/sip/reqresp_parser.c, main/logger.c, main/test.c, /,
+ main/bridge.c, res/parking/parking_tests.c: Fix build warnings
+ with TEST_FRAMEWORK enabled ........ Merged revisions 416732 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 416733 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-19 16:03 +0000 [r416582-416669] George Joseph <george.joseph at fairview5.com>
+
+ * /, pbx/pbx_lua.c: Remove the problematic and unneeded
+ AST_MODFLAG_GLOBAL_SYMBOLS from pbx_lua.c
+ AST_MODFLAG_GLOBAL_SYMBOLS was causing the module to be
+ incorrectly loaded before pbx_config. pbx_config was therefore
+ blowing away contexts that were created by pbx_lua. With
+ AST_MODFLAG_DEFAULT the load order is now correct and contexs are
+ being properly merged. AST_MODFLAG_GLOBAL_SYMBOLS was not needed
+ anyway since no other modules needed its global symbols that
+ early. ASTERISK-23818 #close Reported by: Dennis Guse Tested by:
+ Dennis Guse Tested by: George Joseph Review:
+ https://reviewboard.asterisk.org/r/3629/ ........ Merged
+ revisions 416668 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * /, configs/extensions.lua.sample: Update extensions.lua.sample
+ with naming conflict guidance. The sample extensions.lua was
+ causing pbx_lua to fail to load when parsing 'app.goto("default",
+ "s", 1)' because in Lua 5.2, 'goto' is now a reserved word. This
+ patch adds guidance to extensions.lua.sample and changed
+ 'app.goto("default", "s", 1)' to 'app.['goto']("default", "s",
+ 1)'. ASTERISK-23844 #close Reported by: rnewton Tested by:
+ gtjoseph Review: https://reviewboard.asterisk.org/r/3627/
+ ........ Merged revisions 416581 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-18 04:16 +0000 [r416557] Matthew Jordan <mjordan at digium.com>
+
+ * main/stasis_channels.c: stasis_channels: Update the stasis cache
+ if manager variables are needed In r416211, the publishing of
+ variable changes was modified such that a cached channel snapshot
+ was used if manager variables were not requested with each AMI
+ event. This was done to reduce the amount of channel snapshots
+ created. However, an assumption was made that generating a
+ channel snapshot and publishing the snapshot to the channel topic
+ was sufficient to ensure that the cache would be updated; this is
+ not the case. The channel snapshot type must be used to force a
+ snapshot update. This patch updates the publication of channel
+ variables such that the cache is updated prior to publication of
+ the channel variable message if manager variables are in use.
+ This ensures that all AMI events receive the variable update when
+ they are supposed to. Note that this issue was caught by the
+ Asterisk Test Suite (go go testing)
+
+2014-06-17 18:43 +0000 [r416442-416502] Mark Michelson <mmichelson at digium.com>
+
+ * /, funcs/func_strings.c: Allow the PUSH and UNSHIFT functions to
+ set inheritable channel variables. ........ Merged revisions
+ 416500 from http://svn.asterisk.org/svn/asterisk/branches/1.8
+ ........ Merged revisions 416501 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * res/res_pjsip_xpidf_body_generator.c,
+ res/res_pjsip_pidf_body_generator.c: Fix string growth algorithm
+ for XML presence bodies. pjpidf_print() does not return < 0 if
+ there is not enough room for the document to be printed. Rather,
+ it returns 39, the length of the XML prolog. The algorithm also
+ had a bug in that it would return if it attempted to grow the
+ string larger.
+
+2014-06-17 16:26 +0000 [r416441] Kinsey Moore <kmoore at digium.com>
+
+ * /, res/res_musiconhold.c: MoH: Don't restart stream on repeated
+ start calls Currently, music on hold will stop and then start
+ again from the beginning if ast_moh_start() is called multiple
+ times. This can happen if a call is put on hold repeatedly (the
+ channel receives multiple HOLD control frames) and can be
+ triggered from ARI by starting MoH on a channel multiple times.
+ This is fairly jarring/annoying to users. This change prevents
+ MoH from being restarted if the requested music class is the same
+ as the one currently playing. This includes an extra check to
+ prevent the errors previously experienced in the testsuite and
+ has 100+ test runs behind it. Review:
+ https://reviewboard.asterisk.org/r/3615/ ........ Merged
+ revisions 416439 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 416440 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-16 09:02 +0000 [r416338] Igor Goncharovskiy <igor.goncharovsky at gmail.com>
+
+ * main/db.c, res/res_config_sqlite3.c, cdr/cdr_sqlite3_custom.c, /,
+ cel/cel_sqlite3_custom.c: We have faced situation when using CDR
+ and CEL by sqlite3 modules. With system having high load (~100
+ concurrent calls created by sipp) we found many cdr and cel
+ records missed. There is special finction in sqlite3, that make
+ able to fix this situation - sqlite3_wait_timeout, that also can
+ replace awful code cdr_sqlite3 ad cel_sqlite3 modules. Also this
+ function can be used for aastdb and res_config_sqlite3 to avoid
+ missed writes to sqlite db. #ASTERISK-23766 #close Reported by:
+ Igor Goncharovsky Review:
+ https://reviewboard.asterisk.org/r/3559/ ........ Merged
+ revisions 416336 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 416337 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-16 02:39 +0000 [r416255-416318] Matthew Jordan <mjordan at digium.com>
+
+ * channels/chan_sip.c: channels/chan_sip: Forbid remote bridging if
+ T.38 is negotiated When a framehook is removed - such as the fax
+ gateway framehook - the bridge framework will re-evaluate the
+ bridge mixing technologies to see if it can improve the bridging.
+ When this occurs, get_rtp_info will be called to determine if
+ local or remote bridging can be used. Using remote bridging will
+ cause a fax to fail, as direct media negotiation will cause some
+ small number of packets to not arrive at the remote endpoint.
+ This patch forces local native bridging if T.38 negotiation is in
+ progress or has been established.
+
+ * main/channel_internal_api.c: channel_internal_api: Publish a
+ snapshot change when linkedids change Snapshots are now not
+ published *quite* as much as they used to. One instance where
+ they are not published any longer is during bridge enter and exit
+ - the state of the channel doesn't change, the bridge does.
+ However, channels are changed when a linkedid is propagated;
+ previously, the channel's state would be updated and published
+ during the bridge enter event. Now this must be explicitly done.
+
+ * tests/test_stasis_endpoints.c: test_stasis_endpoints: Remove
+ expected channel snapshot We no longer publish a channel snapshot
+ when it is associated with an endpoint; after all, the channel
+ itself hasn't changed - the endpoint state has changed. This
+ updates the channel_messages unit test accordingly.
+
+ * res/res_musiconhold.c, /: MoH: Undo commit r416150 (1.8) This
+ patch reverts r416150. When the comparison between mohclass->name
+ and state->class->name is made, you are not guaranteed that (a)
+ state->class is non-NULL or that state or state->class are in a
+ safe state. Crashes caught by the bridges/transfer_capabilities
+ test. ........ Merged revisions 416251 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 416252 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2014-06-13 18:16 +0000 [r416211] Matthew Jordan <mjordan at digium.com>
+
+ * main/channel.c, main/dial.c, main/manager.c,
+ include/asterisk/stasis_channels.h, res/res_agi.c,
+ res/res_pjsip/pjsip_configuration.c, main/stasis_channels.c,
+ res/ari/resource_channels.c, main/bridge_channel.c, main/pbx.c,
+ main/stasis_cache.c, apps/app_meetme.c, main/pickup.c,
+ main/channel_internal_api.c, include/asterisk/channel.h,
+ main/core_local.c, main/aoc.c, main/endpoints.c, main/cel.c,
+ apps/app_queue.c, main/stasis_bridges.c, apps/app_agent_pool.c,
+ main/cli.c: stasis: Reduce creation of channel snapshots to
+ improve performance During some performance testing of Asterisk
+ with AGI, ARI, and lots of Local channels, we noticed that
+ there's quite a hit in performance during channel creation and
+ releasing to the dialplan (ARI continue). After investigating the
+ performance spike that occurs during channel creation, we
+ discovered that we create a lot of channel snapshots that are
+ technically unnecessary. This includes creating snapshots during:
+ * AGI execution * Returning objects for ARI commands * During
+ some Local channel operations * During some dialling operations *
+ During variable setting * During some bridging operations And
+ more. This patch does the following: - It removes a number of
+ fields from channel snapshots. These fields were rarely used,
+ were expensive to have on the snapshot, and hurt performance.
+ This included formats, translation paths, Log Call ID, callgroup,
+ pickup group, and all channel variables. As a result, AMI Status,
+ "core show channel", "core show channelvar", and "pjsip show
+ channel" were modified to either hit the live channel or not show
+ certain pieces of data. While this is unfortunate, the
+ performance gain from this patch is worth the loss in behaviour.
+ - It adds a mechanism to publish a cached snapshot + blob. A
+ large number of publications were changed to use this, including:
+ - During Dial begin - During Variable assignment (if no AMI
+ variables are emitted - if AMI variables are set, we have to make
+ snapshots when a variable is changed) - During channel pickup -
+ When a channel is put on hold/unhold - When a DTMF digit is
+ begun/ended - When creating a bridge snapshot - When an AOC event
+ is raised - During Local channel optimization/Local bridging -
+ When endpoint snapshots are generated - All AGI events - All ARI
+ responses that return a channel - Events in the AgentPool,
+ MeetMe, and some in Queue - Additionally, some extraneous channel
+ snapshots were being made that were unnecessary. These were
+ removed. - The result of ast_hashtab_hash_string is now cached in
+ stasis_cache. This reduces a large number of calls to
+ ast_hashtab_hash_string, which reduced the amount of time spent
+ in this function in gprof by around 50%. ASTERISK-23811 #close
+ Reported by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/3568/
+
[... 31904 lines stripped ...]
More information about the asterisk-commits
mailing list