diff --git a/.lastclean b/.lastclean new file mode 100644 index 0000000000..425151f3a4 --- /dev/null +++ b/.lastclean @@ -0,0 +1 @@ +40 diff --git a/.version b/.version new file mode 100644 index 0000000000..92228d6032 --- /dev/null +++ b/.version @@ -0,0 +1 @@ +12.0.0-alpha2 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000000..1605bc9ab1 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,19187 @@ +2013-10-04 Asterisk Development Team + + * Asterisk 12.0.0-alpha2 Released. Kind of. + + * Also, the time on this machine may be a lie, cus it's 21:33 + and Richard committed that IAX2 compilation fix an hour ago. + Time: it's a weird thing. + +2013-10-05 00:41 +0000 [r400588] Richard Mudgett + + * channels/iax2/include/parser.h: chan_iax2: Fix compile error. + +2013-10-04 21:40 +0000 [r400567] Michael L. Young + + * main/netsock2.c, channels/iax2/include/parser.h, main/acl.c, + include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.c, + channels/iax2/parser.c, main/netsock.c: Add IPv6 Support To + chan_iax2 This patch adds IPv6 support to chan_iax2. Yay! (closes + issue ASTERISK-22025) Patches: iax2-ipv6-v5-reviewboard.diff by + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2660/ + +2013-10-04 19:31 +0000 [r400552] David M. Lee + + * rest-api/api-docs/applications.json (added): Added missing file + from r400522 + +2013-10-04 18:42 +0000 [r400532-400542] Jonathan Rose + + * res/res_pjsip_logger.c: chan_pjsip: Make logger togglable without + loading/unloading This patch makes the res_pjsip_logger do a few + things... First, it will be built and installed by default now, + so end users won't need to enable it in menuselect. Second, while + it is loaded, it no longer will immediately issue log messages. + Upon loading, it is in the disabled state and must be turned on + with the new CLI command. The CLI command 'pjsip set logger + has been added and can be used to do the following: + pjsip set logger on: Enables logger for all PJSIP traffic pjsip + set logger off: Disables logger for all PJSIP traffic pjsip set + logger host : Enables logger for the specific host Review: + https://reviewboard.asterisk.org/r/2900/ + + * configs/extconfig.conf.sample, configs/sorcery.conf.sample, + contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py + (added), + contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py: + chan_pjsip: Add alembic scripts for generating db tables for + PJSIP Also updates sample configurations for sorcery and + extconfig to demonstrate how to use databases created by that + alembic script. (closes issue ASTERISK-22133) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2892/ + +2013-10-04 15:54 +0000 [r400522] Matthew Jordan + + * res/ari/resource_applications.h (added), res/res_stasis.c, + main/asterisk.c, rest-api/api-docs/endpoints.json, + rest-api/api-docs/events.json, res/stasis/app.c, + include/asterisk/endpoints.h, + rest-api-templates/ari_model_validators.h.mustache, + res/res_ari_applications.c (added), res/ari/resource_endpoints.h, + include/asterisk/stasis_app.h, res/stasis/app.h, + rest-api/resources.json, include/asterisk/_private.h, + main/endpoints.c, res/ari/ari_model_validators.c, + res/ari/ari_model_validators.h, res/res_ari_model.c, main/json.c, + res/ari.make, res/ari/resource_applications.c (added): ARI: Add + subscription support This patch adds an /applications API to ARI, + allowing explicit management of Stasis applications. * GET + /applications - list current applications * GET + /applications/{applicationName} - get details of a specific + application * POST /applications/{applicationName}/subscription - + explicitly subscribe to a channel, bridge or endpoint * DELETE + /applications/{applicationName}/subscription - explicitly + unsubscribe from a channel, bridge or endpoint Subscriptions work + by a reference counting mechanism: if you subscript to an event + source X number of times, you must unsubscribe X number of times + to stop receiveing events for that event source. Review: + https://reviewboard.asterisk.org/r/2862 (issue ASTERISK-22451) + Reported by: Matt Jordan + +2013-10-04 15:48 +0000 [r400510-400520] Joshua Colp + + * res/res_pjsip.c: Enclose the To URI and update its user portion + if a request user has been specified. + + * res/res_pjsip_session.c: Replace the connection address at the + SDP level if altering the SDP with the external media address. + +2013-10-04 04:54 +0000 [r400508] David M. Lee + + * rest-api/api-docs/playback.json, res/res_ari_playback.c: + Corrected response class for stopPlayback + +2013-10-03 23:11 +0000 [r400471] Jonathan Rose + + * /, channels/chan_sip.c: chan_sip: Don't ignore expires value in + contact header if it lacks semicolon (closes issue + ASTERISK-22574) Reported by: Filip Jenicek Patches: + chan_sip_expires.patch uploaded by Filip Jenicek (license 6277) + ........ Merged revisions 400469 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 400470 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-10-03 21:40 +0000 [r400460] Matthew Jordan + + * main/channel_internal_api.c: Remove publication of a channel + snapshot when the technology is set This patch removes said + publication for a few reasons: (1) It is unnecessary. Association + of the channel technology with a specific channel is an + implementation detail that should be assumed to "just happen", + and consumers of Stasis don't need to be informed about it. (2) + Publication of said message can now cause crashes, as the actual + creation of a channel in normal locations now stages its + messages. As a result, things that create dummy channels (such as + the SIP RTP QOS unit test) and associate them with a channel + technology were now crashing, as the channel itself was not known + by Stasis. + +2013-10-03 19:31 +0000 [r400442] Joshua Colp + + * main/cdr.c: When serializing CDR variables (like for "core show + channels") don't output an error if CDRs aren't enabled. + +2013-10-03 19:29 +0000 [r400440] Kinsey Moore + + * /, main/security_events.c: Fix security events for AMI invalid + password In r337595, additional security events were added for + chan_sip authentication failures. The new IEs added to the + existing invalid password event were defined as required IEs, but + existing users of the event did not set the new IEs and could not + since they didn't apply to existing uses. They are now marked as + optional IEs. (closes issue ASTERISK-22578) Reported by: Matt + Jordan ........ Merged revisions 400421 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-10-03 19:11 +0000 [r400403] Mark Michelson + + * include/asterisk/bridge_technology.h, + bridges/bridge_native_rtp.c: Fix assumption in + bridge_native_rtp.c regarding number of participants in a bridge. + When a party leaves a bridge, there may be more participants in + the bridge than expected. As such, it is important not to make + assumptions regarding the list of channels in a bridge. This + change makes it so that when a party leaves a native RTP bridge, + we unbridge it and the party it was bridged with. Previously, the + first and last channels in the list were unbridged since it was + assumed that these were the two channels that had been bridged. + As previously stated, a new party had been inserted into the + bridge, so this logic did not work properly. (closes issue + ASTERISK-22615) reported by Matt Jordan (closes issue + ASTERISK-22532) reported by Matt Jordan Review: + https://reviewboard.asterisk.org/r/2899 + +2013-10-03 19:05 +0000 [r400401] Joshua Colp + + * res/ari/resource_channels.c: Fix a crash caused by muting and + unmuting a channel in ARI without specifying a direction. (closes + issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by + Matt Jordan, whose office I have taken over in the name of + Canada. + +2013-10-03 18:44 +0000 [r400398] Richard Mudgett + + * main/cel.c: cel: Some whitespace cleanups + +2013-10-03 18:28 +0000 [r400384-400395] Kinsey Moore + + * res/res_rtp_multicast.c, /: Ensure res_rtp_mutlicast sets SSRC + properly This fixes a bug where the SSRC field on multicast RTP + can be stuck at 0 which can cause problems for endpoints trying + to make sense of incoming streams. (closes issue ASTERISK-22567) + Reported by: Simone Camporeale Patches: + 22567_res_mulitcast_ssrc.patch uploaded by Simone Camporeale + (License 6536) ........ Merged revisions 400393 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 400394 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + main/xml.c: Detect and use xsltCleanupGlobals when available This + introduces usage of an additional libxslt cleanup function, + xsltCleanupGlobals, when the configure script detects that it is + available. Early versions of the library did not include this + function. (closes issue ASTERISK-22570) Reported by: Corey + Farrell Patches: xsltCleanupGlobals.patch uploaded by Corey + Farrell (License 5909) + +2013-10-03 17:55 +0000 [r400383] Matthew Jordan + + * contrib/ast-db-manage/config/env.py, + contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py, + contrib/ast-db-manage/voicemail/env.py: Update Alembic database + scripts for external scripting and PostgreSQL, Oracle This patch + does the following: 1) The env scripts have been updated to be + tolerant of a NULL configuration file. This occurs when + configuration is provided by an external script, such that the + actual config.ini file is not used. 2) Enum types have all been + given names. This is needed for PostgreSQL script generation. 3) + The identifier meetme_confno_starttime_endtime is greater than 30 + characters, and hence invalid for Oracle databases. This has been + truncated down to meetme_confno_start_end. + +2013-10-03 16:22 +0000 [r400373] Richard Mudgett + + * channels/chan_vpb.cc: chan_vpb: Make compile again. + +2013-10-03 14:56 +0000 [r400362] Mark Michelson + + * tests/test_cel.c: Get rid of uses of stasis_topic_wait() + +2013-10-03 14:51 +0000 [r400360] Joshua Colp + + * res/res_pjsip_t38.c, res/res_pjsip_sdp_rtp.c: Fix crashes in + res_pjsip_sdp_rtp and res_pjsip_t38 when a stream is rejected and + external_media_address is set. The callback function for changing + the media address in streams wrongly assumes that a connection + line will always be present. This is false as no line is present + if a stream has been rejected. (closes issue ASTERISK-22645) + Reported by: Rusty Newton + +2013-10-02 22:34 +0000 [r400318-400356] Mark Michelson + + * channels/chan_motif.c, res/res_agi.c, channels/chan_alsa.c, + apps/app_confbridge.c, addons/chan_mobile.c, + channels/chan_mgcp.c, res/res_clioriginate.c, + channels/chan_sip.c, channels/chan_bridge_media.c, + res/res_pjsip_sdp_rtp.c, tests/test_format_api.c, + bridges/bridge_simple.c, apps/app_originate.c, + res/parking/parking_applications.c, main/core_local.c, + channels/chan_console.c, channels/chan_oss.c, + include/asterisk/format_cap.h, res/res_pjsip_session.c, + res/ari/resource_bridges.c, channels/chan_jingle.c, + channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c, + channels/chan_h323.c, main/file.c, + res/res_pjsip/pjsip_configuration.c, tests/test_config.c, + channels/chan_nbs.c, bridges/bridge_native_rtp.c, + res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c, + main/rtp_engine.c, addons/chan_ooh323.c, + channels/chan_multicast_rtp.c, main/ccss.c, apps/app_meetme.c, + bridges/bridge_holding.c, main/bridge_basic.c, + bridges/bridge_softmix.c, channels/chan_gtalk.c, + channels/chan_iax2.c, main/media_index.c, main/channel.c, + channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c, + main/manager.c, pbx/pbx_spool.c, channels/chan_skinny.c, + main/format_cap.c: Cache string values of formats on + ast_format_cap() to save processing. Channel snapshots have + string representations of the channel's native formats. Prior to + this change, the format strings were re-created on ever channel + snapshot creation. Since channel native formats rarely change, + this was very wasteful. Now, string representations of formats + may optionally be stored on the ast_format_cap for cases where + string representations may be requested frequently. When formats + are altered, the string cache is marked as invalid. When strings + are requested, the cache validity is checked. If the cache is + valid, then the cached strings are copied. If the cache is + invalid, then the string cache is rebuilt and copied, and the + cache is marked as being valid again. Review: + https://reviewboard.asterisk.org/r/2879 + + * /: Remove svn:mergeinfo property. + + * main/stasis_endpoints.c, main/stasis_wait.c (removed), + res/ari/resource_endpoints.c, /, include/asterisk/stasis.h, + tests/test_cel.c, include/asterisk/stasis_endpoints.h, + channels/chan_pjsip.c, main/stasis.c: Remove unnecessary waits + from stasis. Since caches are updated on publisher threads, there + is no need to wait for the cache updates to occur after a stasis + message is published. In the case of chan_pjsip device state + changes, this set of changes caused an improvement to + performance. Review: https://reviewboard.asterisk.org/r/2890 + +2013-10-02 21:32 +0000 [r400316] Michael L. Young + + * channels/chan_iax2.c, /: Cast Integer Argument To Unsigned Char + The member reg in the peercnt structure is an unsigned char and + peercnt_modify() is expecting an unsigned char argument which + gets assigned to peercnt->reg. This patch fixes that by casting + the integer argument being passed to peercnt_modify to unsigned + char. ........ Merged revisions 400314 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 400315 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-10-02 21:25 +0000 [r400312] Matthew Jordan + + * main/cel.c, main/cdr.c, main/manager.c: Only create Stasis + subscriptions when enabled Subscribing to Stasis isn't free. As + such, this patch makes AMI, CDR, and CEL - the "big 3" - only + subscribe when enabled. Toggling their availability via a .conf + file will unsubscribe/subscribe as appropriate. Review: + https://reviewboard.asterisk.org/r/2888/ + +2013-10-02 20:30 +0000 [r400303] Richard Mudgett + + * main/pbx.c: Originate: Make setting caller id on outgoing call + use either name or number. Previous code was requiring both name + and number to be available. Also restored a comment block on why + caller id is also set on an outgoing call leg in addition to + connected line from earlier versions of Asterisk. + +2013-10-02 19:19 +0000 [r400291] Kinsey Moore + + * rest-api/api-docs/asterisk.json: Correct allowable values for ARI + general information filter + +2013-10-02 18:57 +0000 [r400286] Matthew Jordan + + * main/cdr.c: Fix the CDR CLI command 'cdr show active {channel}' + When the switch from channel names to channel unique IDs + happened, the poor CLI command got left in the dust. This fixes + the command so that users can once again see how Asterisk is + messing up your billing information. + +2013-10-02 18:42 +0000 [r400284] Joshua Colp + + * res/res_pjsip_t38.c: Fix a crash in res_pjsip_t38 caused by the + wrong assumption that a session will always have a channel. When + starting up or shutting down this assumption is false. + +2013-10-02 18:25 +0000 [r400281] Tzafrir Cohen + + * Makefile, doc/astdb2sqlite3.8 (added), /, doc/astdb2bdb.8 + (added): man pages for astdb2bdb and astdb2sqlite3 Review: + https://reviewboard.asterisk.org/r/2898/ ........ Merged + revisions 400279 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-10-02 17:11 +0000 [r400268-400270] Richard Mudgett + + * apps/app_stack.c, res/stasis_recording/stored.c, main/json.c, + main/stasis_cache.c, res/res_ari.c, main/utils.c: MALLOC_DEBUG: + Fix some misuses of free() when MALLOC_DEBUG is enabled. * There + were several places in ARI where an external library was + mallocing memory that must always be released with free(). When + MALLOC_DEBUG is enabled, free() is redirected to the MALLOC_DEBUG + version. Since the external library call still uses the normal + malloc(), MALLOC_DEBUG complains that the freed memory block is + not registered and will not free it. These cases must use + ast_std_free(). * Changed calls to asprintf() and vasprintf() to + the equivalent ast_asprintf() and ast_vasprintf() versions + respectively. + + * channels/sig_ss7.c: sig_ss7: Fix compiler warnings. + +2013-10-02 16:20 +0000 [r400245-400265] Joshua Colp + + * channels/sig_pri.c, channels/chan_iax2.c, channels/chan_jingle.c, + main/channel.c, main/dial.c, channels/chan_dahdi.c, + include/asterisk/stasis_channels.h, channels/chan_skinny.c, + channels/chan_motif.c, channels/chan_alsa.c, + main/stasis_channels.c, channels/chan_pjsip.c, + channels/sig_ss7.c, channels/chan_mgcp.c, + channels/chan_unistim.c, apps/app_dial.c, main/pbx.c, + channels/chan_sip.c, main/bridge.c, include/asterisk/channel.h, + channels/chan_gtalk.c, channels/chan_console.c: Reduce channel + snapshot creation and publishing by up to 50%. This change + introduces the ability to stage channel snapshot creation and + publishing by suppressing the implicit creation and publishing + that some functions have. Once all operations are executed the + staging is marked as done and a single snapshot is created and + published. Review: https://reviewboard.asterisk.org/r/2889/ + + * res/res_pjsip_session.c: Fix a random one way audio issue in + PJSIP. Due to the asynchronous design of the PJMEDIA SDP + negotiator it was possible for the SDP to be negotiated *after* a + channel was created and after it was being wait on by an + application. It is only after negotiation occurs that the file + descriptors for RTP are placed on the channel. Since the channel + was already being waited on these file descriptors were not + monitored, causing incoming media to never be read. This change + wakes up any application waiting on the channel so that added + file descriptors end up being monitored. (closes issue AST-1227) + Reported by: John Bigelow + + * res/stasis/control.c, include/asterisk/stasis_app.h, + res/ari/resource_channels.c: Allow specifying a channel to dial + an extension and context in an ARI dial operation. (issue + ASTERISK-22625) Reported by: Scott Griepentrog + + * res/res_pjsip_session.c: Retrieve and store the hostname only + once so multiple threads do not potentially initialize it at the + same time. + +2013-10-01 21:17 +0000 [r400227-400236] Richard Mudgett + + * channels/chan_dahdi.c, channels/sig_analog.c: chan_dahdi: Fix + analog parking using flash-hook. Transferring an analog call + using a flash-hook to parking would fail to park the call and + result in an invalid ao2 object unref. * Park the correct bridged + channel. + + * main/features_config.c: Features: Rearm the parking config + options have moved warning for each reload. + +2013-10-01 15:48 +0000 [r400217] Matthew Jordan + + * main/cdr.c: Filter out internal channels for bridge leave + messages and parked call messages Granted, if you manage to park + a Conference announcer channel, something has gone horrifically + wrong. + +2013-09-30 21:31 +0000 [r400205] Jonathan Rose + + * configs/res_parking.conf.sample, configs/features.conf.sample: + configuration samples: Pull all parking related stuff out of + features.conf This patch also adds documentation for parking from + features.conf to res_parking.conf + +2013-09-30 19:57 +0000 [r400194-400196] Matthew Jordan + + * funcs/func_cdr.c: Parse arguments passed to the CDR_PROP function + correctly I can only blame this on a bad merge, because this in + no way worked properly the way it was written. Mea culpa. The + function should now parse its arguments correctly and function + properly. (Note that the API used by the CDR_PROP function has + working unit tests... this was merely bad coding of the actual + registered function) (closes issue ASTERISK-22613) Reported by: + Private Name + + * main/cdr.c: Remove spurious event raised when CDRs are reloaded + The Reload event is now raised by the module loading core. As + such, the Reload event in the CDR engine was a duplicate and not + needed. + +2013-09-30 18:48 +0000 [r400178-400181] David M. Lee + + * apps/confbridge/confbridge_manager.c, res/res_agi.c, + res/res_stasis_test.c, main/manager_channels.c, + main/manager_mwi.c, res/res_pjsip_refer.c, apps/app_voicemail.c, + main/stasis_cache.c, main/stasis_wait.c, res/stasis/app.c, + include/asterisk/stasis_internal.h, channels/chan_sip.c, + main/manager_endpoints.c, include/asterisk/stasis.h, + main/devicestate.c, res/res_xmpp.c, main/taskprocessor.c, + main/sounds_index.c, main/endpoints.c, channels/chan_iax2.c, + res/res_jabber.c, res/parking/parking_bridge_features.c, + res/res_chan_stats.c, main/cdr.c, main/manager_bridges.c, + main/manager.c, channels/chan_skinny.c, tests/test_devicestate.c, + res/res_pjsip_mwi.c, tests/test_taskprocessor.c, + tests/test_stasis.c, res/parking/parking_manager.c, + channels/chan_mgcp.c, res/res_security_log.c, main/pbx.c, + main/ccss.c, apps/app_meetme.c, include/asterisk/taskprocessor.h, + res/parking/parking_applications.c, channels/sig_pri.c, + apps/app_queue.c, main/cel.c, main/stasis.c, + channels/chan_dahdi.c, main/stasis_message_router.c, + funcs/func_presencestate.c: Remove dispatch object allocation + from Stasis publishing While looking for areas for performance + improvement, I realized that an unused feature in Stasis was + negatively impacting performance. When a message is sent to a + subscriber, a dispatch object is allocated for the dispatch, + containing the topic the message was published to, the subscriber + the message is being sent to, and the message itself. The topic + is actually unused by any subscriber in Asterisk today. And the + subscriber is associated with the taskprocessor the message is + being dispatched to. First, this patch removes the unused topic + parameter from Stasis subscription callbacks. Second, this patch + introduces the concept of taskprocessor local data, data that may + be set on a taskprocessor and provided along with the data + pointer when a task is pushed using the + ast_taskprocessor_push_local() call. This allows the task to have + both data specific to that taskprocessor, in addition to data + specific to that invocation. With those two changes, the dispatch + object can be removed completely, and the message is simply + refcounted and sent directly to the taskprocessor. Review: + https://reviewboard.asterisk.org/r/2884/ + + * include/asterisk/vector.h (added), res/stasis/app.c, + main/channel_internal_api.c, include/asterisk/stasis.h, + apps/app_queue.c, main/cel.c, main/stasis.c, + tests/test_stasis_endpoints.c, main/cdr.c, + main/manager_bridges.c, main/manager.c, main/manager_system.c, + tests/test_stasis.c, main/manager_channels.c, main/manager_mwi.c, + main/stasis_cache_pattern.c: Optimize how Stasis forwards are + dispatched This patch optimizes how forwards are dispatched in + Stasis. Originally, forwards were dispatched as subscriptions + that are invoked on the publishing thread. This did not account + for the vast number of forwards we would end up having in the + system, and the amount of work it would take to walk though the + forward subscriptions. This patch modifies Stasis so that rather + than walking the tree of forwards on every dispatch, when + forwards and subscriptions are changed, the subscriber list for + every topic in the tree is changed. This has a couple of + benefits. First, this reduces the workload of dispatching + messages. It also reduces contention when dispatching to + different topics that happen to forward to the same aggregation + topic (as happens with all of the channel, bridge and endpoint + topics). Since forwards are no longer subscriptions, the bulk of + this patch is simply changing stasis_subscription objects to + stasis_forward objects (which, admittedly, I should have done in + the first place.) Since this required me to yet again put in a + growing array, I finally abstracted that out into a set of + ast_vector macros in asterisk/vector.h. Review: + https://reviewboard.asterisk.org/r/2883/ + + * main/sem.c (added), main/stasis.c, main/stasis_config.c + (removed), include/asterisk/taskprocessor.h, configure, + include/asterisk/autoconfig.h.in, configs/stasis.conf.sample + (removed), include/asterisk/sem.h (added), configure.ac, + include/asterisk/stasis.h, main/taskprocessor.c: Taskprocessor + optimization; switch Stasis to use taskprocessors This patch + optimizes taskprocessor to use a semaphore for signaling, which + the OS can do a better job at managing contention and waiting + that we can with a mutex and condition. The taskprocessor + execution was also slightly optimized to reduce the number of + locks taken. The only observable difference in the taskprocessor + implementation is that when the final reference to the + taskprocessor goes away, it will execute all tasks to completion + instead of discarding the unexecuted tasks. For systems where + unnamed semaphores are not supported, a really simple semaphore + implementation is provided. (Which gives identical performance as + the original taskprocessor implementation). The way we ended up + implementing Stasis caused the threadpool to be a burden instead + of a boost to performance. This was switched to just use + taskprocessors directly for subscriptions. Review: + https://reviewboard.asterisk.org/r/2881/ + +2013-09-30 15:55 +0000 [r400141] Kinsey Moore + + * configs/sip.conf.sample, CHANGES, /, channels/chan_sip.c, + configs/pjsip.conf.sample, res/res_pjsip_outbound_registration.c: + Allow Asterisk to retry after 403 on register This adds a global + option in chan_sip to allow it to continue attempting + registration if a 403 is received, clearing the cached nonce and + treating it as a non-fatal response. Normally, this would cause + registration attempts to that endpoint to stop. This also adds a + similar per-outbound-registration option to chan_pjsip which + allows the retry interval to be altered for 403 responses to + REGISTER requests. (closes issue ASTERISK-17138) Review: + https://reviewboard.asterisk.org/r/2874/ Reported by: Rudi + ........ Merged revisions 400137 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 400140 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-30 15:24 +0000 [r400138] David M. Lee + + * main/taskprocessor.c, include/asterisk/stasis_message_router.h, + res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c, + main/astobj2.c, main/stasis.c, main/stasis_message_router.c: + Stasis performance improvements This patch addresses several + performance problems that were found in the initial performance + testing of Asterisk 12. The Stasis dispatch object was allocated + as an AO2 object, even though it has a very confined lifecycle. + This was replaced with a straight ast_malloc(). The Stasis + message router was spending an inordinate amount of time + searching hash tables. In this case, most of our routers had 6 or + fewer routes in them to begin with. This was replaced with an + array that's searched linearly for the route. We more heavily + rely on AO2 objects in Asterisk 12, and the memset() in ao2_ref() + actually became noticeable on the profile. This was #ifdef'ed to + only run when AO2_DEBUG was enabled. After being misled by an + erroneous comment in taskprocessor.c during profiling, the wrong + comment was removed. Review: + https://reviewboard.asterisk.org/r/2873/ + +2013-09-28 22:56 +0000 [r400058-400121] Matthew Jordan + + * res/res_pjsip_notify.c, configs/pjsip_notify.conf.sample (added): + res_pjsip_notify: Add documentation We forgot to add + documentation for res_pjsip_notify, which would prevent it from + being loaded. Whoops. This patch also updates res_pjsip_notify to + use pjsip_notify.conf, which now has its own sample file in the + configs directory as well. Review: + https://reviewboard.asterisk.org/r/2835/ + + * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Correct erroneous + lost packet information in RTCP reports RTCP's calculation of the + number of lost packets in an RTP stream is based on that stream's + sequence number count, the number of received packets, and how + many packets we expect to receive. When the SSRC for an RTP + stream changes, there can - and almost always will be - a large + jump in the next packet's timestamp and sequence number. If we + don't reset the number of received packets, sequence number + count, and other metrics used by RTCP, the next RR/SR report will + use the previous SSRC's values to calculate the lost packet count + for the new SSRC - resulting in a very large number of lost + packets. This patch modifies res_rtp_asterisk such that, if it + detects a SSRC change, it will reset the various values used by + the RTCP calculations. From the perspective of RTCP, this appears + as a new media stream - which is what it is. Review: + https://reviewboard.asterisk.org/r/2886/ (closes issue AST-1174) + Reported by: Thomas Arimont ........ Merged revisions 400089 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 400093 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, configure, configure.ac: Add check for openSUSE when detecting + bfd library In ASTERISK-17842, some additional library checks + were added to the configure script so that the bfd library could + be found on CentOS and Fedora systems. As it turns out, openSUSE + requires an additional library. This patch adds another check to + the configure script for openSUSE that will add that library. + Review: https://reviewboard.asterisk.org/r/2885/ (closes issue + AST-1169) Reported by: Guenther Kelleter ........ Merged + revisions 400073 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 400075 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/cdr.c: CDR: Improve handling of parking; resolve assertion + when originating into park This patch covers two problems: 1) + Currently, when a call is transferred into a parking lot from a + bridge (using either the blind transfer or one touch parking + mechanisms), the application fails to be set to "Park" in the + resulting CDR record for the parked channel. This is due to the + ParkedCall message arriving before the BridgeEnter for the + channel entering the parking bridge. The ParkedCall message isn't + handled as the CDR for the channel has already been finalized + (due to the channel having left its two party bridge), and the + BridgeEnter - which creates the new CDR - doesn't have the + parking information. This patch modifies the behavior so that + reception of a ParkedCall message will - if not handled by a CDR + chain - cause a new CDR to be created and put into the Parking + state. 2) It fixes a FRACK that occurred when a channel is + originated into a parking space. The DialedPending state - which + occurs for both Dialed and Originated channels - assumed that it + couldn't handle the parking transitions due to it having a Party + B; however, Originated channels don't have a Party B. As such, + the existing CDR needs to transition into the parking state - + this patch does that. Review: + https://reviewboard.asterisk.org/r/2877/ (closes issue + ASTERISK-22482) Reported by: Richard Mudgett + + * apps/app_queue.c: app_queue: Make manager events tolerant of + Local channel shenanigans app_queue currently attempts to handle + Local channel optimizations in an effort to provide accurate + information in Stasis messages (and their corresponding AMI + events) as well as the Queue log. Sometimes, however, things + don't go as planned. Consider the following scenario: SIP/foo <-> + L;1 <-> L;2 <-> SIP/agent SIP/agent answers, triggering a Local + channel optimization. app_queue will normally do the following: * + Listen for the Local optimization events and update our agent + accordingly to SIP/agent in the queue log and messages * When we + get a hangup, publish the AgentComplete event based on our + information (SIP/foo and SIP/agent) However, as with all things + that depend on sanity from something as capricious as Local + channels, things can go wrong: (1) SIP/agent immediately hangs up + upon answering. This triggers a race condition between + termination messages coming from SIP/agent and the ongoing Local + channel optimization messages. (Note that this can also occur + with SIP/foo) (2) In a race condition, Asterisk can (rarely) + deliver the hangup messages prior to the Local channel + optimization. In that case, the messages *may* arrive to + app_queue in the following order: * Hangup SIP/Agent * Hangup + SIP/foo * Optimize L;1/L;2 * Hangup L;2 * Hangup L;1 When + app_queue receives the hangup of the agent or the caller, it will + attempt to publish the AgentComplete event. However, it now has a + problem - it thinks its agent is the ;1 side of the Local + channel, as it never received the optimization event. At the same + time, that channel is already gone. This results in getting NULL + from the Stasis cache. What's more, we can't really wait for the + optimization message, as we are currently handling the hangup of + the channel that the optimization event would tell us to use. + This patch modifies the behavior in app_queue such that, since we + still have a lot of pertinent queue information (interface, queue + name, etc.), we now raise the event with what information we + know. The channels involved now may or may not be present. Users + will still at least get the "AgentComplete" event, which + "completes" the known Agent information. Review: + https://reviewboard.asterisk.org/r/2878/ (closes issue + ASTERISK-22507) Reported by: Richard Mudgett + + * main/manager.c: manager: Fix crash when appending a manager + channel variable In r399887, a minor performance improvement was + introduced by not allocating the manager variable struct if it + wasn't used. Unfortunately, when directly accessing an + ast_channel struct, manager assumed that the struct was always + allocated. Since this was no longer the case, things got a bit + crashy. This fixes that problem by simply bypassing appending + variables if the manager channel variable struct isn't there. + +2013-09-27 21:56 +0000 [r400015-400020] Richard Mudgett + + * apps/app_cdr.c, res/res_parking.c: app_cdr and res_parking: Fix + some resource leaks. * app_cdr left the ResetCDR application + registered. * res_parking leaked a ref to config global. (closes + issue ASTERISK-22566) Reported by: Corey Farrell Patches: + ASTERISK-22566-r2.patch (license #5909) patch uploaded by Corey + Farrell + + * /, channels/chan_sip.c, channels/sip/reqresp_parser.c: chan_sip: + Increase some scratch buffer sizes dealing with caller id. * + Eliminated an unnecessary initialization in check_user_full(). + (closes issue ASTERISK-22477) Reported by: Michael Shepelev + ........ Merged revisions 400013 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 400014 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-27 18:26 +0000 [r399990] Kevin Harwell + + * res/res_pjsip.c, res/res_pjsip_session.c, + include/asterisk/res_pjsip.h, res/res_pjsip.exports.in: + res_pjsip: crash when using localnet and + external_signaling_address options There was a collision of + mod_data use on the transaction between using a nat hook and an + session response callback. During state change it was assumed + what was in the mod_data was nothing or the response callback. + However, it was possible for it to also contain a nat hook thus + resulting in a bad cast and a crash. Added the ability to store + multiple data elements in mod_data via a hash table. In this + instance, mod_data now stores a hash table of the two values that + can be retrieved using an associated string key. (closes issue + ASTERISK-22394) Reported by: Rusty Newton Review: + https://reviewboard.asterisk.org/r/2843/ + +2013-09-27 17:34 +0000 [r399976] Jonathan Rose + + * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip: + Reject calls on 200 OKs if no SDP has been received When Asterisk + receives a 200 OK in response to an invite, that peer should have + sent an SDP at some point by then. If the channel has never + received an SDP, media won't have been set and the remote address + won't be known. Endpoints in general should not be doing this. + This patch makes it so that Asterisk will simply hang up a call + if it sends a 200 OK at this point. So far this odd behavior for + endpoints has only been observed in tests which involved manually + created SIP transactions in SIPp. (closes issue ASTERISK-22424) + Reported by: Jonathan Rose Review: + https://reviewboard.asterisk.org/r/2827/ ........ Merged + revisions 399939 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399962 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-27 17:03 +0000 [r399937] Richard Mudgett + + * tests/test_astobj2.c, main/astobj2.c, include/asterisk/astobj2.h: + astobj2: Remove OBJ_CONTINUE support. OBJ_CONTINUE was a strange + feature that came into the world under suspicious circumstances + to support an abuse of the ao2_container by chan_iax2. Since + chan_iax2 no longer uses OBJ_CONTINUE, it is safe to remove it. + The simplified code should help performance slightly and make + understanding the code easier. Review: + https://reviewboard.asterisk.org/r/2887/ + +2013-09-27 14:29 +0000 [r399924] Mark Michelson + + * bridges/bridge_native_rtp.c: Fix refleaks of ast_rtp_instance + structures. These refleaks were causing bridged calls not to + close their RTP ports. Thus a call would leave open 4 ports (RTP + for party A, RTCP for party A, RTP for party B, and RTCP for + party B). This led to an eventual depletion of available RTP + ports. + +2013-09-27 14:01 +0000 [r399912] Kinsey Moore + + * include/asterisk/cel.h, tests/test_cel.c, main/cel.c: Restore + usefulness of the CEL Peer field This change makes the CEL peer + field useful again for BRIDGE_ENTER and BRIDGE_EXIT events and + fills the field with a comma-separated list of all channels in + the bridge other than the channel that is entering or exiting the + bridge. Review: https://reviewboard.asterisk.org/r/2840/ (closes + issue ASTERISK-22393) + +2013-09-26 18:48 +0000 [r399897] Kevin Harwell + + * res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h, + res/res_pjsip.exports.in, res/res_pjsip/security_events.c: pjsip: + race condition in registrar While handling a registration request + a race condition could occur if/when two+ clients registered at + the same time. This happened when one request obtained a copy of + the current contacts for an AOR and another request did the same + before the first request updated. Thus the second would update + and overwrite the first (or vice-versa depending on which + actually updated first). In the case of it being the same contact + two "add" events would be raised. pjsip registration handling is + now serialized to alleviate this issue. (closes issue AST-1213) + Reported by: John Bigelow Review: + https://reviewboard.asterisk.org/r/2860/ + +2013-09-26 15:41 +0000 [r399887] David M. Lee + + * main/channel.c: Minor performance bump by not allocate manager + variable struct if we don't need it + +2013-09-26 14:12 +0000 [r399874] Rusty Newton + + * apps/app_dial.c: Adding a few words to the Dial option 'r' help + text to clarify its tone argument description + +2013-09-25 20:36 +0000 [r399842] Richard Mudgett + + * channels/sig_ss7.c, channels/chan_dahdi.c, /: chan_dahdi: CLI + "core stop gracefully" has needless delay for PRI and SS7. The + PRI and SS7 link control threads are not stopped correctly when + the chan_dahdi.so module is unloaded. The link control threads + pri_dchannel() and ss7_linkset() are not awakened from a poll() + to cancel the thread. * Added a SIGURG signal after requesting + the thread cancel to break the link control thread poll() + immediately. For SS7 it was slightly worse, the link poll() + timeout would always be whatever was the last libss7 scheduled + event time used. If no libss7 scheduled event was pending, the + thread could run more often than necessary. * Set nextms to 60 + seconds for the ss7_linkset() poll() if there is no other libss7 + scheduled event. ........ Merged revisions 399818 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399834 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-25 19:40 +0000 [r399798] Rusty Newton + + * res/res_pjsip.c: Broke the build - Fixing XML DTD violation added + in r399782, missing tags inside a + +2013-09-25 19:28 +0000 [r399796] Michael L. Young + + * /, channels/chan_sip.c: Fix Realtime Peer Update Problem When + Un-registering And Expires Header In 200ok 1st Issue When a + realtime peer sends an un-REGISTER request, Asterisk un-registers + the peer but the database table record still has regseconds and + fullcontact for the peer. This results in calls attempting to be + routed to the peer which is no longer registered. The expected + behavior is to get busy/congested when attempting to call an + un-registered peer through the dialplan. What was discovered is + that we are clearing out the peer's registration in the database + in parse_register_contact() when calling expire_register() but + then upon returning from parse_register_contact(), update_peer() + is run which stores back in the database table regseconds and + fullcontact. 2nd Issue The reporter pointed out that the 200 ok + being returned by Asterisk after un-registering a peer contains a + Contact header with ;expires= and the Expires header is not set + to 0. This is actually a regression. Tests were created for this + second issue (ASTERISK-22548). The tests have been reviewed and a + Ship It! was received on those tests. This patch does the + following: * Do not ignore the Expires header value even when it + is set to 0. The patch sets the pvt->expiry earlier on in the + function so that it is set properly and used. * If pvt->expiry is + 0, do not call update_peer since that means the peer has already + been un-registered and there is no need to update the database + record again since nothing has changed. (closes issue + ASTERISK-22428) Reported by: Ben Smithurst Tested by: Ben + Smithurst, Michael L. Young Patches: + asterisk-22428-rt-peer-update-and-expires-header.diff by Michael + L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2869/ ........ Merged + revisions 399794 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399795 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-25 18:36 +0000 [r399781] Rusty Newton + + * res/res_pjsip.c: Fixing documentation for the configOption + "external_media_address" of both Endpoints and Transports + Re-using some of Mark Michelson's text from an E-mail discussion + for: * Modifying synopsis for both options * Adding description + to both options * Changing name of "external_media_address" for + Endpoint configuration to "media_address" in anticipation of the + option name being changed. (As it is not really specific to + external destinations) (issue ASTERISK-22405) (closes issue + ASTERISK-22405) Reported by: Rusty Newton Review: + https://reviewboard.asterisk.org/r/2850/ + +2013-09-24 22:50 +0000 [r399736-399749] Richard Mudgett + + * main/astobj2.c: astobj2: Made use OBJ_SEARCH_xxx identifiers as + field enum values internally. * Made ao2_unlink to protect itself + from stray OBJ_SEARCH_xxx values passed in. + + * channels/chan_iax2.c, /: chan_iax2: Prevent some needless + breaking of the native IAX2 bridge. * Clean up some twisted code + in the iax2_bridge() loop. * Add AST_CONTROL_VIDUPDATE and + AST_CONTROL_SRCCHANGE to a list of frames to prevent the native + bridge loop from breaking. * Passing the + AST_CONTROL_T38_PARAMETERS frame should also allow FAX over a + native IAX2 bridge. (issue ABE-2912) Review: + https://reviewboard.asterisk.org/r/2870/ ........ Merged + revisions 399697 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399708 from + http://svn.asterisk.org/svn/asterisk/branches/11 For v12 and + above this is really just documentation until IAX2 native + bridging is restored. + +2013-09-24 19:22 +0000 [r399666-399695] Matthew Jordan + + * apps/app_queue.c: app_queue: Don't be quite so aggressive in + initializing the array We only need the first character. + + * apps/app_queue.c: app_queue: Initialize array holding MixMonitor + exec options If the channel variable MONITOR_EXEC is set, + app_queue will pass the specified execution parameters to the + MixMonitor application when a queue is recorded. If that channel + variable is not set, the buffer that holds the escaped value was + not being initialized to NULL, and so would be passed to the + MixMonitor application with garbage. Hilarity ensued as + app_mixmonitor attempted to execute gobeldy-gook. + + * main/cdr.c, main/stasis_bridges.c, tests/test_cdr.c: Fix a + performance problem CDRs There is a large performance price + currently in the CDR engine. We currently perform two + ao2_callback calls on a container that has an entry for every + channel in the system. This is done to create matching pairs + between channels in a bridge. As such, the portion of the CDR + logic that this patch deals with is how we make pairings when a + channel enters a mixing bridge. In general, when a channel enters + such a bridge, we need to do two things: (1) Figure out if anyone + in the bridge can be this channel's Party B. (2) Make pairings + with every other channel in the bridge that is not already our + Party B. This is a two step process. In the first step, we look + through everyone in the bridge and see if they can be our Party B + (single_state_process_bridge_enter). If they can - yay! We mark + our CDR as having gotten a Party B. If not, we keep searching. If + we don't find one, we wait until someone joins who can be our + Party B. Step 2 is where we changed the logic + (handle_bridge_pairings and bridge_candidate_process). + Previously, we would first find candidates - those channels in + the bridge with us - from the active_cdrs_by_channel container. + Because a channel could be a candidate if it was Party B to an + item in the container, the code implemented multiple + ao2_container callbacks to get all the candidates. We also had to + store them in another container with some other meta information. + This was rather complex and costly, particularly if you have 300 + Local channels (600 channels!) going at once. Luckily, none of it + is needed: when a channel enters a bridge (which is when we're + figuring all this stuff out), the bridge snapshot tells us the + unique IDs of everyone already in the bridge. All we need to do + is: For all channels in the bridge: If the channel is us or our + Party B that we got in step 1, skip it Compare us and the + candidate to figure out who is Party A (based on some specific + rules) If we are Party A: Make a new CDR for us, append it to our + chain, and set the candidate as Party B If they are Party A: If + they don't have a Party B: Make a new CDR for them, append us to + their chain, and us as Party B Otherwise: Copy us over as Party B + on their existing CDR. This patch does that. Because we now use + channel unique IDs to find the candidates during bridging, + active_cdrs_by_channel now looks up things using uniqueid instead + of channel name. This makes the more complex code simpler; it + does, however, have the drawback that dialplan applications and + functions will be slightly slower as they have to iterate through + the container looking for the CDR by name. That's a small price + to pay however as the bridging code will be called a lot more + often. This patch also does two other minor changes: (1) It + reduces the container size of the channels in a bridge snapshot + to 1. In order to be predictable for multi-party bridges, the + order of the channels in the container must be stable; that is, + it must always devolve to a linked list. (2) CDRs and the + multi-party test was updated to show the relationship between two + dialed channels. You still want to know if they talked - + previously, dialed channels were always ignored, which is wrong + when they have managed to get a Party B. (closes issue + ASTERISK-22488) Reported by: Richard Mudgett Review: + https://reviewboard.asterisk.org/r/2861/ + +2013-09-23 12:02 +0000 [r399624] Joshua Colp + + * res/res_pjsip.c, res/res_pjsip_session.c: Fix crash in res_pjsip + on load if error occurs, and prevent unloading of res_pjsip and + res_pjsip_session. During load time in res_pjsip if an error + occurred the operation would attempt to rollback all operations + done during load. This is not permitted by PJSIP as it will + assert if the operation has not been done. This fix changes the + code so it will only rollback what has been initialized already. + Further changes also prevent res_pjsip and res_pjsip_session from + being unloaded. This is due to limitations within PJSIP itself. + The library environment can only be changed to a certain extent + and does not provide the ability, currently, to deinitialize + certain required functionality. (closes issue ASTERISK-22474) + Reported by: Corey Farrell + +2013-09-21 04:48 +0000 [r399576-399607] Richard Mudgett + + * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix ref leaks in + ast_rtcp_read(). Moved rtcp_report RAII_VAR declaration into the + loop so it is unref'ed after every loop. Moved message_blob to + loop and switched it to a regular variable. The regular variable + was used since message_blob is used in a very contained way. + (closes issue ASTERISK-22565) Reported by: Corey Farrell Patches: + rtcp_report-leak.patch (license #5909) patch uploaded by Corey + Farrell Tested by: Corey Farrell + + * main/media_index.c: media_index: Fix process_description_file() + memory leak of file_id_persist. + + * main/features_config.c: features_config: Fix config ref leak of + parkinglots. This leak happend for just about every channel + created. + + * apps/app_queue.c: app_queue: Fix json blob ref leak. The json ref + from queue_member_blob_create() was never released. + + * main/json.c: json: Make it obvious that ast_json_unref() is NULL + safe. It looked like the safety check was done after the NULL + pointer was used. + +2013-09-20 22:41 +0000 [r399565] Kinsey Moore + + * /, main/config_options.c: Ensure global types in the config + framework are initialized If a config object was allocated but + one of its global objects was never encountered, then the global + object's defaults were never applied. Ensure that global objects + are initialized properly upon allocation instead of on + configuration. Review: https://reviewboard.asterisk.org/r/2866/ + ........ Merged revisions 399564 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-20 22:04 +0000 [r399553] Jonathan Rose + + * main/dial.c: originate/call forwarding: Fix a crash when + forwarding a call from originate (closes issue ASTERISK-22487) + Reported by: David M. Lee Review: + https://reviewboard.asterisk.org/r/2868/ + +2013-09-20 16:17 +0000 [r399531] Joshua Colp + + * channels/chan_pjsip.c: Add a missing session supplement + unregistration in chan_pjsip for ACKs. (closes issue + ASTERISK-22453) Reported by: Corey Farrell Patches: + chan_pjsip_session_unregister_supplement.patch uploaded by Corey + Farrell (license 5909) + +2013-09-20 14:25 +0000 [r399514] Kevin Harwell + + * main/logger.c, /: Memory leak in logger. Fixed a memory leak + discovered in the logger where a temporary string buffer was not + being freed. (closes issue ASTERISK-22540) Reported by: John + Hardin ........ Merged revisions 399513 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-19 23:16 +0000 [r399501] Richard Mudgett + + * main/optional_api.c: optional_api: Make always use the standard + malloc functions even with MALLOC_DEBUG. + +2013-09-19 16:53 +0000 [r399458] Jonathan Rose + + * /, channels/chan_sip.c: chan_sip: Make direct media reinvites for + T38 put Asterisk in the media path Prior to this patch, Asterisk + would incorrectly use the previous endpoint addresses in SDP in + spite of providing its own port. T38 is never meant to be done + through directmedia and Asterisk should always be in the media + path for these streams. (closes issue ASTERISK-17273) Reported + by: Kevin Stewart (closes issue ASTERISK-18706) Reported by: + Jeremy Kister Review: https://reviewboard.asterisk.org/r/2853/ + ........ Merged revisions 399456 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399457 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-18 19:59 +0000 [r399404] Kinsey Moore + + * /, main/abstract_jb.c: Fix jitter buffer log file creation This + adjusts '/'-to-'#' replacement to replace all instances of '/' + instead of just the first to ensure that the jitter buffer log + file gets the correct name as per Richard Kenner's suggestion. + (closes issue ASTERISK-21036) Reported by: Richard Kenner + ........ Merged revisions 399402 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399403 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-18 17:23 +0000 [r399365-399376] Matthew Jordan + + * build_tools/prep_tarball, /: Update prep_tarball with new + documentation files on the Asterisk wiki This will now pull both + a command reference for the version being prepared, as well as an + Admin Guide that applies to all versions of Asterisk. (issue + ASTERISK-22439) Reported by: Olle Johansson ........ Merged + revisions 399351 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399373 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, bridges/bridge_softmix.c: Add a WARNING in bridge_softmix when + a timing module isn't loaded If bridge_softmix fails to be + created because no timing source is present in Asterisk, this + will currently fail gracefully but with (most likely) a generic + error message by whatever module tried to create the softmix + bridge. This patch adds a more explicit warning so you can + actually diagnose and fix the problem. Review: + https://reviewboard.asterisk.org/r/2857/ ........ Merged + revisions 399353 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-18 14:34 +0000 [r399339] Kevin Harwell + + * res/res_pjsip_messaging.c: res_pjsip_messaging: Register message + technology as pjsip pjsip's message technology was being + registered as 'sip', which was causing it to not load due it + conflicting with chan_sip's registered 'sip' technology for + messaging. It now registers as 'pjsip'. However, due to this + change the "to" field for outgoing pjsip messages need to be + prefixed with 'pjsip:' instead of 'sip:'. Incoming messages to + res_pjsip_messaging will automatically have their "to" fields + altered in order to accommodate the change. Outgoing messages + also handle changing it back to 'sip' before being sent so the + pjsip library will properly handle it. (closes issue + ASTERISK-22445) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2833/ + +2013-09-18 00:12 +0000 [r399294] Michael L. Young + + * main/features_config.c: Fix Segfault In features-config.c When + Application Has No Arguments Some applications do not require + arguments. Therefore, when parsing application maps in + features.conf, it is possible that app_data will be set to NULL. + * This patch sets app_data to "" if it is NULL. Review: + https://reviewboard.asterisk.org/r/2804 + +2013-09-17 23:08 +0000 [r399283] Mark Michelson + + * res/res_pjsip_t38.c, include/asterisk/res_pjsip.h, + res/res_pjsip_sdp_rtp.c, res/res_pjsip/pjsip_configuration.c: + Change the "external_media_address" PJSIP endpoint option to + "media_address". The endpoint option does not apply to + communication with external entities. Rather, the option is + applied to all communications with the endpoint. The + external_media_address transport configuration option may + override the endpoint option if it turns out that we are going to + be communicating with an external entity. Two things of note: 1) + I have not updated the XML documentation. This is being taken + care of by Rusty as part of his work on issue ASTERISK-22405 2) + This commit is likely to cause testsuite failures since there are + tests that use the external_media_address endpoint option, and + they will need to be changed over. Well, I'm planning to get that + updated ASAP after this commit. (closes issue ASTERISK-22528) + reported by Rusty Newton + +2013-09-17 18:37 +0000 [r399268] Kevin Harwell + + * main/logger.c, main/asterisk.c, /: Remote console: more output + discrepancies The remote console continued to have issues with + its output. In this case CLI command output would either not show + up (if verbose level = 0) or would contain verbose prefixes (if + verbose level > 0) once log messages were sent to the remote + console. The fix now now adds verbose prefix data to all new + lines contained in a verbose log string. (closes issue + ASTERISK-22450) Reported by: David Brillert (closes issue + AST-1193) Reported by: Guenther Kelleter Review: + https://reviewboard.asterisk.org/r/2825/ ........ Merged + revisions 399267 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-17 17:54 +0000 [r399257] Richard Mudgett + + * include/asterisk/features_config.h: Fix doxygen to use correct + units of features.conf options. + +2013-09-17 17:09 +0000 [r399237-399247] Mark Michelson + + * main/features_config.c, main/bridge_basic.c: Fix other timeouts + (atxferloopdelay and atxfernoanswertimeout) to use seconds + instead of milliseconds. Thanks to Richard Mudgett for pointing + this out. + + * include/asterisk/features_config.h, main/bridge_basic.c, + main/features_config.c: Switch transferdigittimeout to be + configured as seconds instead of milliseconds. This was an + unintentional consequence of the update of features.conf to use + the config framework in Asterisk 12. Thanks to Marco Signorini on + the Asterisk developers list for pointing out the problem. + +2013-09-17 14:48 +0000 [r399225] Kevin Harwell + + * /, apps/confbridge/conf_state_multi_marked.c: Confbridge: empty + conference not being torn down Confbridge would not properly tear + down an empty conference bridge when all users were kicked via + end_marked=yes and at least one user was also set to wait_marked. + This occurred because while end_marked users were being kicked + and at least one was also set to wait_marked then the leave + wait_marked handler would be called on that user, but there would + be no waiting user (still considered active). The waiting users + would decrement and now be negative. The conference would remain, + but be put into an inactive state. The solution was to move from + the active list to the wait list, those users with wait_marked + set right before kicking. This allows both the active and wait + users to decrement correctly and the confbridge to tear down + properly. A crashed also occurred when trying to list the + specific conference from the CLI. This happened because the + conference specified was invalid. Since the conference properly + tears down now there is no way to reference it thus alleviating + the crash as well. (closes issue ASTERISK-21859) Reported by: + Chris Gentle Review: https://reviewboard.asterisk.org/r/2848/ + ........ Merged revisions 399222 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-16 18:34 +0000 [r399160-399207] Richard Mudgett + + * tests/test_ari_model.c: Fix module load errors for + test_ari_model.so. You cannot use a function pointer variable + with an external function from another dynamically loaded module + because data variables are always resolved even with RTLD_LAZY. * + Added wrapper functions for ast_ari_validate_int() and + ast_ari_validate_string() to use instead for the function pointer + variable. (closes issue ASTERISK-22457) Reported by: David M. Lee + + * res/res_speech.exports.in, apps/app_speech_utils.c: + app_speech_utils: Fix unresolved symbol ast_speech_get_setting(). + Fixes regression introduced by -r374096. * Made + res_speech.export.in export ast_* symbols instead of specific + functions. * Made app_speech_utils.c declare that it is dependent + upon res_speech. (issue ASTERISK-17136) Reported by: Richard + Kenner + + * /, channels/chan_iax2.c: chan_iax2: Fix saving the wrong expiry + time in astdb. When a new IAX2 client registers, the astdb + database is updated with the value of minregexpire defined in + iax.conf instead of using the expiry time that is provided by the + client. The provided expiry time of the client is updated after + inserting the astdb entry. As a consequence, restarting or + reloading asterisk creates clients whose registration may expire + before they reregister. The clients are therefore unavailable + after minregexpire seconds until they reregister. * Move updating + of the expiry time to before inserting into the astdb. (closes + issue ASTERISK-22504) Reported by: Stefan Wachtler Patches: + chan_iax2.c.patch (license #6533) patch uploaded by Stefan + Wachtler ........ Merged revisions 399158 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399159 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-16 02:33 +0000 [r399146] Matthew Jordan + + * main/cdr.c: Filter internal channels out of bridge enter/leave + message handling Some channels exist merely as an implementation + detail in Asterisk, such as ConfBridge's announcer/recorder + channels. These channels should never be exposed to the outside + world, or to interfaces that report on Asterisk. We already + filter out such channels in snapshot processing; however, we + failed to filter out bridge related messages that involved these + channels. This patch filters out bridge related messages that are + for such channels. This prevents a spurious WARNING message from + being displayed when those channels move in and out of bridges. + +2013-09-13 22:05 +0000 [r399136] Richard Mudgett + + * include/asterisk/features.h, main/channel.c, + include/asterisk/bridge_channel.h, res/parking/parking_tests.c, + main/features.c, tests/test_cel.c, main/bridge_channel.c, + include/asterisk/bridge.h, apps/confbridge/conf_chan_announce.c, + tests/test_cdr.c, res/res_pjsip_refer.c, channels/chan_sip.c, + res/stasis/control.c, main/bridge.c, main/bridge_basic.c, + main/core_unreal.c, res/parking/parking_applications.c, + main/core_local.c, res/parking/parking_bridge_features.c, + apps/app_agent_pool.c: Restore Dial, Queue, and FollowMe 'I' + option support. The Dial, Queue, and FollowMe applications need + to inhibit the bridging initial connected line exchange in order + to support the 'I' option. * Replaced the pass_reference flag on + ast_bridge_join() with a flags parameter to pass other flags + defined by enum ast_bridge_join_flags. * Replaced the independent + flag on ast_bridge_impart() with a flags parameter to pass other + flags defined by enum ast_bridge_impart_flags. * Since the Dial, + Queue, and FollowMe applications are now the only callers of + ast_bridge_call() and ast_bridge_call_with_flags(), changed the + calling contract to require the initial COLP exchange to already + have been done by the caller. * Made all callers of + ast_bridge_impart() check the return value. It is important. As a + precaution, I also made the compiler complain now if it is not + checked. * Did some cleanup in parking_tests.c as a result of + checking the ast_bridge_impart() return value. An independent, + but associated change is: * Reduce stack usage in + ast_indicate_data() and add a dropping redundant connected line + verbose message. (closes issue ASTERISK-22072) Reported by: + Joshua Colp Review: https://reviewboard.asterisk.org/r/2845/ + +2013-09-13 20:54 +0000 [r399100] David M. Lee + + * /, main/astobj2.c: Don't write to /tmp/refs when REF_DEBUG is not + defined. If MALLOC_DEBUG is enabled, then the debug destructor + for the container is used, which would erroneously write to + /tmp/refs. This patch only uses the debug destructor if ref_debug + is used. (closes issue ASTERISK-22536) ........ Merged revisions + 399098 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 399099 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-13 14:49 +0000 [r399083] Mark Michelson + + * res/res_pjsip_session.c, include/asterisk/res_pjsip.h, + res/res_pjsip.exports.in, res/res_pjsip.c, + res/res_pjsip_pubsub.c: Create more accurate Contact headers for + dialogs when we are the UAS. (closes issue AST-1207) reported by + John Bigelow Review: https://reviewboard.asterisk.org/r/2842 + +2013-09-13 14:25 +0000 [r399064] Rusty Newton + + * res/res_pjsip_endpoint_identifier_ip.c: Broke the build! Forgot + para tags within my description. + https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD-304 + +2013-09-13 14:24 +0000 [r399059] Mark Michelson + + * res/res_pjsip/config_auth.c, + res/res_pjsip_outbound_authenticator_digest.c, + res/res_pjsip_authenticator_digest.c: Change how realms are + handled for outbound authentication. With this change, if no + realm is specified in an outbound auth section, then we will + simply match the realm that was present in the 401/407 challenge. + (closes issue ASTERISK-22471) Reported by George Joseph (closes + issue ASTERISK-22386) Reported by Rusty Newton Patches: + outbound_auth_realm_v4.patch uploaded by George Joseph (License + #6322) + +2013-09-13 14:21 +0000 [r399039-399049] David M. Lee + + * res/res_pjsip_logger.c, res/res_rtp_asterisk.c, + res/res_pjsip_log_forwarder.c (added): res_pjsip: Forward PJSIP + logging to Asterisk logging This patch uses PJSIP's + pj_log_set_log_func() to forward PJSIP's log messages to + Asterisk's logger. This is done in a new module: + res_pjsip_log_forwarder.so. This patch sets defaultenabled on the + existing res_pjsip_logger.so to no, since logging every SIP + packet seems a bit odd to do by default, and is (hopefully) less + necessary with regular PJSIP logging. It also removes + res_rtp_asterisk's disabling of PJSIP logging. (closes issue + ASTERISK-22360) Reported by: Joshua Colp Review: + https://reviewboard.asterisk.org/r/2830/ + + * res/res_http_websocket.c: ARI: Fix WebSocket response when + subprotocol isn't specified When I moved the ARI WebSocket from + /ws to /ari/events, I added code to allow a WebSocket to connect + without specifying the subprotocol if there's only one + subprotocol handler registered for the WebSocket. Naively, I + coded it to always respond with the subprotocol in use. + Unfortunately, according to RFC 6455, if the server's response + includes a subprotocol header field that "indicates the use of a + subprotocol that was not present in the client's handshake [...], + the client MUST _Fail the WebSocket Connection_.", emphasis + theirs. This patch correctly omits the Sec-WebSocket-Protocol if + one is not specified by the client. (closes issue ASTERISK-22441) + Review: https://reviewboard.asterisk.org/r/2828/ + +2013-09-13 13:54 +0000 [r399035] Kinsey Moore + + * /, apps/app_meetme.c: Fix several crashes in MeetMeAdmin This + change ensures that MeetMeAdmin commands requiring a user + actually get a user and fixes another issue where an extra + dereference could occur for a last-entered user being ejected if + a user identifier was also provided. (closes issue + ASTERISK-21907) Reported by: Alex Epshteyn Review: + https://reviewboard.asterisk.org/r/2844/ ........ Merged + revisions 399033 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 399034 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-13 13:27 +0000 [r399031] Rusty Newton + + * res/res_pjsip_endpoint_identifier_ip.c: 'identify' configObject + doesn't have a synopsis Add a straightforward synopsis and + description to the identify config object in XML documentation. + (issue ASTERISK-22311) (closes issue ASTERISK-22311) Reported By: + Rusty Newton + +2013-09-12 23:41 +0000 [r399019-399021] Richard Mudgett + + * main/bridge.c: CLI bridge: Fix "bridge destroy " and "bridge + kick " tab completion. These two commands must deal + with the live bridges container for tab completion and not the + stasis cache. + + * main/bridge.c: astobj2: Register the bridges container for debug + inspection. + +2013-09-12 23:21 +0000 [r399017] Rusty Newton + + * res/res_pjsip_acl.c: Documentation fix and improvements to XML + configuration help res_pjsip_acl * One bug fix. Made the synopsis + for "type" to accurate. * changing the usage of "IP-domains" to + "IP addresses" * clarifying the usage for the options, by adding + a relevant description for each * modified other areas of the XML + help for clarity, such as the module description and a few + synopsis changes here and there. See the patch. (issue + ASTERISK-22458) (closes issue ASTERISK-22458) Reported By: Rusty + Newton Review: https://reviewboard.asterisk.org/r/2823/ + +2013-09-12 20:20 +0000 [r398991] Jonathan Rose + + * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip: + Revert r398835 due to failing tests involving originate (issue + ASTERISK-22424) Reported by: Jonathan Rose ........ Merged + revisions 398977 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398986 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-12 16:38 +0000 [r398938] Richard Mudgett + + * main/core_unreal.c: core_local: Fix memory corruption race + condition. The masquerade super test is failing on v12 with high + fence violations and crashing. The fence violations are showing + that party id allocated memory strings are somehow getting + corrupted in the bridge_reconfigured_connected_line_update() + function. The invalid string values happen to be the freed memory + fill pattern. After much puzzling, I deduced that the + bridge_reconfigured_connected_line_update() is copying a string + out of the source channel's caller party id struct just as + another thread is updating it with a new value. The copying + thread is using the old string pointer being freed by the + updating thread. A search of the code found the + unreal_colp_redirect_indicate() routine updating the caller party + id's without holding the channel lock. A latent bug in v1.8 and + v11 hatched in v12 because of the bridging and connected line + changes. :) (issue ASTERISK-22221) Reported by: Matt Jordan + Review: https://reviewboard.asterisk.org/r/2839/ + +2013-09-12 15:23 +0000 [r398927] David M. Lee + + * res/res_pjsip.c: Fix symbol collision with pjsua. We shouldn't be + exporting any symbols that start with pjsip_. + +2013-09-12 00:04 +0000 [r398882-398886] Rusty Newton + + * /, apps/app_queue.c: 'queue add member' help text correction You + are adding dial strings to the queue, not channels. An aribitrary + string could be used, but you are typically referencing a + channel. Correcting the command help text. (issue ASTERISK-22263) + (closes issue ASTERISK-22263) Reported By: Rusty Newton ........ + Merged revisions 398884 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398885 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * configs/chan_dahdi.conf.sample, /: Documentation fix - + waitfordialtone is not boolean, it's time in milliseconds + Changing text in chan_dahdi.conf sample to be accurate. (issue + ASTERISK-22308) (closes issue ASTERISK-22308) Reported By: + Malcolm Davenport ........ Merged revisions 398880 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398881 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-11 19:56 +0000 [r398837] Jonathan Rose + + * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip: + Reject calls without prior SDP on 200 OK If we receive a 200 OK + without SDP, we will now check to see if the remote address has + been established for that channel's RTP session and if the to tag + for that channel has changed from the most recent to tag in a + response less than 200. If either a change has been made since + the last to-tag was received or the remote address is unset, then + we will drop the call. (closes issue ASTERISK-22424) Reported by: + Jonathan Rose Review: + https://reviewboard.asterisk.org/r/2827/diff/#index_header + ........ Merged revisions 398835 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398836 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-11 18:02 +0000 [r398821] Russell Bryant + + * configs/confbridge.conf.sample, /: Fix typo in + confbridge.conf.sample The denoise filter requires func_speex, + not codec_speex. Fix this in the description of the denoise=yes + option in confbridge.conf. ........ Merged revisions 398820 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-11 14:14 +0000 [r398806] Kevin Harwell + + * res/res_pjsip_caller_id.c, channels/chan_pjsip.c: pjsip: reinvite + for connected line updates occurs when it should not Connected + line updates are now only sent out if an actual update needs to + occur. This happens under the following conditions: 1. The + endpoint we are sending to is trusted. 2. Either a + P-Asserted-Identity or Remote Party-ID header needs to be + added/sent. 3. The connected id's number and name are valid. Also + added an SDP when an update is sent out. (closes issue AST-1212) + Reported by: John Bigelow Review: + https://reviewboard.asterisk.org/r/2831/ + +2013-09-10 18:03 +0000 [r398759] Richard Mudgett + + * main/asterisk.c, main/xmldoc.c, main/cli.c, /, + funcs/func_dialgroup.c, main/heap.c, + res/res_pjsip/pjsip_configuration.c, main/event.c, + res/res_musiconhold.c, main/indications.c: Fix incorrect usages + of ast_realloc(). There are several locations in the code base + where this is done: buf = ast_realloc(buf, new_size); This is + going to leak the original buf contents if the realloc fails. + Review: https://reviewboard.asterisk.org/r/2832/ ........ Merged + revisions 398757 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398758 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-10 17:49 +0000 [r398750-398754] David M. Lee + + * utils/check_expr.c, /: Fixed utils directory breakage from + r398748, this time with extra hate. ........ Merged revisions + 398752 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 398753 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, utils/ael_main.c, utils/conf2ael.c, utils/check_expr.c: Fixed + utils directory breakage from r398648 ........ Merged revisions + 398748 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 398749 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-09 23:23 +0000 [r398726] Richard Mudgett + + * /, main/astmm.c: MALLOC_DEBUG: Change fence magic number to be + completely different from the freed magic number. Race conditions + between freeing a nul terminated string and ast_strdup()'ing it + are more likely to be detected if the fence and freed magic + numbers are completely different. ........ Merged revisions + 398703 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 398721 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-09 21:59 +0000 [r398694] Mark Michelson + + * res/res_pjsip_endpoint_identifier_ip.c: Add extra debugging to + res_pjsip_endpoint_identifier_ip + +2013-09-09 20:12 +0000 [r398638-398651] David M. Lee + + * main/lock.c, /, main/utils.c, include/asterisk/lock.h: Fix + DEBUG_THREADS when lock is acquired in __constructor__ This patch + fixes some long-standing bugs in debug threads that were + exacerbated with recent Optional API work in Asterisk 12. With + debug threads enabled, on some systems, there's a lock ordering + problem between our mutex and glibc's mutex protecting its module + list (Ubuntu Lucid, glibc 2.11.1 in this instance). In one + thread, the module list will be locked before acquiring our + mutex. In another thread, our mutex will be locked before locking + the module list (which happens in the depths of calling + backtrace()). This patch fixes this issue by moving backtrace() + calls outside of critical sections that have the mutex acquired. + The bigger change was to reentrancy tracking for + ast_cond_{timed,}wait, which wrongly assumed that waiting on the + mutex was equivalent to a single unlock (it actually suspends all + recursive locks on the mutex). (closes issue ASTERISK-22455) + Review: https://reviewboard.asterisk.org/r/2824/ ........ Merged + revisions 398648 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398649 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/ari/resource_channels.h: Added note about expected behavior + of originate (the rest of the commit) + + * rest-api/api-docs/channels.json: Added note about expected + behavior of originate + +2013-09-08 23:25 +0000 [r398628] Matthew Jordan + + * tests/test_cdr.c: Update CDR Unit tests to reflect container + changes in r398579 When a channel joins a multi-party bridge, the + ordering of the CDRs that is created is determined by the + ordering of the channels who happen to be in that bridge. When + r398579 changed the number of buckets in the container to + something sensible, it changed the ordering that the CDRs was + created in, causing one of the multiparty tests to fail. This + fixes the test with the now expected ordering. + +2013-09-07 01:02 +0000 [r398580-398619] Kinsey Moore + + * /, res/res_xmpp.c: Prevent XMPP timeout on blank responses + Sometimes the Google Voice servers have a bad habit of sending + out 1 byte replies to the xmpp resource. When a blank 1 byte + reply is received from the socket the buffer attempts to wait + (endlessly) for the rest of the reply from google which + effectively blocks the socket and google voice calls will no + longer come into the server. This patch allows the xmpp module to + correctly detect empty packets and send out ping replies to + google. It also sets a socket timeout on the default socket which + prevents the xmpp socket from closing and preventing future + google voice calls from coming into the server. Furthermore + instead of sending an empty reply back to google we send a proper + xmpp ping reply back. This also adds several more socket + messages. (closes issue ASTERISK-22347) Reported by: Andrew Nagy + Review: https://reviewboard.asterisk.org/r/2771 Patches: + xmpp_fix_1.diff uploaded by Andrew Nagy (License #6524) ........ + Merged revisions 398618 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_xmpp.c, res/res_jabber.c, /: Multiple revisions + 398558,398577 ........ r398558 | kmoore | 2013-09-06 14:28:16 + -0500 (Fri, 06 Sep 2013) | 17 lines Fix Jabber/XMPP distributed + MWI The mailbox and context are swapped on the receiving end for + all users of Jabber and XMPP distributed MWI in Asterisk 1.8 and + all more recent versions. This swaps those values to be correct + when publishing to the internal event system from Jabber/XMPP + distributed MWI state. (closes issue ASTERISK-22435) Reported by: + abelbeck Tested by: Michael Keuter Patches: + asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by + abelbeck asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch + uploaded by abelbeck ........ Merged revisions 398523 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + r398577 | kmoore | 2013-09-06 16:00:56 -0500 (Fri, 06 Sep 2013) | + 10 lines Commit the remainder of r398523 This is a missing part + of the commit in revision 398523 that corrects the name of a + variable. (issue ASTERISK-22435) ........ Merged revisions 398576 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 398558,398577 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-06 21:16 +0000 [r398579] Richard Mudgett + + * main/cdr.c: cdr: Change the number of container buckets to be + similar to the channels container. * Fix the temporary cdr + candidate containers to use a prime number of buckets. + +2013-09-06 21:03 +0000 [r398578] Kinsey Moore + + * /: Unblock r398558 + +2013-09-06 20:20 +0000 [r398533-398572] Richard Mudgett + + * main/core_local.c: core_local: Fix LocalOptimizationBegin AMI + event missing Source channel snapshot. * Fix the + LocalOptimizationBegin AMI event by eliminating an artificial + buffer size limitation that is too small anyway. + + * main/cdr.c: cdr: Fix some ref leaks. * Added missing unregister + of the cdr container in cdr_engine_shutdown(). * Fixed ref leak + in off nominal path of cdr_object_alloc(). * Removed some + unnecessary NULL checks in cdr_object_dtor(). + + * apps/app_agent_pool.c, main/cdr.c, main/udptl.c, main/parking.c, + main/stasis_config.c, include/asterisk/astobj2.h, main/cel.c, + main/features_config.c: astobj2: Add warn unused attribute to + some functions. * Fixed resulting warnings with improper use of + ao2_global_obj_replace(). * Made a couple uses of + ao2_global_obj_replace_unref(x, NULL) into the equivalent and + more appropriate ao2_global_obj_release() call. + +2013-09-06 18:49 +0000 [r398511-398521] Kinsey Moore + + * res/stasis/app.c, main/http.c: Fix build warnings When + AST_DEVMODE is not defined, ast_asserts are not compiled into the + binary. In some cases, this means variables are not referenced or + are set but unused which causes warnings to show up. (closes + issue ASTERISK-22446) Reported by: Jason Parker (qwell) + + * channels/chan_h323.c, /: Fix chan_h323 compilation This fixes the + things in chan_h323 that were missed or ignored in the great + channel opaquification and gets chan_h323 back into a compiling + state. (closes issue ASTERISK-22365) Reported by: Dmitry Melekhov + Patches: chan_h323.patch uploaded by Dmitry Melekhov ........ + Merged revisions 398510 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-05 21:46 +0000 [r398381-398498] Richard Mudgett + + * main/astobj2.c: astobj2: Only define ao2_bt() once. * Make + ao2_bt() not use single char variable names. * Fix ao2_bt() + formatting. + + * channels/chan_iax2.c, /: chan_iax2: Reduce indentation in + __attempt_transmit(). * Reduce indentation in + __attempt_transmit(). * Don't update the static last error time + variable every time in __schedule_action() and socket_read(). + ........ Merged revisions 398456 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398457 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_iax2.c, /: chan_iax2: Fix stray reference to worker + thread idle_list. * Fix stray reference to idle_list in + cleanup_thread_list(). This may be the reason for the note in + iax2_process_thread() about threads not being removed from the + task lists. * Move cleanup_thread_list(&idle_list) to after the + other lists are cleaned up. ........ Merged revisions 398416 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398417 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_iax2.c, /: chan_iax2: Fix bridgecallno deadlock + avoidance. * Fix bridgecallno deadlock avoidance. When doing + deadlock avoidance, you need to retest the status of values for + each loop to see if you still need the lock for bridgecallno. * + As a safety check, after acquiring the bridgecallno lock you + should check if iaxs[bridgecallno] is NULL just like the current + callno checks. * Move setting thread->iostate to IAX_IOSTATE_IDLE + to after processing any deferred frames to ensure that the + iostate is IDLE when it is placed back into the idle list. + defer_full_frame() tries to ensure iax2_process_thread() wakes up + to process the frame. ........ Merged revisions 398379 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398380 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-05 14:09 +0000 [r398368] Mark Michelson + + * res/res_pjsip_outbound_registration.c: Clarify server_uri and + client_uri registration settings. Used some of Rusty's suggested + language plus also included more SIPesque descriptions of where + the URIs are actually used in an outgoing REGISTER. (closes issue + ASTERISK-22390) reported by Rusty Newton + +2013-09-04 23:06 +0000 [r398303] Richard Mudgett + + * channels/iax2/parser.c, /: chan_iax2: Add missing control frame + names to debug frame decode output. ........ Merged revisions + 398301 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 398302 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-04 22:28 +0000 [r398299] Mark Michelson + + * res/res_pjsip_outbound_authenticator_digest.c: Give more detail + regarding failures to create request with auth credentials. + (issue ASTERISK-22386) + +2013-09-04 21:36 +0000 [r398283-398286] Jonathan Rose + + * /, tests/test_voicemail_api.c: unit tests: test_voicemail_api + leaks stringfields from snapshots (closes issue ASTERISK-22414) + Reported by: Corey Farrell Patches: + test_voicemail_api-leaks-11.patch uploaded by coreyfarrell + (license 5909) ........ Merged revisions 398285 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_voicemail.c, /: app_voicemail: Fix leaking config + objects when msg_id doesn't match (issues ASTERISK-22414) + Reported by: Corey Farrell Patch: + test_voicemail_api-leaks-11.patch uploaded by coreyfarrell + (license 5909) ........ Merged revisions 398281 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-04 16:00 +0000 [r398237] Richard Mudgett + + * channels/chan_misdn.c, /: chan_misdn: Fix misdn debug output + printed with arbitrary verbose levels. Fix the misdn debug output + to remote consoles. chan_misdn uses ast_console_puts() which + doesn't know about verbose levels. Better to use ast_verbose() + instead. Without this patch the misdn debug messages are appended + to the verbose level which ever was set by the message sent to + the console before, i.e. any undefined level. (closes issue + AST-1218) Reported by: Guenther Kelleter Patches: misdnlog.patch + (license #6372) patch uploaded by Guenther Kelleter ........ + Merged revisions 398235 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398236 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-04 14:29 +0000 [r398226] Kevin Harwell + + * res/res_pjsip_outbound_registration.c: Debug messages for pjsip + outbound registration Added debug messages indicating that an + outbound registration attempt was made and it was successful in + pjsip. (closes issue ASTERISK-22388) Reported by: Rusty Newton + +2013-09-03 19:49 +0000 [r398215] Alexandr Anikin + + * /, addons/ooh323c/src/ooh245.c: Fix remote tcs sequence handling + on empty tcs received ........ Merged revisions 398214 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-09-03 18:08 +0000 [r398206] Kinsey Moore + + * res/res_pjsip_dtmf_info.c: Prevent a crash in + res_pjsip_dtmf_info.c This change makes sure that a content type + header exists before checking the contents of the header against + known SIP INFO DTMF content types. + +2013-09-03 14:36 +0000 [r398198] David M. Lee + + * Makefile: Fixed 'make clean' for wiki docs + +2013-09-03 14:27 +0000 [r398196] Walter Doekes + + * /, cel/cel_custom.c: Be a little more verbose when loading + cel_custom.conf. Review: https://reviewboard.asterisk.org/r/2805/ + ........ Merged revisions 398167 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398168 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-30 20:58 +0000 [r398149] David M. Lee + + * main/asterisk.c, include/asterisk/optional_api.h, + main/optional_api.c: Fix graceful shutdown crash. The cleanup + code for optional_api needs to happen after all of the optional + API users and providers have unused/unprovided. Unfortunately, + regsitering the atexit() handler at the beginning of main() isn't + soon enough, since module destructors run after that. + +2013-08-30 20:34 +0000 [r398147] Rusty Newton + + * configs/pjsip.conf.sample: New pjsip.conf.sample (issue + ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2811/ + +2013-08-30 19:51 +0000 [r398116-398139] Kevin Harwell + + * res/res_pjsip.c, res/res_pjsip/config_transport.c, + main/sorcery.c, res/res_pjsip_outbound_registration.c, + include/asterisk/sorcery.h: Add a reloadable option for sorcery + type objects Some configuration objects currently won't place + nice if reloaded. Specifically, in this case the pjsip transport + objects. Now when registering an object in sorcery one may + specify that the object is allowed to be reloaded or not. If the + object is set to not reload then upon reloading of the + configuration the objects of that type will not be reloaded. The + initially loaded objects of that type however will remain. While + the transport objects will not longer be reloaded it is still + possible for a user to configure an endpoint to an invalid + transport. A couple of log messages were added to help diagnose + this problem if it occurs. (closes issue ASTERISK-22382) Reported + by: Rusty Newton (closes issue ASTERISK-22384) Reported by: Rusty + Newton Review: https://reviewboard.asterisk.org/r/2807/ + + * /, channels/chan_sip.c, main/translate.c, main/named_acl.c, + main/indications.c, main/config.c, res/res_security_log.c: Fix + various memory leaks main/config.c - cleanup cache fie includes + res/res_security_log.c - unregister logger level + channesl/chan_sip.c - cleanup io context and notify_types + main/translator.c - cleanup at shutdown main/named_acl.c - + cleanup cli commands main/indications.c - + ast_get_indication_tone() unref default_tone_zone if used (closes + issues ASTERISK-22378) Reported by: Corey Farrell Patches: + config_shutdown.patch uploaded by coreyfarrell (license 5909) + res_security_log.patch uploaded by coreyfarrell (license 5909) + chan_sip-11.patch uploaded by coreyfarrell (license 5909) + indications_refleak.patch uploaded by coreyfarrell (license 5909) + named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license + 5909) translate_shutdown.patch uploaded by coreyfarrell (license + 5909) ........ Merged revisions 398102 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398103 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-30 18:35 +0000 [r398100] Matthew Jordan + + * UPGRADE.txt: Update UPGRADE.txt file for Asterisk 12 This simply + pulls in the changes that were breaking from the CHANGES file and + updates a few other areas accordingly. It also removes the 10 => + 11 notes, which are traditionally removed from each major version + and stored in the appropriate UPGRADE-X.txt file. + +2013-08-30 18:18 +0000 [r398068] Jonathan Rose + + * main/config_options.c, main/features_config.c: features_config: + Ignore parkinglots in features.conf instead of failing to load + Parkinglots are defined in res_features.conf now, but this patch + fixes features_config so that features don't fail to load when + parkinglots are present in features.conf Review: + https://reviewboard.asterisk.org/r/2801/ + +2013-08-30 17:57 +0000 [r398062] Kevin Harwell + + * main/manager.c, /, res/res_agi.c: Memory leak fix + ast_xmldoc_printable returns an allocated block that must be + freed by the caller. Fixed manager.c and res_agi.c to stop + leaking these results. (closes issue ASTERISK-22395) Reported by: + Corey Farrell Patches: manager-leaks-12.patch uploaded by + coreyfarrell (license 5909) res_agi-xmldoc-leaks.patch uploaded + by coreyfarrell (license 5909) ........ Merged revisions 398060 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 398061 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-30 17:10 +0000 [r398023-398025] Richard Mudgett + + * tests/test_substitution.c: test_substitution: Fix failing test. + Revert the -r392190 change. The original test was correct. The + CDR code was actually returning an unititialized buffer. + + * tests/test_substitution.c, /: test_substituition: Fix failed test + reporting to actually report failure. You cannot put the "Testing + pass/fail" on a single line before actually performing the + test. Now any additional failure information is logged before the + test pass/fail announcement. * Added an additional CDR(answer,u) + test. ........ Merged revisions 398018 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 398019 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-30 16:57 +0000 [r398020] Jonathan Rose + + * main/features_config.c, main/udptl.c: features_config: Don't + require features.conf to be present for Asterisk to load (closes + issue ASTERISK-22426) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2806/ + +2013-08-30 16:26 +0000 [r398002-398016] Kevin Harwell + + * apps/app_mixmonitor.c, /: Fix memory leaks (closes issue + ASTERISK-22368) Reported by: Corey Farrell Patches: + issueA22368_mixmonitor_free_filename.patch uploaded by wdoekes + (license 5674) ........ Merged revisions 398004 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 398011 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/asterisk.c: Check return value on fwrite ........ Merged + revisions 398000 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-30 13:39 +0000 [r397985-397989] David M. Lee + + * res/res_http_websocket.c, CHANGES, include/asterisk/compiler.h, + include/asterisk/ari.h, main/loader.c, + include/asterisk/optional_api.h, build_tools/cflags.xml, + configure, res/res_ari_events.c, + include/asterisk/http_websocket.h, main/optional_api.c (added), + rest-api-templates/swagger_model.py, res/ari/ari_websockets.c, + main/asterisk.c, channels/sip/include/sip.h, res/res_ari.c, + tests/test_optional_api.c (added), channels/chan_sip.c, + include/asterisk/autoconfig.h.in, configure.ac, + rest-api-templates/res_ari_resource.c.mustache, + res/ari/internal.h: optional_api: Fix linking problems between + modules that export global symbols With the new work in Asterisk + 12, there are some uses of the optional_api that are prone to + failure. The details are rather involved, and captured on [the + wiki][1]. This patch addresses the issue by removing almost all + of the magic from the optional API implementation. Instead of + relying on weak symbol resolution, a new optional_api.c module + was added to Asterisk core. For modules providing an optional + API, the pointer to the implementation function is registered + with the core. For modules that use an optional API, a pointer to + a stub function, along with a optional_ref function pointer are + registered with the core. The optional_ref function pointers is + set to the implementation function when it's provided, or the + stub function when it's now. Since the implementation no longer + relies on magic, it is now supported on all platforms. In the + spirit of choice, an OPTIONAL_API flag was added, so we can + disable the optional_api if needed (maybe it's buggy on some + bizarre platform I haven't tested on) The AST_OPTIONAL_API*() + macros themselves remained unchanged, so existing code could + remain unchanged. But to help with debugging the optional_api, + the patch limits the #include of optional API's to just the + modules using the API. This also reduces resource waste + maintaining optional_ref pointers that aren't used. Other changes + made as a part of this patch: * The stubs for http_websocket that + wrap system calls set errno to ENOSYS. * res_http_websocket now + properly increments module use count. * In loader.c, the while() + wrappers around dlclose() were removed. The while(!dlclose()) is + actually an anti-pattern, which can lead to infinite loops if the + module you're attempting to unload exports a symbol that was + directly linked to. * The special handling of nonoptreq on + systems without weak symbol support was removed, since we no + longer rely on weak symbols for optional_api. [1]: + https://wiki.asterisk.org/wiki/x/wACUAQ (closes issue + ASTERISK-22296) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2797/ + + * res/res_stasis_recording.c, res/Makefile, + res/ari/ari_model_validators.c, + rest-api/api-docs/recordings.json, res/stasis_recording (added), + res/ari/resource_recordings.c, res/ari/ari_model_validators.h, + res/res_ari_recordings.c, res/res_stasis_playback.c, + include/asterisk/stasis_app_recording.h, + res/ari/resource_recordings.h: ARI: Implement /recordings/stored + API's his patch implements the ARI API's for stored recordings. + While the original task only specified deleting a recording, it + was simple enough to implement the GET for all recordings, and + for an individual recording. The recording playback operation was + modified to use the same code for accessing the recording as the + REST API, so that they will behave consistently. There were + several problems with the api-docs that were also fixed, bringing + the ARI spec in line with the implementation. There were some + 'wishful thinking' fields on the stored recording model (duration + and timestamp) that were removed, because I ended up not + implementing a metadata file to go along with the recording to + store such information. The GET /recordings/live operation was + removed, since it's not really that useful to get a list of all + recordings that are currently going on in the system. (At least, + if we did that, we'd probably want to also list all of the + current playbacks. Which seems weird.) (closes issue + ASTERISK-21582) Review: https://reviewboard.asterisk.org/r/2693/ + +2013-08-30 01:19 +0000 [r397975-397977] Richard Mudgett + + * main/pbx.c: pbx.c: Make pbx_substitute_variables_helper_full() + not mask variables. + + * main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: Revert + last commit. + + * main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: pbx.c: + Make ast_str_substitute_variables_full() not mask variables. + +2013-08-30 00:10 +0000 [r397960-397968] Mark Michelson + + * res/res_pjsip_pidf.c: Sanitize XML output for PIDF bodies. + PJSIP's PIDF API does not replace angle brackets with their + appropriate counterparts for XML. So we have to do it ourself. In + this particular case, the problem had to do with attempting to + place an unsanitized SIP URI into an XML node. Now we don't get a + 488 from recipients of our PIDF NOTIFYs. + + * res/res_pjsip_pidf.c: Fix method for creating activities string + in PIDF bodies. The previous method did not allocate enough space + to create the entire string, but adjusted the string's slen value + to be larger than the actual allocation. This resulted in garbled + text in NOTIFY requests from Asterisk. This method allocates the + proper amount of space first and then writes the content into the + buffer. + +2013-08-29 22:45 +0000 [r397958] Kevin Harwell + + * channels/chan_misdn.c, /, apps/app_dumpchan.c, main/logger.c, + apps/app_verbose.c, main/asterisk.c: Verbose logging + discrepancies Refactored cases where a combination of + ast_verbose/options_verbose were present. Also in general tried + to eliminate, in as many places as possible, where the + options_verbose global variable was being used. Refactored the + way local and remote consoles handle verbose message logging in + an attempt to solve the various discrepancies that sometimes + would show between the two. (closes issue AST-1193) Reported by: + Guenther Kelleter Review: + https://reviewboard.asterisk.org/r/2798/ ........ Merged + revisions 397948 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-29 22:24 +0000 [r397955] Mark Michelson + + * res/res_pjsip_pubsub.c: Fix when the subscription_terminated + callback is called for subscription handlers. The previous + placement would result in the resubscribe() callback called + instead of the subscription_terminated() callback being called + when a subscription was ended via a SUBSCRIBE request. This would + result in confusing PJSIP and having it throw an assertion. + +2013-08-29 21:34 +0000 [r397946] Kevin Harwell + + * main/file.c, main/app.c, main/config_options.c, main/cel.c, + main/asterisk.c, main/cdr.c, main/manager.c, + main/stasis_config.c: Memory leaks fix (closes ASTERISK-22376) + Reported by: John Hardin Patches: memleak.patch uploaded by + jhardin (license 6512) memleak2.patch uploaded by jhardin + (license 6512) + +2013-08-29 21:33 +0000 [r397945] Mark Michelson + + * res/res_pjsip_session.c: Fix a race condition where a canceled + call was answered. RFC 5407 section 3.1.2 details a scenario + where a UAC sends a CANCEL at the same time that a UAS sends a + 200 OK for the INVITE that the UAC is canceling. When this + occurs, it is the role of the UAC to immediately send a BYE to + terminate the call. This scenario was reproducible by have a + Digium phone with two lines place a call to a second phone that + forwarded the call to the second line on the original phone. The + Digium phone, upon realizing that it was connecting to itself, + would attempt to cancel the call. The timing of this happened to + trigger the aforementioned race condition about 80% of the time. + Asterisk was not doing its job of sending a BYE when receiving a + 200 OK on a cancelled INVITE. The result was that the ast_channel + structure was destroyed but the underlying SIP session, as well + as the PJSIP inv_session and dialog, were still alive. Attempting + to perform an action such as a transfer, once in this state, + would result in Asterisk crashing. The circumstances are now + detected properly and the session is ended as recommended in RFC + 5407. (closes issue AST-1209) reported by John Bigelow + +2013-08-29 20:21 +0000 [r397938] Matthew Jordan + + * contrib/scripts/safe_asterisk, Makefile, + configs/safe_asterisk.conf.sample (removed), CHANGES: Revert + r394939 due to (numerous) objections The patch from + ASTERISK-21965 was committed perhaps a bit too hastily. Walter + and Tzafrir have pointed out numerous issues with the approach + and have propsed an alternative in r/2757. Since it's not a time + critical issue and is not worth holding up the release of 12 for + it, I've gone ahead and reverted r394939 from 12/trunk and + re-opened ASTERISK-21965. + +2013-08-29 16:18 +0000 [r397927] David M. Lee + + * rest-api-templates/api.wiki.mustache, + rest-api-templates/asterisk_processor.py, + rest-api-templates/make_ari_stubs.py: Account for {} in Swagger + notes + +2013-08-29 16:04 +0000 [r397924] Matthew Jordan + + * Makefile: Recursively search for '.c' files when making + documentation with 'make full' Without this, documentation + defined in sub-folders is ignored. Since having properly + generated documentation is especially important in Asterisk 12 - + not having it can cause a module to not load - 'make full' needs + to look in all .c files. + +2013-08-29 15:42 +0000 [r397921-397922] Mark Michelson + + * main/cel.c: Remove extra debug message. + + * apps/app_queue.c, main/cel.c, main/stasis_bridges.c: Resolve + assumptions that bridge snapshots would be non-NULL for transfer + stasis events. Attempting to transfer an unbridged call would + result in crashes in either CEL code or in the conversion to AMI + messages. + +2013-08-29 12:27 +0000 [r397911] Matthew Jordan + + * contrib/ast-db-manage (added), + contrib/ast-db-manage/voicemail/versions (added), + contrib/ast-db-manage/config.ini.sample (added), + contrib/ast-db-manage/config/env.py (added), + contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py + (added), contrib/ast-db-manage/config (added), + contrib/ast-db-manage/config/script.py.mako (added), + contrib/ast-db-manage/voicemail.ini.sample (added), + contrib/ast-db-manage/voicemail/env.py (added), + contrib/ast-db-manage/voicemail (added), + contrib/ast-db-manage/voicemail/script.py.mako (added), + contrib/ast-db-manage/README.md (added), + contrib/ast-db-manage/config/versions (added), + contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py + (added): Actually *add* the database schema management utilities + In r397874, the scripts were removed... but not replaced. Thanks + to Michael Young for noticing this! + +2013-08-28 23:14 +0000 [r397885-397902] Richard Mudgett + + * main/cdr.c, funcs/func_cdr.c, main/stdtime/localtime.c: Fix some + uninitialized buffers for CDR handling valgrind found. * Made + ast_strftime_locale() ensure that the output buffer is + initialized. The std library strftime() returns 0 and does not + touch the buffer if it has an error. However, the function can + also return 0 without an error. (closes issue ASTERISK-22412) + Reported by: rmudgett + + * main/cdr.c: Fixed problems with ast_cdr_serialize_variables(). * + Fixed return value of ast_cdr_serialize_variables() on error. It + needs to return 0 indicating no CDR variables found. * Made + ast_cdr_serialize_variables() check the return value of + cdr_object_format_property() and assert if nonzero. A member of + the cdr_readonly_vars[] was not handled. * Removed unused + elements from cdr_readonly_vars[]: total_duration, total_billsec, + first_start, and first_answer. + + * main/cdr.c: Made the on/off in CLI "cdr set debug [on|off]" case + insensitive. + + * main/cdr.c: Make CDR variable name chandling consistently case + insensitive. + + * main/cdr.c: Make CDR code deal with channel names case + insensitively. + + * main/cdr.c, funcs/func_cdr.c: Some CDR code optimization. + + * funcs/func_cdr.c: Whitespace and curly braces. + +2013-08-28 21:05 +0000 [r397876] Mark Michelson + + * res/res_pjsip_refer.c: Improve detection of answer on SIP blind + transfer. A problem encountered during testing was that + res_pjsip_refer would not ever send a NOTIFY with a 200 OK + sipfrag. This is because the framehook that was supposed to send + the NOTIFY would never be told that an answer had occurred. This + happened for two reasons: 1) The transferee channel on which the + framehook was on was already up. 2) Answers are rarely if ever + written to channels. Rather, the ast_answer() or ast_raw_answer() + function is used to answer channels. Thanks to a suggestion by + Matt Jordan, the best way to detect that the call had been + answered was to find out when the transferee channel joined a + bridge. With stasis this is an easy task. So now, in addition to + the framehook logic, there is a stasis subscription used to + determine when the transferee has entered a bridge. Once it has + entered, an appropriate NOTIFY is sent. + +2013-08-28 20:55 +0000 [r397870-397874] Matthew Jordan + + * CHANGES, contrib/realtime/mysql/musiconhold.sql, + contrib/realtime/mysql/queue_log.sql, + contrib/realtime/mysql/voicemail.sql, + contrib/realtime/mysql/sippeers.sql, + contrib/realtime/mysql/iaxfriends.sql, + contrib/realtime/mysql/meetme.sql, + contrib/realtime/mysql/voicemail_messages.sql, + contrib/realtime/postgresql/realtime.sql, + contrib/realtime/mysql/voicemail_data.sql: Add database schema + management using Alembic This patch replaces contrib/realtime/ + with a new setup for managing the database schema required for + database integration with Asterisk. In addition to initializing a + database with the proper schema, alembic can do a database + migration to assist with upgrading Asterisk in the future. + Hopefully this helps make setting up and operating Asterisk with + a database easier. With this the schema only needs to be + maintained in one place instead of once per database. The schemas + I have added here have a bit of improvement over the examples + that were there before (some added consistency and added some + missing indexes). Managing the schema in one place here also + applies to all databases supported by SQLAlchemy. See + contrib/ast-db-manage/README.md for more details. Review: + https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant + (license 6300) + + * CHANGES: Update CHANGES file for Asterisk 12 This updates the + Asterisk 12 CHANGES file with the things that were missed during + the development cycle. Review: + https://reviewboard.asterisk.org/r/2795/ + +2013-08-28 16:12 +0000 [r397856-397859] Richard Mudgett + + * main/pbx.c: pbx.c: Make ast_str_substitute_variables_full() not + mask variables. + + * include/asterisk/threadstorage.h: Match use of ast_free() with + ast_calloc() and add some curly braces. + +2013-08-28 15:40 +0000 [r397854] Mark Michelson + + * res/res_pjsip/pjsip_distributor.c: Fix dialog matching in the SIP + distributor. Dialog matching is performed in the distributor for + the sole purpose of retrieving an associated serializer so the + request may be serialized. This patch fixes two problems. First, + incoming CANCEL requests that had no to-tag (which really should + be *all* CANCEL requests) would not match with a dialog. An + earlier bug fix to deal with early CANCEL requests would result + in the CANCEL being replied to with a 481. The fix for this is to + find the matching INVITE transaction and get the dialog from that + transaction. Second, no SIP responses were matching dialogs. This + is because we were inverting the tags that we were passing into + PJSIP's dialog finding function. This logic has been corrected by + setting local and remote tag variables based on whether the + incoming message is a request or response. + +2013-08-27 19:15 +0000 [r397816] David M. Lee + + * res/stasis/app.c, res/res_ari_events.c, res/res_ari_asterisk.c, + rest-api-templates/res_ari_resource.c.mustache, res/stasis/app.h, + res/res_stasis.c, main/stasis_bridges.c, + rest-api-templates/param_parsing.mustache, res/res_ari_bridges.c: + ARI: WebSocket event cleanup Stasis events (which get distributed + over the ARI WebSocket) are created by subscribing to the + channel_all_cached and bridge_all_cached topics, filtering out + events for channels/bridges currently subscribed to. There are + two issues with that. First was a race condition, where messages + in-flight to the master subscribe-to-all-things topic would get + sent out, even though the events happened before the channel was + put into Stasis. Secondly, as the number of channels and bridges + grow in the system, the work spent filtering messages becomes + excessive. Since r395954, individual channels and bridges have + caching topics, and can be subscribed to individually. This patch + takes advantage, so that channels and bridges are subscribed to + on demand, instead of filtering the global topics. The one case + where filtering is still required is handling BridgeMerge + messages, which are published directly to the bridge_all topic. + Other than the change to how subscriptions work, this patch + mostly just moves code around. Most of the work generating JSON + objects from messages was moved to .to_json handlers on the + message types. The callback functions handling app subscriptions + were moved from res_stasis (b/c they were global to the model) to + stasis/app.c (b/c they are local to the app now). (closes issue + ASTERISK-21969) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2754/ + +2013-08-27 18:49 +0000 [r397809] Richard Mudgett + + * main/astmm.c: Made MALLOC_DEBUG less CPU intensive by default. + Storing a backtrace for each allocation in anticipation of a + memory management problem is very CPU intensive. * Added the CLI + "memory backtrace {on|off}" command to request that the backtrace + be gathered only on request. The backtrace is off by default. + (issue ASTERISK-22221) Reported by: Matt Jordan + +2013-08-27 18:05 +0000 [r397759] Matthew Jordan + + * /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid + SDP If the SIP channel driver processes an invalid SDP that + defines media descriptions before connection information, it may + attempt to reference the socket address information even though + that information has not yet been set. This will cause a crash. + This patch adds checks when handling the various media + descriptions that ensures the media descriptions are handled only + if we have connection information suitable for that media. Thanks + to Walter Doekes, OSSO B.V., for reporting, testing, and + providing the solution to this problem. (closes issue + ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches: + issueA22007_sdp_without_c_death.patch uploaded by wdoekes + (License 5674) ........ Merged revisions 397756 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397757 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 397758 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-27 16:47 +0000 [r397745] Richard Mudgett + + * channels/chan_dahdi.c, channels/sig_analog.c, /, + channels/chan_sip.c, channels/chan_motif.c, channels/chan_iax2.c, + channels/sig_pri.c, channels/sig_ss7.c: Fix uninitialized value + in struct ast_control_pvt_cause_code usage. ........ Merged + revisions 397744 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-27 16:03 +0000 [r397690-397713] Matthew Jordan + + * /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK + on dialog that has no channel A remote exploitable crash + vulnerability exists in the SIP channel driver if an ACK with SDP + is received after the channel has been terminated. The handling + code incorrectly assumed that the channel would always be + present. This patch adds a check such that the SDP will only be + parsed and applied if Asterisk has a channel present that is + associated with the dialog. Note that the patch being applied was + modified only slightly from the patch provided by Walter Doekes + of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin + Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches: + issueA21064_fix.patch uploaded by wdoekes (License 5674) ........ + Merged revisions 397710 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397711 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 397712 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/bridge_channel.c: Better handle clearing the OUTGOING flag + when a channel leaves a bridge When a channel with the OUTGOING + flag leaves a bridge, and it will survive being pulled from the + bridge (either because it will execute dialplan, go into another + bridge, or live in a friendly autoloop), we have to clear the + OUTGOING flag. This is the signal to the CDR engine that this + channel is no longer a second class citizen, i.e., it is not + "dialed". The soft hangup flags are only half the picture. If a + channel is being moved from one bridge to another, the soft + hangup flags aren't set; however, the state of the bridge_channel + will not be hung up. Since the channel does not have one of the + two hang up states, that implies that the channel is still + technically alive. This patch modifies the check so that it + checks both the soft hangup flags as well as the bridge_channel + state. If either suggests that the channel is going to persist, + we clear the OUTGOING flag. + +2013-08-26 21:30 +0000 [r397673] David M. Lee + + * main/bucket.c: Fixed bucket.c for systems where tv_usec is not an + unsigned long. + +2013-08-26 16:24 +0000 [r397643-397650] Richard Mudgett + + * main/bridge_channel.c, include/asterisk/bridge_channel.h: + bridging: Fix a livelock with local channel optimization. Use a + better means of waking up the bridge channel thread. + + * channels/Makefile: chan_dahdi: Add some missing build cleanup. + +2013-08-25 18:12 +0000 [r397621-397630] Matthew Jordan + + * tests/test_bucket.c: Fix bucket unit tests After the review for + buckets was completed (r2715), the handling of names in the + bucket core was deferred to the wizards. As such, the bucket unit + tests cannot expect that passing a URI with a scheme specified + but no actual resource name will automatically fail. The tests + have been updated to not make this check. + + * include/asterisk/config_options.h, main/config_options.c, + tests/test_config.c: Fix the config_options_test The config + options test requires the entire configuration item to be + transparent from the documentation system. So we let it do that + too. As an aside, please do not use this power for evil. + Documentation is your friend, and you really should document your + configurations. Hiding your module's configuration information + from the system attempting to enforce some sanity in the universe + is something only a Bond villain would contemplate. + + * res/res_pjsip/pjsip_configuration.c: Add rtpengine configuration + parameter The rtpengine configuration parameter was documented in + the XML documentation, but it was not actually registered with + the sorcery object. This adds the parameter with a default of + "asterisk", such that res_rtp_asterisk is chosen as the default + RTP implementation. (closes issue ASTERISK-22380) Reported by: + Rusty Newton Tested by: Rusty Newton + +2013-08-23 22:36 +0000 [r397614] Matthew Jordan + + * / (added): __________ | \ |_______ | | | ______| | / | _ _ _ _ _ + | _______| / \ ___| |_ ___ _ __(_)___| | __ / || | / _ \ / __| + __/ _ \ '__| / __| |/ / | || |_______ / ___ \__ \| | __/ | | \__ + \ < | || | /_/ \_\___/\__\___|_| |_|___/_|\_\ |_| \__________| + +2013-08-23 22:20 +0000 [r397613] Joshua Colp + + * main/bucket.c: Fix building of trunk. Note: This is why I commit + on the weekend. + +2013-08-23 22:12 +0000 [r397606] Matthew Jordan + + * main/pbx.c: Fix channel reference leak in Originated channels + When originating channels, ast_pbx_outgoing_* caused the dialed + channel reference to be bumped twice. Ostensibly, this routine is + bumping the channel lifetime such that the channel doesn't get + nuked in between locks/unlocks; however, since the routine should + return the dialed channel with its reference bumped, it only + needs to do this one time. + +2013-08-23 21:53 +0000 [r397603] Mark Michelson + + * res/res_pjsip.c: Add some clarifying documentation to the + rewrite_contact endpoint option. + +2013-08-23 21:51 +0000 [r397602] Richard Mudgett + + * main/bridge_channel.c: Blank line tweaks. + +2013-08-23 21:49 +0000 [r397599-397600] Joshua Colp + + * makeopts.in, main/asterisk.c, include/asterisk/bucket.h (added), + main/sorcery.c, include/asterisk/config_options.h, + tests/test_bucket.c (added), build_tools/menuselect-deps.in, + configure, include/asterisk/autoconfig.h.in, main/Makefile, + main/bucket.c (added), configure.ac, main/config_options.c: Add + the bucket API. Bucket is a URI based API for the creation, + retrieval, updating, and deletion of "buckets" and files + contained within them. Review: + https://reviewboard.asterisk.org/r/2715/ + + * include/asterisk/sorcery.h: Fix a bug where the argc value was + passed as no_doc when registering custom sorcery types. This also + adds a _nodoc equivalent. + +2013-08-23 21:02 +0000 [r397593] Mark Michelson + + * main/bridge_channel.c: Add test events necessary for bridge tests + to pass in the test suite. (closes issue AST-1200) reported by + John Bigelow Review: https://reviewboard.asterisk.org/r/2790/ + +2013-08-23 20:14 +0000 [r397585] Matthew Jordan + + * main/stasis_channels.c: Fix error in using + ast_channel_snapshot_type before initialization Starting Asterisk + would kick back an ERROR message stating that the Stasis message + type ast_channel_snapshot_type was used prior to initialization. + This occurred due to the caching topic being created prior to the + message type that it depended on. This patch re-orders the start + up such that the message type is initialized prior to the caching + topic. It also checks the return value of the initialization of + the agent login/logoff types. + +2013-08-23 19:05 +0000 [r397578] Jonathan Rose + + * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix hold chain + bugs caused by native RTP bridge framehook Issuing hold/unhold + would lead to odd behavior. Between two chan_sip devices, a hold + could cause an endless chain of updates while with pjsip a + similar chain would begin but then end somewhat randomly. This + patch fixes that by no longer tweaking the RTP glue on both sides + of the call for every HOLD/UNHOLD/UPDATE_RTP_PEER frame. (issue + ASTERISK-22217) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2794/ + +2013-08-23 18:33 +0000 [r397577] Richard Mudgett + + * include/asterisk/channel.h, res/res_musiconhold.c, + main/bridge_channel.c, main/channel.c, + include/asterisk/bridge_channel_internal.h, main/bridge.c, + include/asterisk/bridge_channel.h, main/channel_internal_api.c, + bridges/bridge_builtin_interval_features.c: Handle DTMF and hold + wrapup when a channel leaves the bridging system. DTMF start/end + and hold/unhold events have state because a DTMF begin event and + hold event must be ended by something. The following cases need + to be handled when a channel is moved around in the system. * + When a channel leaves a bridge it may owe a DTMF end event to the + bridge. * When a channel leaves a bridge it may owe an UNHOLD + event to the bridge. (This case is explicitly ignored because + things like transfers need explicit control over this.) * When a + channel leaves the bridging system it may need to simulate a DTMF + end event to the channel. * When a channel leaves the bridging + system it may need to simulate an UNHOLD event to the channel. + The patch also fixes the following: * Fixes playing a file and + restarting MOH using the latest MOH class used. (closes issue + ASTERISK-22043) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2791/ + +2013-08-23 18:10 +0000 [r397571] Matthew Jordan + + * tests/test_sorcery_astdb.c, tests/test_sorcery.c, + tests/test_sorcery_realtime.c: Fix sorcery unit tests When strict + XML documentation checking was re-enabled, the test objects used + in sorcery would fail to register as the types were not marked + internal and the nodoc option wasn't used for the options. This + fixes that problem, such that, as one would hope, they once again + pass. + +2013-08-23 18:07 +0000 [r397570] Richard Mudgett + + * main/backtrace.c, main/logger.c, main/utils.c, + include/asterisk/lock.h, main/astmm.c, channels/sig_pri.c, + main/astobj2.c, include/asterisk/backtrace.h, main/lock.c, + include/asterisk/utils.h, include/asterisk/astmm.h, /: Fix memory + corruption when trying to get "core show locks". Review + https://reviewboard.asterisk.org/r/2580/ tried to fix the + mismatch in memory pools but had a math error determining the + buffer size and didn't address other similar memory pool + mismatches. * Effectively reverted the previous patch to go in + the same direction as trunk for the returned memory pool of + ast_bt_get_symbols(). * Fixed memory leak in ast_bt_get_symbols() + when BETTER_BACKTRACES is defined. * Fixed some formatting in + ast_bt_get_symbols(). * Fixed sig_pri.c freeing memory allocated + by libpri when MALLOC_DEBUG is enabled. * Fixed + __dump_backtrace() freeing memory from ast_bt_get_symbols() when + MALLOC_DEBUG is enabled. * Moved __dump_backtrace() because of + compile issues with the utils directory. (closes issue + ASTERISK-22221) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2778/ ........ Merged + revisions 397525 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397528 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-23 18:02 +0000 [r397568] Matthew Jordan + + * main/config_options.c: Prevent seg fault in off nominal path when + registered option fails to validate If an option is registered to + a type and it is the last known type in the list of registered + types, and the option fails to register, an overrun of the types + array can occur due to the index variable having been already + incremented. + +2013-08-23 17:45 +0000 [r397567] Kevin Harwell + + * contrib/scripts/sip_to_res_sip/astconfigparser.py, + contrib/scripts/sip_to_res_sip/astdicts.py, + contrib/scripts/sip_to_res_sip/sip_to_res_sip.py: PSJIP - + sip.conf to res_sip.conf script Most, if not all, of the backing + features of a conf file should now be implemented (e.g. + multi-line comments, includes, templates, etc...). A few of the + options still need to be mapped. Those are currently listed in + the 'sip_to_res_sip.py' file. Things to do: (1) There is more + work to do here, at least for the sip.conf items that aren't + currently parsed. An issue will be created for that. (2) All of + the scripts should probably be passed through pylint and have as + many PEP8 issues fixed as possible. (3) A public review is + probably warranted at that point of the entire script. Reported + by: Matt Jordan + +2013-08-23 17:19 +0000 [r397565] David M. Lee + + * include/asterisk/stasis_app_impl.h, + rest-api/api-docs/bridges.json, res/ari/resource_bridges.c, + res/res_ari_bridges.c, res/stasis/control.c, + include/asterisk/stasis_app.h: ARI: Correct error codes for + bridge operations This patch adds error checking to ARI bridge + operations, when adding/removing channels to/from bridges. In + general, the error codes fall out as follows: * Bridge not found + - 404 Not Found * Bridge not in Stasis - 409 Conflict * Channel + not found - 400 Bad Request * Channel not in Stasis - 422 + Unprocessable Entity * Channel not in this bridge (on remove) - + 422 Unprocessable Entity (closes issue ASTERISK-22036) Review: + https://reviewboard.asterisk.org/r/2769/ + +2013-08-23 15:49 +0000 [r397524-397527] Matthew Jordan + + * CHANGES: Update CHANGES file to reflect pass through support for + Opus/VP8 + + * main/channel.c, main/format.c, res/res_rtp_asterisk.c, + main/frame.c, main/rtp_engine.c, channels/chan_sip.c, + res/res_pjsip_sdp_rtp.c, include/asterisk/opus.h (added), + include/asterisk/format.h, channels/chan_pjsip.c, + res/res_format_attr_opus.c (added): Add pass through support for + Opus and VP8; Opus format attribute negotiation This patch adds + pass through support for Opus and VP8. That includes: * Format + attribute negotiation for Opus. Note that unlike some other + codecs, the draft RFC specifies having spaces delimiting the + attributes in addition to ';', so you have "attra=X; attrb=Y". + This broke the attribute parsing in chan_sip, so a small tweak + was also included in this patch for that. * A format attribute + negotiation module for Opus, res_format_attr_opus * Fast picture + update for VP8. Since VP8 uses a different RTCP packet number + than FIR, this really is specific to VP8 at this time. Note that + the format attribute negotiation in res_pjsip_sdp_rtp was written + by mjordan. The rest of this patch was written completely by + Lorenzo Miniero. Review: https://reviewboard.asterisk.org/r/2723/ + (closes issue ASTERISK-21981) Reported by: Tzafrir Cohen patches: + asterisk_opus+vp8_passthrough_20130718.patch uploaded by lminiero + (License 6518) + + * include/asterisk/config_options.h, include/asterisk/sorcery.h, + res/res_pjsip/pjsip_configuration.c, main/config_options.c, + main/features_config.c, res/res_pjsip/pjsip_options.c, + res/res_pjsip.c, main/sorcery.c: Update config framework/sorcery + with types/options without documentation There are times when a + configuration option should not have documentation. 1. Some + options are registered with a particular object merely as a + warning to users. These options aren't even really 'deprecated' - + which has its own separate API call - they are actually provided + by a different configuration file. The options are merely + registered so that the user gets a warning that a different + configuration file provides the item. 2. Some object types - most + notably some used by modules that use sorcery - are completely + internal and should never be shown to the user. 3. Sorcery itself + has several 'hidden' fields that should never be shown to a user. + This patch updates the configuration framework and sorcery with + additional API calls that allow a module to register types as + internal and options as not requiring documentation. This + bypasses the XML documentation checking. This patch also + re-enables the strict XML documentation checking in trunk, as + well as updates some documentation that was missing. Review: + https://reviewboard.asterisk.org/r/2785/ (closes issue + ASTERISK-22359) Reported by: Matt Jordan (closes issue + ASTERISK-22112) Reported by: Rusty Newton + +2013-08-23 13:58 +0000 [r397515] Joshua Colp + + * channels/chan_pjsip.c: Fix crash when answering after a transport + error occurs. If a response to an initial incoming INVITE results + in a transport error the INVITE transaction is removed from the + INVITE session. Any attempts to answer the INVITE session after + this results in a crash as it requires the INVITE transaction to + exist. This change explicitly locks the dialog and checks to + ensure that the INVITE transaction exists before answering. + (closes issue AST-1203) Reported by: John Bigelow + +2013-08-23 13:18 +0000 [r397514] Kinsey Moore + + * configs/cel.conf.sample: Update CEL sample config + +2013-08-23 00:26 +0000 [r397505] Jonathan Rose + + * include/asterisk/stasis_app.h, res/res_stasis.c, + rest-api/api-docs/bridges.json, res/ari/resource_bridges.c, + res/res_ari_bridges.c, res/ari/resource_bridges.h: ARI: Music on + Hold/Background Music for bridges Adds ARI functions to be able + to turn on/off music on hold in a bridge. It actually functions + more as a background music without further actions on the bridge + since if the rest of the channels in the bridge aren't explicitly + muted, they will still be able to communicate. (closes issue + ASTERISK-21974) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2688/ + +2013-08-22 23:15 +0000 [r397494] Richard Mudgett + + * main/channel.c, bridges/bridge_holding.c, apps/app_followme.c: + Minor tweaks with ast_moh_start() callers. + +2013-08-22 22:33 +0000 [r397493] Kinsey Moore + + * CHANGES, apps/app_directory.c, apps/app_chanspy.c, + include/asterisk/say.h, apps/app_voicemail.c, main/channel.c, + main/pbx.c, main/say.c, res/res_agi.c: Add SayAlphaCase and + similar functionality for AGI This adds a new dialplan + application, SayAlphaCase, that performs much the same function + as SayAlpha except that it takes additional options which allow + the user to specify whether the case of each letter should be + announced for uppercase, lowercase, or all letters. Similar + functionality has been added to the SAY ALPHA AGI command via an + optional parameter. Original Patch by: Kevin Scott Adams Reported + by: Kevin Scott Adams Review: + https://reviewboard.asterisk.org/r/2725/ (closes issue + ASTERISK-20782) + +2013-08-22 22:09 +0000 [r397484] Kevin Harwell + + * res/res_pjsip.c, res/res_pjsip_dtmf_info.c: res_sip_dtmf_info: + Support sending of 'raw' DTMF Added the ability to handle 'raw' + DTMF within the body of an INFO message. Also made it so values + 10-16 are mapped to valid DTMF values. (closes issue + ASTERISK-22144) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2776/ + +2013-08-22 21:39 +0000 [r397483] Kinsey Moore + + * res/res_pjsip.c: Add missing configOption close tags + +2013-08-22 21:29 +0000 [r397482] Richard Mudgett + + * include/asterisk/musiconhold.h: Update MOH start/stop routine + doxygen. + +2013-08-22 21:21 +0000 [r397481] Rusty Newton + + * res/res_pjsip.c: Fix missing xml doc configOption 'type' for for + both 'system' and 'global' configObjects (issue ASTERISK-22344) + (closes issue ASTERISK-22344) + +2013-08-22 21:09 +0000 [r397472] Richard Mudgett + + * apps/app_dial.c, main/bridge.c, main/bridge_basic.c, + apps/app_bridgewait.c, res/parking/parking_applications.c, + res/parking/parking_bridge_features.c, apps/app_agent_pool.c, + res/res_parking.c, bridges/bridge_builtin_features.c, + include/asterisk/bridge_channel.h, main/features.c, + bridges/bridge_builtin_interval_features.c, + include/asterisk/bridge_internal.h, apps/app_confbridge.c, + main/bridge_channel.c, res/res_stasis.c, + include/asterisk/bridge.h: Bridge API: Set a cause code on a + channel when it is ejected from a bridge. The cause code needs to + be passed from the disconnecting channel to the bridge peers if + the disconnecting channel dissolves the bridge. * Made the call + to an app_agent_pool agent disconnect with the busy cause code if + the agent does not ack the call in time or hangs up before acking + the call. (closes issue ASTERISK-22042) Reported by: Matt Jordan + Review: https://reviewboard.asterisk.org/r/2772/ + +2013-08-22 20:29 +0000 [r397471] Kinsey Moore + + * main/cel.c: Ensure CEL creates a default config if it isn't + provided with one + +2013-08-22 20:18 +0000 [r397466] Mark Michelson + + * apps/app_queue.c: Remove set but unused variable 'meid'. + +2013-08-22 19:52 +0000 [r397461] Kinsey Moore + + * main/cel.c: Fix crash when getting CEL config + +2013-08-22 18:52 +0000 [r397441-397451] Mark Michelson + + * main/bridge.c, main/bridge_basic.c, main/features.c, main/app.c, + main/core_local.c, CHANGES, apps/app_queue.c, + include/asterisk/bridge_basic.h, include/asterisk/core_unreal.h, + include/asterisk/features.h, include/asterisk/app.h: Massively + clean up app_queue. This essentially makes app_queue usable + again. From reviewboard: * Reporting of transfers and call + completion is done by creating stasis subscriptions and listening + for specific events in order to determine when the call is + finished (either via a transfer or hangup). * Dial end messages + have been added where they were previously missing. * Queue stats + are properly being updated again once calls have finished. * + AgentComplete stasis messages and AMI events are now occurring + again. * Mixmonitor starting has been factored into its own + function and uses the Mixmonitor API now instead of using + ast_pbx_run() In addition to the changes in app_queue, there are + several supplementary changes as well: * Queue logging now + differentiates between attended and blind transfers. A note about + this is in the CHANGES file. * Local channel optimization events + now report more information. This includes which of the two local + channels involved is the destination of the optimization, the + channel that is replacing the destination local channel, and an + identifier so that begin and end events can be matched to each + other. The end events are now sent whether the optimization was + successful or not and includes an indicator of whether the + optimization was successful. * Changes were made to features and + bridging_basic so that additional flags may be set on a bridge. + This is necessary because the queue requires that its bridge only + allows move-swap local channel optimizations into the bridge. + (closes issue ASTERISK-21517) Reported by Matt Jordan (closes + issue ASTERISK-21943) Reported by Matt Jordan Review: + https://reviewboard.asterisk.org/r/2694 + + * res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h, + res/res_pjsip_mwi.c, res/res_pjsip_pubsub.c: Handle default body + types for SIP event packages in res_pjsip_pubsub Prior to this + change, we would reject SUBSCRIBE requests that had no Accept + headers. Now event package handlers that handle the default type + for the event package indicate that they do so. Therefore, if we + have a handler that can handle the default type, we can allow + SUBSCRIBEs for the handler's event package that have no Accept + headers. (closes issue ASTERISK-22067) reported by Mark Michelson + Review: https://reviewboard.asterisk.org/r/2774 + +2013-08-22 17:34 +0000 [r397440] Richard Mudgett + + * main/abstract_jb.c, main/bridge_channel.c: Made the abstract + jitter buffer resync on some more control frames. Resync the + abstract jitter buffer on the following additional control + frames: AST_CONTROL_HOLD AST_CONTROL_UNHOLD + AST_CONTROL_T38_PARAMETERS + +2013-08-22 17:13 +0000 [r397431] Kinsey Moore + + * main/cel.c, include/asterisk/cel.h, tests/test_cel.c: Make CEL + behavior conform to the documentation This modifies the behavior + of the CEL engine to conform to documented behavior for Asterisk + 12 as defined on the wiki + https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CEL+Specification + The primary changes deal with removal of the peer field from + function calls since it is no longer directly relevant to the + bridging system and removal of the layer of CDR-like business + logic that was providing a partial emulation of Asterisk 11 CEL + functionality. With this change, there is no longer a distinction + between "bridges" and "conferences" and all participation changes + are denoted with bridge enter and bridge exit messages. This + updates the CEL unit tests to handle these changes and simplifies + some of the macros used in the process. This also fixes a + segfault when attempting to ref a configuration that failed to + load. Review: https://reviewboard.asterisk.org/r/2788/ (issue + ASTERISK-21567) + +2013-08-22 16:46 +0000 [r397426] Richard Mudgett + + * main/bridge.c: Update BUGBUG comment. + +2013-08-22 12:28 +0000 [r397379-397415] Walter Doekes + + * main/asterisk.c: Don't store repeated commands in the editline + history buffer. The equivalent of bash HISTCONTROL=ignoredups. + Review: https://reviewboard.asterisk.org/r/2775/ + + * /, main/asterisk.exports.in, default.exports: Add _IO_stdin_used + in version-script to fix SIGBUSes on Sparc. The + --version-script,asterisk.exports linker flag (and the module + exports) didn't provide _IO_stdin_used in the list of exported + symbols. That causes some kind of libc compatibility mode to kick + in, where stdio file structures (stdout/stderr) land somewhere + else. In the case of the Sparc, they landed on misaligned memory. + This became apparent first after r376428 (Reorder startup + sequence) when a lot of ast_log's were replaced with fprintf's. + Writing to stderr triggered a SIGBUS. (Compared to x86 and amd64 + architectures, the Sparc is very picky about memory alignment.) + (issue ASTERISK-21763) (issue ASTERISK-21665) Reported by: Jeremy + Kister Review: https://reviewboard.asterisk.org/r/2760/ ........ + Merged revisions 397377 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397378 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-21 23:09 +0000 [r397366] Jonathan Rose + + * main/udptl.c, /: UDPTL: Fix a regression where UDPTL won't load + default settings If the file udptl.conf is unavailable at + startup, UDPTL will fail to initialize and while it makes some + noise, it isn't immediately obvious why consumers start to fail + when using it. This patch makes UDPTL load as though an empty + config was provided when udptl is unavailable at startup. (closes + issue ASTERISK-22349) Reported by: Jonathan Rose Review: + https://reviewboard.asterisk.org/r/2773/ ........ Merged + revisions 397365 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-21 20:02 +0000 [r397346-397355] Richard Mudgett + + * main/bridge_basic.c, main/features.c, + include/asterisk/bridge_basic.h: * Move + ast_bridge_channel_setup_features() into bridge_basic.c. * Made + application map hooks be removed on a basic bridge personality + change. + + * main/bridge_channel.c, main/bridge.c: Deferred some more BUGBUG + comments to a JIRA issue or XXX comment. + +2013-08-21 17:12 +0000 [r397310] David M. Lee + + * /, main/http.c: Complete http_shutdown. This patch frees up some + resources allocated in http.c. * tcp listeners stopped * tls + settings freed * uri redirects freed * unregister internal http.c + uri's (closes issue ASTERISK-22237) Reported by: Corey Farrell + Patches: http.patch uploaded by Corey Farrell (license 5909) + ........ Merged revisions 397308 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397309 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-21 16:31 +0000 [r397307] Matthew Jordan + + * /, include/asterisk/frame.h: Set 14400 as the default max bit + rate if T38MaxBitRate is not specified If an endpoint fails to + include the T38MaxBitRate attribute during negotiation, Asterisk + will negotiate a bit rate of 2400 instead of the ITU recommended + bit rate of 14400. This patch fixes this by making + AST_T38_RATE_14400 the 'default' value of the enum by assigning + it a value of 0, such that if an endpoint fails to include the + attribute, the default will be 14400. Note that Walter Doekes + included the nice comment in frame.h about why we are + purposefully assigning AST_T38_RATE_14400 a value of 0. (closes + issue ASTERISK-22275) Reported by: Andreas Steinmetz patches: + fax-fix.patch uploaded by anstein (License 6523) ........ Merged + revisions 397256 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397257 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-21 16:23 +0000 [r397295-397306] David M. Lee + + * rest-api/api-docs/channels.json, res/ari/resource_channels.c, + res/res_ari_channels.c, rest-api/api-docs/asterisk.json, + res/ari/resource_asterisk.c, res/res_ari_asterisk.c: ARI: Correct + segfault with /variable calls are missing ?variable parameter. + Both /asterisk/variable and /channel/{channelId}/variable + requires a ?variable parameter to be passed into the query. But + we weren't checking for the parameter being missing, which caused + a segfault. All calls now properly return 400 Bad Request errors + when the parameter is missing. The Swagger api-docs were updated + accordingly. (closes issue ASTERISK-22273) + + * main/stasis_endpoints.c: ARI: Remove the 'channel:' scheme from + endpoint's channel list. For times when a reference in ARI might + be ambiguous, the reference is built as an URI (such as + channel:1376341790.3). An endpoint's channel list is not + ambiguous, and in fact the field is named 'channel_ids', but it + had channel URI's instead of channel id's. This patch changes the + list to be the raw id instead of the URI. (closes issue + ASTERISK-22291) + + * res/stasis/control.h, res/res_stasis.c: res_stasis: remove call + to missing function control_continue. In the shuffling around of + res_stasis, control_continue was renamed to + stasis_app_control_continue, but the call in res_stasis wasn't + updated. In looking into it, it turns out it wasn't really the + right thing to do in res_stasis anyways. This patch changes the + handling of received a AST_CONTROL_HANGUP frame to be the same as + receiving a NULL frame, and removed the declaration of + control_continue(), since it doesn't exist any more. (closes + issue ASTERISK-22292) Reported by: Denis Smirnov + +2013-08-21 15:51 +0000 [r397294] Richard Mudgett + + * bridges/bridge_holding.c, main/bridge.c, + include/asterisk/bridge_channel.h, main/features.c, + bridges/bridge_builtin_interval_features.c, + apps/app_bridgewait.c, include/asterisk/bridge_features.h, + main/bridge_channel.c, res/parking/parking_bridge_features.c, + apps/app_agent_pool.c: Fix several interrelated issues dealing + with the holding bridge technology. * Added an option flags + parameter to interval hooks. Interval hooks now can specify if + the callback will affect the media path or not. * Added an option + flags parameter to the bridge action custom callback. The action + callback now can specify if the callback will affect the media + path or not. * Made the holding bridge technology reexamine the + participant idle mode option whenever the entertainment is + restarted. * Fixed app_agent_pool waiting agents needlessly + starting and stopping MOH every second by specifying the + heartbeat interval hook as not affecting the media path. * Fixed + app_agent_pool agent alert from restarting the MOH after the + alert beep. The agent entertainment is now changed from MOH to + silence after the alert beep. * Fixed holding bridge technology + to defer starting the entertainment. It was previously a mixture + of immediate and deferred. * Fixed holding bridge technology to + immediately stop the entertainment. It was previously a mixture + of immediate and deferred. If the channel left the bridging + system, any deferred stopping was discarded before taking effect. + * Miscellaneous holding bridge technology rework coding + improvements. Review: https://reviewboard.asterisk.org/r/2761/ + +2013-08-21 14:39 +0000 [r397255] Mark Michelson + + * /, channels/chan_sip.c: Prevent a crash on outbound SIP MESSAGE + requests. If a From header on an outbound out-of-call SIP MESSAGE + were malformed, the result could crash Asterisk. In addition, if + a From header on an incoming out-of-call SIP MESSAGE request were + malformed, the message was happily accepted rather than being + rejected up front. The incoming message path would not result in + a crash, but the behavior was bad nonetheless. (closes issue + ASTERISK-22185) reported by Zhang Lei ........ Merged revisions + 397254 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-21 14:08 +0000 [r397244] Kinsey Moore + + * res/res_stasis.c: Allow channels in app_stasis to hangup properly + This detects hangups that occur while bridged to allow channels + to exit app_stasis even if the hangup frame was absorbed by the + bridge the channel was in. Reported by: David Lee (closes issue + ASTERISK-22297) + +2013-08-21 13:41 +0000 [r397243] Matthew Jordan + + * CHANGES, channels/chan_sip.c: Allow the SIP_CODEC family of + variables to specify more than one codec The SIP_CODEC family of + variables let you set the preferred codec to be offered on an + outbound INVITE request. However, for video calls, you need to be + able to set both the audio and video codecs to be offered. This + patch lets the SIP_CODEC variables accept a comma delineated list + of codecs. The first codec in the list is set as the preferred + codec; additional codecs are still offered however. This lets a + dialplan writer set both audio and video codecs, e.g., + Set(SIP_CODEC=ulaw,h264) Note that this feature was written by + both Dennis Guse and Frank Haase Review: + https://reviewboard.asterisk.org/r/2728 (closes issue + ASTERISK-21976) Reported by: Denis Guse Tested by: mjordan, + sysreq patches: patch-channels-chan__sip.c-393919 uploaded by + dennis.guse (license 6513) + +2013-08-21 02:15 +0000 [r397206] Michael L. Young + + * /, channels/chan_sip.c: Fix Not Storing Current Incoming Recv + Address In 1.8, r384779 introduced a regression by retrieving an + old dialog and keeping the old recv address since recv was + already set. This has caused a problem when a proxy is involved + since responses to incoming requests from the proxy server, after + an outbound call is established, are never sent to the correct + recv address. In 11, r382322 introduced this regression. The fix + is to revert that change and always store the recv address on + incoming requests. Thank you Walter Doekes for helping to point + out this error and Mark Michelson for your input/review of the + fix. (closes issue ASTERISK-22071) Reported by: Alex Zarubin + Tested by: Alex Zarubin, Karsten Wemheuer Patches: + asterisk-22071-store-recvd-address.diff by Michael L. Young + (license 5026) ........ Merged revisions 397204 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397205 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-20 21:01 +0000 [r397111-397193] Mark Michelson + + * res/res_pjsip_acl.c, include/asterisk/res_pjsip.h, + res/res_pjsip/config_security.c (removed), + res/res_pjsip/pjsip_configuration.c: Localize and rename ACL + configuration. This is more-or-less a reversion of previous ACL + behavior so that it is more self-contained. ACL sections are now + only parsed if res_pjsip_acl.so is loaded. Moreover, the + configuration section is now "type=acl" instead of + "type=security". The original reason for having ACLs configured + in a "type=security" section was to lump ACLs and other + security-related items into the same section. The problem is that + ACLs really should be in their own sections and there are no + other security-related options implemented anyways. + + * /, channels/chan_sip.c: Remove REF_DEBUG definition. ........ + Merged revisions 397156 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397157 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c, channels/sip/dialplan_functions.c: Fix + refcounting of sip_pvt in test_sip_rtpqos test and unlink it from + the list of pvts. (closes issue ASTERISK-22248) reported by Corey + Farrell patches: test_sip_rtpqos.patch uploaded by Corey Farrell + (license #5909) ........ Merged revisions 397112 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397133 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_pjsip.c: Clarify documentation for the "identify_by" + option for SIP endpoints. This also removes documentation for the + options that no longer exist. (closes issue ASTERISK-22306) + reported by Rusty Newton + +2013-08-20 15:36 +0000 [r397110] Kinsey Moore + + * /, main/threadstorage.c, main/astfd.c: Unregister CLI commands on + exit This patch ensures that CLI commands enabled by + DEBUG_FD_LEAKS and DEBUG_THREADLOCALS are cleaned up properly on + exit. (closes issue ASTERISK-22238) Reported by: Corey Farrell + Tested by: Corey Farrell Patches: debug_cli_unregister.patch + uploaded by Corey Farrell ........ Merged revisions 397106 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 397107 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-20 15:32 +0000 [r397073-397109] Mark Michelson + + * res/res_pjsip_endpoint_identifier_ip.c: Add debug message to + res_pjsip_endpoint_identifier_ip to indicate when an endpoint is + successfully retrieved. (closes issue ASTERISK-22101) reported by + Rusty Newton + + * res/res_pjsip_registrar.c: Add warning messages for registration + failure paths. (closes issue ASTERISK-22089) reported by Rusty + Newton patches: patch1.txt uploaded by John Bigelow (License + #5091) + + * res/res_pjsip.c: Add note to transport configuration that a + restart is required to change transports. (closes issue + ASTERISK-22094) reported by Rusty Newton + +2013-08-20 14:26 +0000 [r397072] Kinsey Moore + + * /: Recorded merge of revisions 397067 from + http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix + xmldoc memory leak This fixes a single-attribute memory leak that + was occurring when the "required" attribute was not true. (closes + issue ASTERISK-22249) Reported by: Corey Farrell Tested by: Corey + Farrell Patches: xmldoc-free_attr_required.patch uploaded by + Corey Farrell ........ Merged revisions 397064 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 + +2013-08-20 11:48 +0000 [r396996] Walter Doekes + + * configs/sip.conf.sample, configs/h323.conf.sample, /: Add + "autoframing" option to sip.conf.sample and h323.conf.sample. The + autoframing option was added to chan_sip.c in r43243 (mogorman, + 2006-09-19 01:32:57), but never made its way into the sample + configs. Review: https://reviewboard.asterisk.org/r/2768/ + ........ Merged revisions 396994 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 396995 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-20 11:33 +0000 [r396993] Joshua Colp + + * res/res_pjsip_dtmf_info.c: Remove assumption in + res_pjsip_dtmf_info that all INFO messages will contain a body. + (closes issue ASTERISK-22320) Reported by: Matt Jordan + +2013-08-20 00:08 +0000 [r396946-396949] Matthew Jordan + + * apps/app_queue.c, /: Let Queue wrap up time influence member + availability Queue members who happen to be in multiple queues at + the same time may not have any wrap up time. This problem + occurred due to a code change in Asterisk 11.3.0 that unified + device state tracking of Queue members in multiple Queues (which + fixed some other problems, but unfortunately caused this one). + This patch fixes the behavior by having the is_member_available + function check the queue's wrap up time and the time of the + member's last call, such that for a particular queue, the member + won't be considered available if their last call is within the + wrap up time. (closes issue ASTERISK-22189) Reported by: Tony + Lewis Tested by: Tony Lewis ........ Merged revisions 396948 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, apps/app_meetme.c: Resolve conflicts between + CONFFLAG_DONT_DENOISE and CONFFLAG_INTROUSER_VMREC When r382230 + added an option to not denoise the MeetMe conference (if a user + had a channel whose format's sample rate changed frequently, for + example), the value added was the maximum allowed value for the + constants that define the options for MeetMe in 1.8. Not so in 11 + - unfortunately, the option CONFFLAG_DONT_DENOISE conflicts with + CONFFLAG_INTROUESR_VMREC. This patch fixes that, and also tweaks + one of the way in which the constants was declared for + consistency. Thanks to Tony Mountifield for pointing out the + problem and solution. (closes issue ASTERISK-22269) Reported by: + Tony Mountifield ........ Merged revisions 396944 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-19 16:10 +0000 [r396930] Richard Mudgett + + * main/bridge.c: Update BUGBUG comment. + +2013-08-19 14:54 +0000 [r396923] Jonathan Rose + + * main/bridge.c: attended transfers: Fix a bug affecting external + blond transfers Performing a blond transfer (attended transfer + that is completed before the transfer recipient picks up) + externally through chan_sip or chan_pjsip would result in lost + references to the channels involved with the transfer as well as + their bridge. (closes issue ASTERISK-22092) Reported by: + mmichelson Review: https://reviewboard.asterisk.org/r/2766/ + +2013-08-19 14:53 +0000 [r396915-396922] Matthew Jordan + + * channels/sip/include/sip.h: Whitespace cleanup Remove some + extraneous blobs + + * main/data.c: Fix invalid access to disposed memory in main/data + unit test It is not safe to iterate over a macro'd list of ao2 + objects, deref them such that the item's destructor is called, + and leave them in the list. The list macro to iterate over items + requires the item to be a valid allocated object in order to + proceed to the next item; with MALLOC_DEBUG on the corruption of + the linked list is caught in the crash. This patch fixes the + invalid access to free'd memory by removing the ao2 item from the + list before de-refing it. + +2013-08-18 03:05 +0000 [r396908-396909] Kinsey Moore + + * channels/chan_mgcp.c: Update chan_mgcp to the modified parking + API + + * res/res_corosync.c: Disable build of res_corosync until it is + back in a compiling state + +2013-08-17 18:13 +0000 [r396899-396902] Rusty Newton + + * res/res_pjsip.c: xml doc changes for 'aor' config object and a + few of its options Added or modified text in the xml doc for the + 'aor' config object to address a few issues: * help for the + 'mailboxes' option didn't make it clear how the "list" should be + formatted. * AoR object's involvement in inbound registration + wasn't mentioned. * help for the 'contact' option didn't describe + how to specify multiple contacts. * help for the 'max_contacts' + option didn't tell whether it limited the amount of contacts + defined through static configuration. (issue ASTERISK-22118) + (closes issue ASTERISK-22118) + + * res/res_pjsip.c: 'domain_alias' config object XML help doesn't + make it clear that the name used for the object is the domain + alias (issue ASTERISK-22114) (closes issue ASTERISK-22114) + + * res/res_pjsip.c: xml doc changes for clarity - 'auth' config + object and auth's 'auth_type' config option (issue + ASTERISK-22108) (closes issue ASTERISK-22108) + + * res/res_pjsip.c: xml doc change for transport config object - + remove non-applicable warning and add text regarding Asterisk + restart (closes issue ASTERISK-22105) + +2013-08-17 15:01 +0000 [r396887-396890] Kinsey Moore + + * include/asterisk/parking.h, main/bridge_channel.c, + res/parking/parking_bridge_features.c, channels/chan_dahdi.c, + res/parking/res_parking.h, res/res_parking.c, + channels/sig_analog.c, channels/chan_skinny.c, main/parking.c, + main/bridge.c, res/parking/parking_applications.c: Allow + res_parking to be unloadable This change protects accesses of + res_parking such that it can unload safely once transient uses of + its registered functions are complete. The parking API has been + restructured such that its consumers do not have access to the + vtable exposed by the parking provider, but instead route through + stubs to prevent consumers from holding on to function pointers. + This adds calls to all the parking unload functions and moves + application loading and unloading into functions in + parking_applications.c similar to the rest of the parts of + res_parking. Review: https://reviewboard.asterisk.org/r/2763/ + (closes issue ASTERISK-22142) + + * cel/cel_odbc.c, include/asterisk/event.h, + include/asterisk/event_defs.h, cel/cel_manager.c, + cel/cel_custom.c, tests/test_cel.c, cel/cel_sqlite3_custom.c, + main/event.c, main/asterisk.c, cel/cel_pgsql.c, cel/cel_radius.c, + include/asterisk/cel.h, cel/cel_tds.c, tests/test_event.c, + include/asterisk/_private.h, main/cel.c: Refactor CEL to avoid + using the event system core This removes usage of the event + system for CEL backend data distribution and strips unused pieces + out of the event system. Review: + https://reviewboard.asterisk.org/r/2732/ + + * main/security_events.c, channels/chan_sip.c, main/ccss.c, + tests/test_event.c, main/devicestate.c, + res/parking/parking_applications.c, res/res_xmpp.c, + channels/sig_pri.c, channels/chan_iax2.c, apps/app_queue.c, + res/res_jabber.c, main/presencestate.c, channels/sig_pri.h, + res/res_parking.c, channels/chan_dahdi.c, main/manager.c, + funcs/func_presencestate.c, include/asterisk/event.h, + include/asterisk/event_defs.h, channels/chan_skinny.c, + tests/test_cel.c, main/event.c, + include/asterisk/security_events_defs.h, + res/parking/parking_manager.c, channels/chan_mgcp.c, + res/res_security_log.c, apps/app_voicemail.c, + res/parking/parking_ui.c, channels/chan_unistim.c, main/pbx.c, + include/asterisk/devicestate.h: Strip down the old event system + This removes unused code, event types, IE pltypes, and event IE + types where possible and makes several functions private that + were once public. This includes a renumbering of the remaining + event and IE types which breaks binary compatibility with + previous versions. The last remaining consumers of the old event + system (or parts thereof) are main/security_events.c, + res/res_security_log.c, tests/test_cel.c, tests/test_event.c, + main/cel.c, and the CEL backends. Review: + https://reviewboard.asterisk.org/r/2703/ (closes issue + ASTERISK-22139) + +2013-08-16 20:48 +0000 [r396849-396877] Richard Mudgett + + * main/bridge.c, include/asterisk/bridge_channel.h, + main/bridge_channel.c, include/asterisk/bridge.h: Fix CLI "bridge + kick " to check if the bridge needs dissolving. + SIP/foo -- Local;1==Local;2 -- .... -- Local;1==Local;2 -- + SIP/bar Kick a ;1 channel and the chain toward SIP/foo goes away. + Kick a ;2 channel and the chain toward SIP/bar goes away. This + can leave a local channel chain between the kicked ;1 and ;2 + channels that are orphaned until you manually request one of + those channels to hangup or request the bridge to dissolve. * + Added ast_bridge_kick() as a companion to ast_bridge_remove(). + The functional difference is that ast_bridge_kick() may dissolve + the bridge as a result of the channel leaving the bridge. * Made + CLI "bridge kick " use ast_bridge_kick() + instead of ast_bridge_remove() so the bridge can dissolve if + needed. * Renamed bridge_channel_handle_hangup() to + ast_bridge_channel_kick() and made it accessible to other files. + + * include/asterisk/doxygen/architecture.h, + include/asterisk/bridge_channel_internal.h: Fix some doxygen + bridging file references. + + * main/pbx.c, main/rtp_engine.c, tests/test_abstract_jb.c, + channels/chan_sip.c, main/pickup.c, apps/app_queue.c, + main/indications.c, res/parking/parking_bridge_features.c, + main/cdr.c, main/data.c, main/manager.c, tests/test_jitterbuf.c, + main/features.c, tests/test_voicemail_api.c, main/file.c, + tests/test_cel.c, main/stasis_channels.c, main/bridge_channel.c, + main/message.c, tests/test_cdr.c, main/db.c, main/xmldoc.c, + main/format.c, res/res_rtp_asterisk.c: Doxygen comment tweaks. + + * main/hashtab.c, main/utils.c: Fix utilities compilation/linking. + The horrid structure of the source in the utils directory strikes + again. Moved the _ast_mem_backtrace_buffer[] definition from the + logical location in utils.c to hashtab.c so the aelparse and + conf2ael utilities can link. + + * include/asterisk/utils.h: utils.h: Minor formatting tweaks. + +2013-08-16 16:03 +0000 [r396842] David M. Lee + + * include/asterisk/astobj2.h, main/stasis_channels.c, + tests/test_stasis.c, main/stasis.c, main/stasis_cache_pattern.c, + main/stasis_cache.c: Stasis: address refcount races; + implementation comments Change r395954 reordered some stasis + object destruction, which should have been fine. Unfortunately, + it caused some hard to reproduce issues related to objects being + accessed after they had been destroyed. The patch in r396329 + fixed the destruction order problem; this patch addresses the + underlying issue. A few other stasis-related fixes were also + added. * Add ref-bumps around areas where objects may get + transitively destroyed. (For example, where we lock a topic, + unref a subscription, which unrefs the topic, which explodes the + topic when we try to unlock it.) * Wrote an extensive doxygen + page about Stasis implementation, relationships between objects, + lifecycles of objects, how the refcounting works, etc. Many other + comments were added, corrected, or cleaned up. * Added an assert + to the topic dtor to catch extra ref decrements. * Fixed type + used after destruction errors for graceful shutdown in + stasis_channels.c. * I added two unit tests in an attempt to + catch destruction order issues. Since the underlying cause is a + race condition, though, the tests rarely failed even when the + code was wrong. * Fixed a leak in stasis_cache_pattern.c. (closes + issue ASTERISK-22243) Review: + https://reviewboard.asterisk.org/r/2746/ + +2013-08-16 12:20 +0000 [r396829] Kinsey Moore + + * main/sounds_index.c, main/loader.c, main/utils.c: Improve sounds + indexer CLI commands This reworks the CLI commands used to access + sounds information from "sounds show[ soundid]" to "core show + sounds" and "core show sound ". This also reworks the + "sounds reload" CLI command to fall under normal module reloading + ("module reload sounds"). Also, make trunk build when + DEBUG_MALLOC is not enabled. Review: + https://reviewboard.asterisk.org/r/2745/ (closes issue + ASTERISK-22141) + +2013-08-16 07:18 +0000 [r396822] Walter Doekes + + * main/utils.c, include/asterisk/utils.h, main/pbx.c: Prevent heap + alloc functions from running out of stack space. When asterisk + has run out of memory (for whatever reason), the alloc function + logs a message. Logging requires memory. A recipe for infinite + recursion. Stop the recursion by comparing the function call + depth for sane values before attempting another OOM log message. + Review: https://reviewboard.asterisk.org/r/2743/ + +2013-08-15 22:10 +0000 [r396783-396814] Richard Mudgett + + * main/bridge_channel.c: Bridge: Don't suspend/unspend the channel + for interception routines. By their nature, the connected line + and redirecting interception routines are not supposed to affect + the channel's media. Therefore, they should not suspend and + unsuspend the channel while running. The suspend/unsuspend + operations could be expensive depending upon the bridge and + channel technology involved. + + * res/parking/res_parking.h, res/res_parking.c, + res/parking/parking_tests.c, main/features.c: Minor parking + cleanup. + + * res/parking/parking_bridge_features.c: Parking: Eliminate local + channel name hack to get peer channel. (closes issue + ASTERISK-22034) Reported by: Matt Jordan + + * main/features.c, main/bridge_channel.c: Remove early bridge + BUGBUG comments. Remove some unneeded features.c comments. + + * configs/features.conf.sample: Update features.conf.sample + atxferdropcall option. + + * main/bridge.c, include/asterisk/bridge_channel.h, + main/config_options.c, main/bridge_channel.c, + apps/confbridge/conf_config_parser.c: Changed some BUGBUG tags to + associated JIRA issue tags. + + * bridges/bridge_softmix.c, include/asterisk/bridge.h, + main/bridge.c, main/features.c: Resolve some BUGBUG comments. + +2013-08-15 16:37 +0000 [r396747] Kinsey Moore + + * main/asterisk.c, main/cli.c, /: Remove leading spaces from the + CLI command before parsing If you've mistakenly put a space + before typing in a command, the leading space will be included as + part of the command, and the command parser will not find the + corresponding command. This patch rectifies that situation by + stripping the leading spaces on commands. Review: + https://reviewboard.asterisk.org/r/2709/ Patch-by: Tilghman + Lesher ........ Merged revisions 396745 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 396746 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-15 15:12 +0000 [r396732-396734] Richard Mudgett + + * main/features.c, include/asterisk/channel.h, + channels/chan_iax2.c, channels/chan_vpb.cc: Remove some dead code + dealing with: AST_BRIDGE_REC_CHANNEL_0, AST_BRIDGE_REC_CHANNEL_1, + and AST_BRIDGE_IGNORE_SIGS. + + * main/manager.c, main/bridge_channel.c, + include/asterisk/bridge_channel_internal.h: Fix Bridge API DTMF + hook matching for begin and end DTMF events. The Bridge API DTMF + hook matching would not deal with DTMF end events only. It + required a DTMF begin event to start matching the DTMF hooks. + There are many places in Asterisk where code only generates DTMF + end events without the corresponding begin event. One such place + is the AMI action Atxfer. * Fixed DTMF hook matching if there is + a string of DTMF frames in the read queue. We could potentially + miss some of them before. * Fixed AMI Atxfer action + documentation. (closes issue ASTERISK-22037) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2752/ + +2013-08-15 12:17 +0000 [r396722-396724] Kinsey Moore + + * main/bridge.c, main/features.c, apps/app_confbridge.c: Fix + feature_attended_transfer test The feature_attended_transfer test + is failing due to Asterisk not passing DTMF in the bridges + created for internal attended transfers. This sets the features + initialization routine to set this flag by default and adjusts + the basic bridge and confbridge's use of the bridging system + accordingly as per Richard's suggestion instead of adjusting this + individual case. This change allows the necessary DTMF to pass + through the attended transfer bridge and complete the test + successfully. Review: https://reviewboard.asterisk.org/r/2759/ + (closes issue ASTERISK-22222) + + * channels/chan_sip.c, main/utils.c, include/asterisk/lock.h: Fix + deadlocks in chan_sip in REFER and BYE handling This resolves + several deadlocks in chan_sip relating to usage of + ast_channel_bridge_peer and improves accessibility of lock + debugging function calls. Review: + https://reviewboard.asterisk.org/r/2756/ (closes issue + ASTERISK-22215) + + * res/res_stasis.c: Prevent automagic things from happening to + Stasis application bridges This prevents swap optimization, + merges, and transfers involving Stasis application bridges. It + wouldn't be nice if the bridge you thought you owned disappeared + from under you. Reported-by: Richard Mudgett + +2013-08-15 00:16 +0000 [r396695-396713] Richard Mudgett + + * include/asterisk/channel.h, main/channel.c, channels/chan_vpb.cc: + Remove unsupported channel technology callbacks. + + * channels/chan_vpb.cc: chan_vpb: Effectively remove native + support. Left enough bread crumbs to be able to convert later if + needed. + + * channels/chan_iax2.c: chan_iax2: Conditionally remove native + support for now. (issue ASTERISK-21944) + + * channels/chan_misdn.c: chan_misdn: Effectively remove native + support. Left enough bread crumbs to be able to convert later if + needed. + + * apps/app_bridgewait.c: app_bridgewait: Inhibit local channel + optimizations to the bridge. Holding bridges can allow local + channel move/swap optimization to the bridge. However, we cannot + allow it for the BridgeWait holding bridge because the call will + lose the channel roles and dialplan location as a result. + +2013-08-14 19:06 +0000 [r396621-396658] Joshua Colp + + * /, tests/test_hashtab_thrash.c: Tweak comment for why usleep is + used. ........ Merged revisions 396656 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 396657 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, tests/test_hashtab_thrash.c: Tweak test_hashtab_thrash test to + allow the critical threads to execute. Depending on certain + conditions it was possible for the hashtab counting thread to + starve other threads, preventing them from executing in the + expected fashion. This change adds a sleep to allow the others to + do what they need to do. While this doesn't thrash the hashtab as + much as previously, it at least works. (closes issue + ASTERISK-22276) Reported by: Matt Jordan ........ Merged + revisions 396619 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 396620 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-13 18:47 +0000 [r396581-396584] Walter Doekes + + * /, channels/chan_sip.c: chan_sip: Convert 'just did sched_add + waitid...' from warning to debug message. Patches: + reviewboard-2377.patch uploaded by Paul Belanger Review: + https://reviewboard.asterisk.org/r/2377/ ........ Merged + revisions 396582 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 396583 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: chan_sip: Fix IP-addr in warning when + rejecting a contact ACL. Patches: reviewboard-2155.patch uploaded + by Paul Belanger Review: https://reviewboard.asterisk.org/r/2155/ + ........ Merged revisions 396579 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 396580 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-13 15:27 +0000 [r396559-396568] David M. Lee + + * res/ari/resource_bridges.c, res/res_stasis_bridge_add.c + (removed), res/res_stasis_playback.c, res/stasis/control.c, + res/res_stasis_bridge_add.exports.in (removed), + include/asterisk/stasis_app.h, + include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c, + res/stasis/control.h, include/asterisk/bridge_internal.h, + include/asterisk/bridge_features.h, res/res_stasis.c: ARI: allow + other operations to happen while bridged This patch changes ARI + bridging to allow other channel operations to happen while the + channel is bridged. ARI channel operations are designed to queue + up and execute sequentially. This meant, though, that while a + channel was bridged, any other channel operations would queue up + and execute only after the channel left the bridge. This patch + changes ARI bridging so that channel commands can execute while + the channel is bridged. For most operations, things simply work + as expected. The one thing that ended up being a bit odd is + recording. The current recording implementation will fail when + one attempts to record a channel that's in a bridge. Note that + the bridge itself may be recording; it's recording a specific + channel in the bridge that fails. While this is an annoying + limitation, channel recording is still very useful for use cases + such as voice mail, and bridge recording makes up much of the + difference for other use cases. (closes issue ASTERISK-22084) + Review: https://reviewboard.asterisk.org/r/2726/ + + * tests/test_hashtab_thrash.c: Missed a spot in r396559 + + * tests/test_hashtab_thrash.c: Fix build warnings when printf a + tv_usec. The debug logs added in r396528 neglected to account for + suseconds_t being an int. See r392076 for more info. + +2013-08-12 22:05 +0000 [r396552] John Bigelow + + * res/res_pjsip_registrar.c: Add test suite events for when + contacts are added or removed from an AOR These are needed by the + pjsip inbound registration test suite tests. (issue + ASTERISK-21833) (issue ASTERISK-21834) (issue ASTERISK-21835) + (issue ASTERISK-21837) Review: + https://reviewboard.asterisk.org/r/2700/ Review: + https://reviewboard.asterisk.org/r/2739/ + +2013-08-12 15:59 +0000 [r396542-396543] Matthew Jordan + + * main/bridge_channel.c, main/bridge.c, main/features.c: Fix two + race conditions and ref counting issue when joining a bridge + These problems were all caught by a test in the Asterisk Test + Suite that originated some Local channels and attempted to move + the ;2 half of the Local channel into a bridge using the Bridge + AMI action. (1) When originating a channel, the Newchannel event + is emitted quickly; however, the ;2 channel will not have a pbx + thread assigned to it until after the outbound 'dialing' for the + ;1 is complete. Thus, there is a period of time where the outside + world "knows" of the channel's existence and can influence it but + Asterisk has not yet started the dialplan execution thread. If a + Bridge AMI action is taken on the channel, the channel appears to + be a Dialed channel with no PBX thread; hence, the channel will + be imparted into the Bridge by first 'yanking' the channel. At + the same time, a race condition can occur after the yank (but + before entering the bridge) when ;1 answers and starts a PBX on + the ;2. The end result currently is an assertion failure in the + Bridging API, as a channel with a PBX is imparted into the + Bridge. There's no way to prevent AMI from attempting to Bridge a + channel immediately after creation; likewise, holding the channel + lock through the entire Dial operation is unwise (and + impossible). Instead of treating the presence of a PBX thread as + an error, we simply bail out of the adding the channel to the + bridge through ast_bridge_impart. The Bridge action will then + fail - but we avoid a situation where the channel is both + executing a PBX thread and simultaneously being given a separate + thread in the bridging system (which would be a "bad thing"). + Since imparting a channel with a PBX *can* occur and is not a + programming error, the asserts have been removed. (2) When the + first condition occurs, we have to take one of two actions: + either hangup the yanked channel as it did not enter the bridge, + or deref it because we don't own it. We can determine if we own + it or not by testing for the presence of the PBX thread. If we + hung it up directly, we'd crash. (3) bridge_find_channel does not + increase the reference count of the ast_bridge_channel object. + The RAII_VAR usage in ast_bridge_add_channel thus created a + ticking time bomb in whatever bridge the channel moved into, as + the destructor for the ast_bridge_channel object would be called. + Review: https://reviewboard.asterisk.org/r/2741/ + + * main/pbx.c: Unlock outgoing dial lock on off nominal path If the + thread servicing the dial request isn't created successfully, the + outgoing dial lock will still be held when the function returns. + This patch unlocks the lock on this off nominal path. + +2013-08-10 20:29 +0000 [r396521-396535] Matthew Jordan + + * tests/test_hashtab_thrash.c: Pipe test output through test object + not stdout Otherwise, it doesn't show up in the automated test + failures + + * tests/test_hashtab_thrash.c: Add some debugging when + test_hashtab_thrash fails Disabling DEBUG_THREADS caused this + test to fail on the 32-bit build agent. Adding some debugging to + see why it thinks the test is timing out. + + * main/pbx.c: Unlock the dial operation lock on a failed dial If a + dial operation fails, the pbx_outgoing_attempt routine will exit + without first having unlocked the outgoing dial lock. This would + be a "bad thing". + +2013-08-09 21:50 +0000 [r396512] Richard Mudgett + + * bridges/bridge_native_rtp.c: bridge_native_rtp: Remove some + unnecessary NULL checks on c1. + +2013-08-09 20:29 +0000 [r396505] Walter Doekes + + * main/autoservice.c: Don't leak frames when memory is full in + autoservice_run. Review: https://reviewboard.asterisk.org/r/2566/ + +2013-08-09 17:28 +0000 [r396497-396498] Jonathan Rose + + * main/pbx.c, channels/chan_sip.c: pbx: Make originate threads + indicate dial status when synchronous This makes it so that we + can detect failures to originate as with earlier versions of + Asterisk, which restores the Asterisk 11 behavior for the + originate manager action. This was causing the ACL tests for SIP + and IAX2 to fail since those tests expected originate failures + when ACLs would cause rejections. Also, this patch fixes crashes + in chan_sip when ACLs rejected peers during registration + verification. (closes issue ASTERISK-22212) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2753/ + + * include/asterisk/core_unreal.h, main/core_unreal.c, + main/bridge_channel.c, include/asterisk/bridge.h, + res/ari/resource_bridges.c: bridge_channel: Support the lonely + flag and make ARI use it. The lonely flag is an optional flag for + bridge channels that will make them leave a bridge when a channel + leaves if only lonely channels are in the bridge at that point. + This is useful for things like ending recording and playback + channels when they cease to be interacting with other channels in + the bridge. (closes issue ASTERISK-22117) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2721/ + +2013-08-09 13:58 +0000 [r396490] Matthew Jordan + + * apps/confbridge/conf_config_parser.c: Update documentation for + ConfBridge with some additional markup Add some additional markup + for items that needed it, e.g., replaceable tags, literal tags, + etc. + +2013-08-08 22:57 +0000 [r396480] Richard Mudgett + + * tests/test_stasis.c: Fix stasis/core unit test. Should have had + the CR/LF. + +2013-08-08 22:09 +0000 [r396474] Tzafrir Cohen + + * channels/chan_dahdi.c: chan_dahdi: create channels at run-time + This code adds chan_dahdi the command 'dahdi create channels + ' (where is a single - or 'new') and updates + 'dahdi destroy channel' with a similar 'dahdi destroy channels'. + It allows DAHDI channels and spans to be added after the initial + channel load (without destroying all other channels as in 'dahdi + restart'). It also includes some fixes to the D-Channel / span + destruction code (r394552). This change is intended to provide a + hook for a script running from udev once a span has been assigned + ("registered") / unassigned ("unregistered") for its channels. + The udev hook configures the span's channels with dahdi_cfg -S, + and can then ask Asterisk to create ethe channels. See the + scripts added to DAHDI-tools in 2.7.0. Review: + https://reviewboard.asterisk.org/r/1598/ + +2013-08-08 20:52 +0000 [r396417-396463] Richard Mudgett + + * tests/test_stasis.c: Add missing CR/LF to FakeMI stasis test AMI + event. + + * main/stasis_bridges.c: Remove extra CR/LF from AMI event. + + * main/manager_bridges.c, apps/confbridge/confbridge_manager.c, + include/asterisk/manager.h, main/stasis_bridges.c: Make bridge + snapshots use prefixes. * Changed + ast_manager_build_bridge_state_string() to assume an empty prefix + string just like ast_manager_build_channel_state_string(). * + Created ast_manager_build_bridge_state_string_prefix() to work + just like ast_manager_build_channel_state_string_prefix(). * Made + BridgeMerge AMI event use To/From prefixes. + +2013-08-08 18:40 +0000 [r396412] Matthew Jordan + + * formats/format_wav_gsm.c: Improve disk writes for wav49 format + Writing to a file in the wav49 format performs rather + inefficiently. The procedure is approximately: (1) Write GSM + frame to the end of the file (2) Seek to the end of the file (3) + Seek to the header (4) Update the file size (5) Seek (again) to + the end of the file (6) Repeat This pattern negates any attempt + to use the stdio buffering setup in ast_writefile. It also + results in many small writes that require a seek going to the + disk each second which translates to poor disk performance on + certain file systems, particularly when there are multiple wav49 + files being written simultaneously. (closes issue ASTERISK-19595) + Reported by: Byron Clark Tested by: Byron Clark patches: + gsm_wav_only_update_header_on_close.patch uploaded by byronclark + (License 6157) + +2013-08-08 17:51 +0000 [r396401] Richard Mudgett + + * include/asterisk/bridge_features.h, main/bridge.c, + main/channel_internal_api.c, main/features.c: Remove some + resolved or obsolete BUGBUG comments. + +2013-08-08 14:13 +0000 [r396391-396392] Matthew Jordan + + * main/manager_bridges.c, channels/chan_bridge_media.c, + apps/confbridge/conf_chan_record.c, main/channel_internal_api.c, + include/asterisk/channel.h, main/cel.c, + apps/confbridge/conf_chan_announce.c, main/manager_channels.c, + main/channel.c: Hide the Surrogate channels from external + consumers; kill Masquerade events This patch does three things: + 1. It provides a Surrogate channel technology with a consolidated + "implementation detail flag" on the channel technology. This + tells consumers of Stasis that the creation of this channel is an + implementation detail in Asterisk and can be ignored (if they so + choose). This consolidates the conference recorder/announcer + flags as well - these flags had no additional meaning beyond + "ignore this channel please". 2. It modifies allocation of a + channel in two ways: (a) If a channel technology can be + determined from the name, we set it directly in the allocation + routine. This prevents the initial publication of the message + from going out with a NULL channel technology where possible. + This lets Stasis consumers get the right channel technology on + the first publication. (b) It reorganizes allocation to make use + of the 'finalized' property on the channel. This was already used + to know that a channel had completely finished its construction + in the masquerade routine; now we also use it to know whether or + not the setting of certain channel properties is occurring during + or post construction. The various set routines were modified + accordingly as well. 3. The masquerade event is now dead, Jim. It + no longer served any purpose whatsoever - if you perform a call + pickup you'll get a Pickup event; if you perform an attended + transfer you will still get those events; if you steal a channel + to put it elsewhere you'll get the corresponding NewExten or + BridgeEnter events. Review: + https://reviewboard.asterisk.org/r/2740 + + * main/utils.c: Prevent spurious memory error when appending + backtrace with MALLOC_DEBUG Backtraces are allocated outside of + the usual memory tracking performed by MALLOC_DEBUG. This allows + them to be used by the memory tracking enabled by that build + option; however, it also means that when backtraces are disposed + of they have to be done so outside of the re-defined free. This + patch undef's free prior to disposing of the allocated backtrace + when a backtrace is appended as a result of 'core show locks'. + +2013-08-08 12:38 +0000 [r396385] Kinsey Moore + + * main/bridge.c: Prevent unreal channels from optimizing during + DTMF emulation This prevents unreal channel optimization during + the prequalification phase when either channel is involved in + DTMF emulation. This prevents a situation where an emulated digit + would be missed because the emulation was never completed. + Review: https://reviewboard.asterisk.org/r/2747/ (closes issue + ASTERISK-22214) + +2013-08-08 07:05 +0000 [r396378] Igor Goncharovskiy + + * channels/chan_unistim.c, /: - Fix different issues with call + transfer cancel. In case 3rd party busy or congestion call was + not returned. - Fix displaying soft button 'Redial' in case of no + redial number exists ........ Merged revisions 396377 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-08 02:58 +0000 [r396365-396371] Matthew Jordan + + * main/cdr.c: Handle Surrogate channels in Dial message processing + Depending on when a Surrogate channel replaces an existing + channel, it is possible to get a Dial message for the Surrogate + channel. When this occurs, no CDR will exist for the channel as + Surrogate channels are ignored. Safely handle the case when a CDR + doesn't exist for a Dial message. + + * apps/app_queue.c: Perform Ring-No-Answer checks before processing + Hangup logic The rna() routine will raise a Stasis message + involving both the caller and the agent. This doesn't work so + well if we already hung up the agent channel, as the channel + doesn't quite exist. Not surprisingly, this will crash. This + patch properly runs the rna subroutine (performing all of the + Ring-No-Answer logic) prior to hanging up the agent channel. + (closes issue ASTERISK-22258) Reported by: Kiril Valchev Tested + by: Kiril Valchev + +2013-08-06 21:20 +0000 [r396329-396347] David M. Lee + + * apps/app_meetme.c: Fixed app_meetme for cache split changes + + * include/asterisk/frame.h, rest-api/api-docs/recordings.json, + res/ari/resource_recordings.c, apps/app_voicemail.c, + main/channel.c, res/res_ari_recordings.c, include/asterisk/app.h, + include/asterisk/stasis_app_recording.h, + res/ari/resource_recordings.h, funcs/func_frame_trace.c, + apps/app_minivm.c, main/app.c, res/res_stasis_recording.c: ARI: + Add recording controls This patch implements the controls from + ARI recordings. The controls are: * DELETE + /recordings/live/{recordingName} - stop recording and discard it + * POST /recordings/live/{recordingName}/stop - stop recording * + POST /recordings/live/{recordingName}/pause - pause recording * + POST /recordings/live/{recordingName}/unpause - resume recording + * POST /recordings/live/{recordingName}/mute - mute recording + (record silence to the file) * POST + /recordings/live/{recordingName}/unmute - unmute recording. Since + this underlying functionality did not already exist, is was added + to app.c by a set of control frames, similar to how playback + control works. The pause/mute control frames are toggles, even + though the ARI controls are idempotent, to be consistent with the + playback control frames. (closes issue ASTERISK-22181) Review: + https://reviewboard.asterisk.org/r/2697/ + + * main/stasis_cache.c, include/asterisk/stasis.h, + tests/test_stasis.c, main/stasis_cache_pattern.c: Tweak caching + topics to fix CEL tests The Stasis changes in r395954 had an + unanticipated side effect: messages published directly to an _all + topic does not get forwarded to the corresponding caching topic. + This patch fixes that by changing how caching topics forward + messages, and how the caching pattern forwards are setup. For the + caching pattern, the all_topic is forwarded to the + all_topic_cached. This forwards messages published directly to + the all_topic to all_topic_cached. In order to avoid duplicate + messages on all_topic_cached, caching topics were changed to no + longer forward uncached messages. Subscribers to an individual + caching topic should only expect to receive cache updates, and + subscription change messages. Since individual caching topics are + new, this shouldn't be a problem. There are a few minor changes + to the pre-cache split behavior. * For topics changed to use the + caching pattern, the all_topic_cached will forward snapshots in + addition to cache updates. Since subscribers by design ignore + unexpected messages, this should be fine. * Caching topics that + don't use the caching pattern no longer forward non-cache + updates. This makes no difference for the current caching topics. + * mwi_topic_cached, channel_by_name_topic and + presence_state_topic_cached have no subscribers * + device_state_topic_cached's only subscriber only processes cache + udpates (issue ASTERISK-22243) Review: + https://reviewboard.asterisk.org/r/2738 + +2013-08-06 13:08 +0000 [r396320-396321] Kinsey Moore + + * res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c, + res/res_pjsip/config_system.c: Expose res_pjsip threadpool + options Expose initial size, automatic increment, maximum size, + and idle timeout as configurable parameters for the res_pjsip + thread pool. Review: https://reviewboard.asterisk.org/r/2704/ + (closes issue ASTERISK-22143) + + * main/cdr.c: Fix memory leaks in the CDR engine Fix refcount bugs + and a possible locking problem in the CDR engine relating to use + of ao2_iterators. Review: + https://reviewboard.asterisk.org/r/2724/ (closes issue + ASTERISK-22126) + +2013-08-06 12:39 +0000 [r396319] Joshua Colp + + * res/res_pjsip_outbound_registration.c, res/res_pjsip_messaging.c, + res/res_pjsip_exten_state.c, res/res_pjsip_notify.c: Fix crash in + res_pjsip_outbound_registration when the remote server can not be + resolved. This crash was caused by decrementing the reference + count of a newly created message when it should not be. This + change fixes that but also fixes all other cases where this was + incorrectly done. (closes issue ASTERISK-22188) Reported by: + Kinsey Moore + +2013-08-06 08:43 +0000 [r396309-396311] Walter Doekes + + * /, funcs/func_strings.c: Check result of ast_var_assign() calls + for memory allocation failure (2). Missed a spot in the previous + commit. ........ Merged revisions 396310 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * pbx/pbx_dundi.c, utils/extconf.c, apps/app_stack.c, + apps/app_playback.c, funcs/func_global.c, main/cdr.c, + pbx/pbx_loopback.c, main/pbx.c, /, funcs/func_strings.c: Check + result of ast_var_assign() calls for memory allocation failure. + We try to keep the system running even when all available memory + is spent. Review: https://reviewboard.asterisk.org/r/2734/ + ........ Merged revisions 396279 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 396287 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-05 20:20 +0000 [r396253] Michael L. Young + + * /, channels/chan_sip.c: Fix Registration Failure When A Peer And + TLS Are Used If a peer is used in a register line and TLS is + defined as the transport, the registration fails since the + transport on the dialog is never set properly resulting in UDP + being used instead of TLS. This patch sets the dialog's transport + based on the transport that was defined in the register line. If + the register line does not specify a transport, the parsing + function for the register line always defaults back to UDP. + (closes issue ASTERISK-21964) Reported by: Doug Bailey Tested by: + Doug Bailey Patches: asterisk-21964-set-reg-dialog-transport.diff + by Michael L. Young (license 5026) ........ Merged revisions + 396240 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 396248 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-05 20:18 +0000 [r396245] Jonathan Rose + + * main/bridge_basic.c, main/features.c, + include/asterisk/bridge_basic.h: bridge features: Dial and Queue + add features instead of replace them. Dial and Queue would + previously apply a new set of features whenever bridging. These + options would be based purely on the options supplied to the + dial/queue applications. This patch changes the function those + applications use to bridge calls so that the features will be + added to the set of existing features for each channel rather + than having them override the existing features. (closes issue + ASTERISK-22209) Reported by: Jonathan Rose Review: + https://reviewboard.asterisk.org/r/2713/ + +2013-08-05 19:01 +0000 [r396201] Matthew Jordan + + * res/res_pjsip_outbound_registration.c: Add AMI registration + events for PJSIP outbound registration attempts This patch adds + AMI events whenever an outbound registration attempt succeeds or + fails from res_pjsip_outbound_registration. This brings it inline + with the existing SIP channel driver and IAX channel driver. + Review: https://reviewboard.asterisk.org/r/2729/ + +2013-08-05 18:52 +0000 [r396198-396200] Michael L. Young + + * /, UPGRADE-11.txt: Change "from" to "From". (related to issue + ASTERISK-21903) ........ Merged revisions 396199 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * UPGRADE-11.txt, /: Adding a note to UPGRADE.txt about a change + made to res_agi in order to indicate when streaming an audio file + fails like it is done in other parts of the code to indicate an + error. Note was requested by Paul Belanger: + http://lists.digium.com/pipermail/asterisk-dev/2013-July/061420.html + (related to issue ASTERISK-21903) ........ Merged revisions + 396196 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 396197 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-08-05 17:48 +0000 [r396175-396189] Jonathan Rose + + * bridges/bridge_holding.c: bridge_holding: Add suspsend/unsuspend + callbacks Suspend and unsuspend callbacks are added to the + holding bridge so that entertainment can be disabled and + re-enabled when operations would suspend a channel on the bridge + (such as playback operations). This fixes entertainment so that + when those operations end, the entertainment can pick back up and + it also serves as an optimization. Also, this patch fixes a bug + caused by triggering ringing frames immediately instead of + pushing them to the queue which created a race condition where + sometimes parking with ringing during attended transfers would + cause the ringing to be interrupted by an unhold frame. (closes + issue ASTERISK-22006) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2711/ + + * res/res_ari_bridges.c, include/asterisk/bridge_roles.h, + res/ari/resource_bridges.h, res/stasis/control.c, + include/asterisk/stasis_app.h, main/bridge_roles.c, + rest-api/api-docs/bridges.json, res/ari/resource_bridges.c: ARI: + bridges/{bridgeID}/addChannel: add roles parameter Roles are now + cleared with each entry into a bridge with addChannel. If the + roles parameter is present, the role specified will be applied to + all channels being added with the addChannel command. (closes + issue ASTERISK-21973) Reported by: Matt Jordan + https://reviewboard.asterisk.org/r/2691/ + + * res/parking/parking_tests.c (added), + res/parking/parking_bridge.c, res/parking/res_parking.h, + res/res_parking.c: res_parking: Unit tests Adds the following + unit tests: * create_lot: tests adding and removal of a new + parking lot (baseline) * park_extensions: creates a parking lot + that registers extensions and then confirms that all of the + expected extensions exist * extensions_conflicts: creates + numerous parking lots to test that extension conflicts in parking + lots result in parking lot creation failing * + dynamic_parking_variables: Tests that the creation of dynamic + parking lots respects the related channel variables set on the + channel that requests them. * park_call: Tests adding a channel + to a parking lot's holding bridge by standard parking functions. + * retrieve_call: Tests pulling a channel out of a parking lot's + holding bridge via parked call retrieval functions. (closes issue + ASTERISK-22138) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2714/ + +2013-08-05 14:35 +0000 [r396166] David M. Lee + + * main/pbx.c, main/manager.c, res/ari/resource_asterisk.c, + utils/extconf.c, include/asterisk/options.h, main/asterisk.c, + main/cli.c, main/channel.c: Fix res_ari_asterisk load issue The + new res_ari_asterisk.so module presents several config options + from asterisk main. Unfortunately, they aren't exported, so the + module won't load on Linux. This patch renames the variables, + adding the ast_ prefix so they will be exported. Review: + https://reviewboard.asterisk.org/r/2737 + +2013-08-03 03:53 +0000 [r396158] Matthew Jordan + + * main/manager_bridges.c: Don't unsubscribe from the AMI message + router from manager_bridges The AMI message router is owned + wholly by manager.c. Previously, each of the manager_{item} + source files had their own message router and they unsubscribed + from each; once they moved over to using a single message router + only a single unsubscribe became necessary. + +2013-08-02 17:50 +0000 [r396145] Mark Michelson + + * channels/sig_pri.c: And get rid of another ast_bridged_channel() + +2013-08-02 17:29 +0000 [r396136-396143] David M. Lee + + * main/stasis_bridges.c: Clean up ast_json with ast_json_unref + + * /: Removed svnmerge-integrated from trunk + +2013-08-02 15:01 +0000 [r396126] Mark Michelson + + * res/snmp/agent.c: Get the SNMP code to compile. + +2013-08-02 14:46 +0000 [r396119-396125] David M. Lee + + * res/ari/ari_model_validators.c, res/ari/ari_model_validators.h, + rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c: ARI + - GET /ari/asterisk/info This patch adds basic system information + access to ARI. The results are roughly what you get from 'core + show settings', with a few minor differences. * Data is + structured, with 'build', 'system', 'config' and 'status' + sub-objects. * Each sub-object is selectable, using the ?only= + parameter. A comma separated list can be provided to select + multiple sections. * A few config options are numeric, for which + 0 means 'unlimited'. Instead of having a special interpretation + of those fields, they are simply omitted if they're 0. * The + information is limited to what might be useful to building + external applications. (closes issue ASTERISK-21575) Review: + https://reviewboard.asterisk.org/r/2702/ + + * res/ari/resource_asterisk.h, rest-api/api-docs/channels.json, + res/res_ari_sounds.c, res/res_ari_bridges.c, + rest-api-templates/param_cleanup.mustache (added), + rest-api/api-docs/events.json, /, res/ari/resource_events.c, + rest-api-templates/ari_resource.h.mustache, + res/res_ari_asterisk.c, res/res_ari_playback.c, + rest-api-templates/res_ari_resource.c.mustache, + res/ari/resource_events.h, rest-api/api-docs/sounds.json, + res/res_ari_channels.c, rest-api/api-docs/bridges.json, + rest-api-templates/param_parsing.mustache, + res/ari/resource_bridges.c, res/ari/resource_sounds.h, + res/res_ari_recordings.c, res/ari/resource_bridges.h, + res/res_ari_endpoints.c, res/res_ari_events.c: ARI - implement + allowMultiple for parameters Swagger allows parameters to be + specified as 'allowMultiple', meaning that the parameter may be + specified as a comma separated list of values. I had written some + of the API docs using that, but promptly forgot about + implementing it. This patch finally fills in that gap. The + codegen template was updated to represent 'allowMultiple' fields + as array/size fields in the _args structs. It also parses the + comma separated list using ast_app_separate_args(), so quoted + strings in the argument will be handled properly. Review: + https://reviewboard.asterisk.org/r/2698/ + + * res/res_sorcery_astdb.c, include/asterisk/json.h, main/cel.c, + res/ari/ari_websockets.c, tests/test_json.c, main/json.c: Address + JSON thread safety issues. In tracking down some unit tests + failures, I ended up reading the fine print[1] regarding + Jansson's thread safety. In short: 1. Ref-counting is non-atomic. + 2. json_dumps() and friends are not thread safe. This patch adds + locking where necessary to our ast_json_* wrapper API, with + documentation in json.h describing the thread safety limitations + of the API. [1]: + http://www.digip.org/jansson/doc/2.4/portability.html#thread-safety + Review: https://reviewboard.asterisk.org/r/2716/ + +2013-08-02 14:13 +0000 [r396107] Mark Michelson + + * res/parking/parking_bridge.c, main/manager_bridges.c, + include/asterisk/stasis_bridges.h, main/cel.c, + include/asterisk/parking.h, main/bridge_channel.c, + main/stasis_bridges.c, res/parking/parking_manager.c: Make a + couple of changes to help AMI events to be more clear in what is + occurring. * BridgeEnter now contains the unique ID of the + channel that is to be swapped out, if applicable. * There is a + ParkedCallSwap event that is sent when a parked channel has a new + channel take its place. (closes issue ASTERISK-22193) reported by + Mark Michelson Review: https://reviewboard.asterisk.org/r/2712 + +2013-08-02 14:08 +0000 [r396105] Kinsey Moore + + * utils/Makefile, utils/refcounter.c, main/strings.c, + include/asterisk/astobj2.h, include/asterisk/strings.h, + main/astobj2.c: Move ast_str_container_alloc and friends This + moves ast_str_container_alloc, ast_str_container_add, + ast_str_container_remove, and related private functions into + strings.c/h since they really don't belong in astobj2.c/h. As a + result of this move, utils also had to be updated. Review: + https://reviewboard.asterisk.org/r/2719/ (closes issue + ASTERISK-22041) + +2013-08-02 14:05 +0000 [r396102-396103] Mark Michelson + + * funcs/func_channel.c, main/channel_internal_api.c, + include/asterisk/channel.h, channels/chan_iax2.c, + apps/app_chanspy.c, channels/chan_oss.c, channels/chan_mgcp.c, + main/channel.c, channels/chan_dahdi.c, channels/chan_misdn.c, + main/rtp_engine.c, channels/chan_sip.c, channels/chan_skinny.c: + Get rid of ast_bridged_channel() and the bridged_channel field on + ast_channels. This commit is smaller than the initial review + placed on review board. This is because a change to allow for + channel drivers to access parking functionality externally was + committed and invalidated quite a few of the changes initially + made. (closes issue ASTERISK-22039) reported by Matt Jordan + Review: https://reviewboard.asterisk.org/r/2717 + + * include/asterisk/pickup.h: Make sure that pickup.h does not use + an include guard name used elsewhere. + +2013-08-02 13:29 +0000 [r396087-396099] Kinsey Moore + + * main/pickup.c: Correct the last of the Newchannel xi:includes + + * res/res_pjsip/include/res_pjsip_private.h, + res/res_pjsip/pjsip_options.c, res/res_pjsip.c, + res/res_pjsip_notify.c, res/res_pjsip_outbound_registration.c: + Add CLI/AMI commands to force chan_pjsip actions For chan_pjsip, + this introduces CLI/AMI remote unregistration commands, reworks + CLI syntax for sending NOTIFYs, adds AMI qualification support, + and adds documentation for PJSIPNotify. This also fixes two + refcounting bugs in the outbound registration code. Review: + https://reviewboard.asterisk.org/r/2695/ (closes issue + ASTERISK-21939) + +2013-08-02 04:48 +0000 [r396075] David M. Lee + + * channels/sig_analog.c: Fixed chan_dahdi compilation failure + +2013-08-02 03:12 +0000 [r396060-396062] Matthew Jordan + + * tests/test_cel.c, tests/test_cdr.c: Fix test modules More missing + include files. :-\ + + * channels/chan_mgcp.c, channels/chan_dahdi.c: Add pickup.h include + lines for chan_dahdi and chan_mgcp + + * include/asterisk/parking.h, include/asterisk/pickup.h (added), + main/asterisk.c, res/parking/parking_manager.c, tests/test_cdr.c, + channels/chan_unistim.c, main/pbx.c, res/stasis/control.c, + main/pickup.c (added), channels/chan_sip.c, main/bridge.c, + UPGRADE.txt, res/parking/parking_applications.c, + include/asterisk/_private.h, channels/chan_gtalk.c, main/cel.c, + CHANGES, include/asterisk/features.h, main/cdr.c, + res/res_parking.c, channels/chan_skinny.c, + apps/app_directed_pickup.c, main/features.c, tests/test_cel.c: + Remove dead code from features.c; refactor pickup code into + pickup.c This patch does the following: * It moves the pickup + code out of features.c and into pickup.c * It removes the vast + majority of dead code out of features.c. In particular, this + includes the parking code. (issue ASTERISK-22134) + +2013-08-01 23:38 +0000 [r396048] Joshua Colp + + * res/res_pjsip_registrar.c: Fix a crash due to performing full URI + validation on a contact which only contains '*'. (closes issue + AST-1198) Reported by: John Bigelow + +2013-08-01 21:19 +0000 [r396035] David M. Lee + + * main/sorcery.c: Fix sorcery for some rather picky regex + implementations. Some regex implementations won't compile an + empty string. Assuming that it's equivalent of a regex that will + match anything, use ".?" instead. + +2013-08-01 20:55 +0000 [r396010-396028] Matthew Jordan + + * include/asterisk/parking.h, main/bridge_channel.c, + res/parking/parking_bridge_features.c, channels/chan_mgcp.c, + include/asterisk/features.h, channels/chan_dahdi.c, + res/res_parking.c, channels/sig_analog.c, channels/chan_skinny.c, + main/parking.c, main/bridge.c, main/features.c, + channels/chan_iax2.c: Support externally initiated parking + requests; remove some dead code This patch does the following: * + It adds support for externally initiated parking requests. In + particular, chan_skinny has a protocol level message that + initiates a call park. This patch now supports that option, as + well as the protocol specific mechanisms in chan_dahdi/sig_analog + and chan_mgcp. * A parking bridge features virtual table has been + added that provides access to the parking functionality that the + Bridging API needs. This includes requests to park an entire + 'call' (with little or no additional information, thank you + chan_skinny), perform a blind transfer to a parking extension, + determine if an extension is a parking extension, as well as the + actual "do the parking" request from the Bridging API. * + Refactoring in chan_mgcp, chan_skinny, and chan_dahdi to make use + of the new functions * The removal of some - but not all - dead + parking code from features.c This also fixed blind transferring a + multi-party bridge to a parking lot (which was implemented, but + had at least one code path where using the parking features kK + might not have worked) Review: + https://reviewboard.asterisk.org/r/2710 (closes issue + ASTERISK-22134) Reported by: Matt Jordan + + * CHANGES, apps/app_queue.c: Add queue member paused hints This + patch adds the ability in Queue to raise a hint when a member's + paused state changes. The hint uses the form + 'Queue:{queue_name}_pause_{member_name}', where {queue_name} and + {member_name} are the name of the queue and the name of the + member to subscribe to, respectively. For example: exten => + 8501,hint,Queue:sales_pause_mark. Members will show as In Use + when paused. Note that the format of the queue pause hint was + changed slightly from what is on the issue to accomodate + suggestion on the code review. Review: + https://reviewboard.asterisk.org/r/2254 (closes issue + ASTERISK-20842) Reported by: Philippe Lindheimer patches: + qpause-10-378206.diff uploaded by Philippe Lindheimer (license + 5519) qpause-11-378206.diff uploaded by Philippe Lindheimer + (license 5519) qpause-trunk-378206.diff uploaded by Philippe + Lindheimer (license 5519) + +2013-08-01 17:23 +0000 [r395985-395998] Kinsey Moore + + * configure: Regenerate configure for configure.ac changes + + * makeopts.in, doc/appdocsxml.dtd, apps/app_stack.c, + res/parking/parking_manager.c, main/manager_mwi.c, + main/rtp_engine.c, apps/app_meetme.c, + include/asterisk/autoconfig.h.in, main/xml.c, + main/stasis_bridges.c, contrib/scripts/install_prereq, + main/manager_bridges.c, channels/chan_dahdi.c, main/manager.c, + doc/snapshots.xslt (added), main/features.c, apps/app_minivm.c, + res/res_agi.c, main/stasis_channels.c, main/manager_channels.c, + channels/chan_sip.c, main/Makefile, configure.ac, UPGRADE.txt, + main/aoc.c, main/core_local.c, channels/sig_pri.c, + apps/app_queue.c, CHANGES, funcs/func_global.c, + apps/app_agent_pool.c, Makefile, + apps/confbridge/confbridge_manager.c: Fix documentation + replication issues This prevents XML documentation duplication by + expanding channel and bridge snapshot tags into channel and + bridge snapshot parameter sets with a given prefix or defaulting + to no prefix. This also prevents documentation from becoming + fractured and out of date by keeping all variations of the + documentation in template form such that it only needs to be + updated once and keeps maintenance to a minimum. Review: + https://reviewboard.asterisk.org/r/2708/ + +2013-08-01 16:56 +0000 [r395954-395984] David M. Lee + + * utils/astman.c: Fixed warning in astman for gcc-4.8. + + * channels/chan_pjsip.c, res/res_pjsip_mwi.c: Fixed compile errors + introduced in r395954. Just a merge error due to a file rename. + Grrr... + + * res/res_xmpp.c, main/endpoints.c, channels/chan_iax2.c, + res/res_jabber.c, main/presencestate.c, main/stasis_bridges.c, + res/res_chan_stats.c, main/stasis.c, main/cli.c, main/cdr.c, + channels/chan_dahdi.c, main/manager_bridges.c, main/manager.c, + tests/test_devicestate.c, res/res_agi.c, + include/asterisk/stasis_cache_pattern.h (added), main/app.c, + main/stasis_channels.c, res/ari/resource_channels.c, + include/asterisk/stasis_endpoints.h, include/asterisk/bridge.h, + main/manager_channels.c, channels/chan_mgcp.c, main/pbx.c, + include/asterisk/devicestate.h, main/stasis_cache.c, + res/ari/resource_endpoints.c, channels/chan_sip.c, + main/channel_internal_api.c, include/asterisk/presencestate.h, + include/asterisk/stasis_bridges.h, include/asterisk/stasis.h, + include/asterisk/channel.h, channels/sig_pri.c, main/cel.c, + tests/test_stasis_endpoints.c, res/ari/resource_bridges.c, + include/asterisk/app.h, include/asterisk/stasis_channels.h, + apps/confbridge/confbridge_manager.c, tests/test_cel.c, + tests/test_stasis.c, res/res_stasis.c, + main/stasis_cache_pattern.c (added), apps/app_voicemail.c, + channels/chan_unistim.c, main/stasis_endpoints.c, + main/stasis_wait.c (added), apps/app_meetme.c, + res/stasis/control.c, main/bridge.c, main/manager_endpoints.c, + include/asterisk/channel_internal.h, main/devicestate.c: Split + caching out from the stasis_caching_topic. In working with + res_stasis, I discovered a significant limitation to the current + structure of stasis_caching_topics: you cannot subscribe to cache + updates for a single channel/bridge/endpoint/etc. To address + this, this patch splits the cache away from the + stasis_caching_topic, making it a first class object. The + stasis_cache object is shared amongst individual + stasis_caching_topics that are created per channel/endpoint/etc. + These are still forwarded to global whatever_all_cached topics, + so their use from most of the code does not change. In making + these changes, I noticed that we frequently used a similar + pattern for bridges, endpoints and channels: single_topic + ----------------> all_topic ^ | single_topic_cached ----+----> + all_topic_cached | +----> cache This pattern was extracted as the + 'Stasis Caching Pattern', defined in stasis_caching_pattern.h. + This avoids a lot of duplicate code between the different domain + objects. Since the cache is now disassociated from its upstream + caching topics, this also necessitated a change to how the + 'guaranteed' flag worked for retrieving from a cache. The code + for handling the caching guarantee was extracted into a + 'stasis_topic_wait' function, which works for any stasis_topic. + (closes issue ASTERISK-22002) Review: + https://reviewboard.asterisk.org/r/2672/ + +2013-08-01 11:21 +0000 [r395938] Joshua Colp + + * res/res_pjsip_session.c: Answer with multiple codecs if the + underlying pjproject supports it. + +2013-08-01 00:07 +0000 [r395906-395907] Matthew Jordan + + * channels/chan_sip.c: Raise Registry AMI events on registration + failures This patch makes it so that all registration attempts + that fail that also permanently modify the registration state + will raise an appropriate AMI event. Note that this patch was + forward ported to trunk and the Stasis Core message bus by + mjordan. (closes issue ASTERISK-21368) Reported by: Dmitriy Serov + patches: chan_sip.c.diff uploaded by Demon (license 6479) + + * res/res_agi.c, CHANGES: Update CONTROL STREAM FILE to accept an + 'offsetms' parameter This patch allows starting playback of audio + through the CONTROL STREAM FILE AGI command to start at a + particular offset. It will also return the final position of the + file in the 'endpos' attribute. (closes issue ASTERISK-17803) + Reported by: Murray Melvin patches: res_agi.c.r316293.diff + uploaded by murraytm (license 6221) + +2013-07-31 15:43 +0000 [r395884] Mark Michelson + + * res/res_pjsip/pjsip_options.c: Found another missed "sip" -> + "pjsip" CLI command. + +2013-07-31 15:27 +0000 [r395881] Kinsey Moore + + * tests/test_cel.c: Disable CEL tests that need rearchitecting to + operate properly + +2013-07-31 14:45 +0000 [r395868] Mark Michelson + + * res/res_pjsip_endpoint_identifier_constant.c (removed): Remove + "constant" endpoint identifier. This was created as a debugging + tool before proper endpoint identifiers were created. Using it + now can actually lead to harmful results. + +2013-07-31 14:29 +0000 [r395866] Joshua Colp + + * bridges/bridge_native_rtp.c: Fix hold/unhold in + bridge_native_rtp, use tech_pvt instead of bridge_pvt, reduce + bridging attempts, and fix breaking native RTP bridges. (closes + issue ASTERISK-22128) (closes issue ASTERISK-22104) + +2013-07-31 13:31 +0000 [r395837-395851] Kinsey Moore + + * channels/chan_pjsip.c, include/asterisk/res_pjsip.h, + include/asterisk/res_pjsip_pubsub.h, + include/asterisk/res_pjsip_exten_state.h, + include/asterisk/res_pjsip_session.h, configs/pjsip.conf.sample, + res/res_pjsip/include/res_pjsip_private.h: Fix remnants of the + pjsip renaming + + * tests/test_cel.c: Enforce conference exit order for CEL tests + +2013-07-30 22:41 +0000 [r395810-395824] Mark Michelson + + * res/res_pjsip_endpoint_identifier_ip.c: Missed a conversion to + pjsip.conf in documentation and sorcery. + + * main/abstract_jb.c: Remove ast_bridged_channel call from + abstract_jb.c Interestingly, this only happens in dead code. + +2013-07-30 20:44 +0000 [r395793] David M. Lee + + * res/res_pjsip: Setting svn:ignore for res/res_pjsip + +2013-07-30 19:10 +0000 [r395748-395779] Mark Michelson + + * res/res_pjsip_endpoint_identifier_constant.c: Update + res_pjsip_endpoint_identifier_constant.c to use reorganized + endpoint structure. + + * res/res_pjsip_transport_websocket.c (added), + res/res_pjsip/pjsip_outbound_auth.c (added), res/res_sip_pubsub.c + (removed), include/asterisk/res_pjsip_exten_state.h (added), + res/res_pjsip_notify.c (added), res/res_sip_diversion.c + (removed), res/res_pjsip_endpoint_identifier_ip.c (added), + include/asterisk/res_sip.h (removed), res/res_sip_dtmf_info.c + (removed), res/res_sip.exports.in (removed), + res/res_pjsip_registrar_expire.c (added), res/res_pjsip_t38.c + (added), res/res_sip_exten_state.exports.in (removed), + res/res_sip_messaging.c (removed), + include/asterisk/res_pjsip_pubsub.h (added), + res/res_sip_caller_id.c (removed), res/res_sip_logger.c + (removed), res/res_sip_nat.c (removed), + res/res_pjsip_outbound_registration.c (added), + res/res_sip_session.c (removed), + res/res_pjsip_endpoint_identifier_anonymous.c (added), + res/res_pjsip_endpoint_identifier_constant.c (added), + res/res_sip_rfc3326.c (removed), + res/res_pjsip/pjsip_distributor.c (added), + res/res_pjsip/config_transport.c (added), res/res_sip_mwi.c + (removed), res/res_pjsip_diversion.c (added), + res/res_pjsip_dtmf_info.c (added), res/res_sip_registrar.c + (removed), res/res_pjsip_authenticator_digest.c (added), + res/res_pjsip_session.exports.in (added), + res/res_pjsip/config_security.c (added), + include/asterisk/res_sip_exten_state.h (removed), + res/res_pjsip_messaging.c (added), res/res_pjsip_caller_id.c + (added), res/res_sip_notify.c (removed), + res/res_sip_endpoint_identifier_ip.c (removed), + res/res_pjsip_nat.c (added), res/res_pjsip_session.c (added), + res/res_sip_registrar_expire.c (removed), res/res_sip.c + (removed), res/res_pjsip_rfc3326.c (added), res/res_pjsip_mwi.c + (added), res/res_pjsip/pjsip_configuration.c (added), + res/res_sip_outbound_authenticator_digest.c (removed), + res/res_sip_endpoint_identifier_constant.c (removed), + res/res_pjsip_registrar.c (added), channels/chan_pjsip.c (added), + res/res_sip_one_touch_record_info.c (removed), + res/res_pjsip/config_global.c (added), res/res_sip_acl.c + (removed), res/res_pjsip/config_auth.c (added), + include/asterisk/res_pjsip_session.h (added), + configs/res_sip.conf.sample (removed), res/res_sip_refer.c + (removed), res/res_pjsip/security_events.c (added), + res/res_pjsip/config_domain_aliases.c (added), res/Makefile, + res/res_sip_authenticator_digest.c (removed), + res/res_pjsip/pjsip_options.c (added), + res/res_sip_session.exports.in (removed), + res/res_pjsip_endpoint_identifier_user.c (added), res/res_pjsip.c + (added), res/res_sip_sdp_rtp.c (removed), res/res_pjsip_pidf.c + (added), channels/chan_gulp.c (removed), + res/res_pjsip_outbound_authenticator_digest.c (added), + res/res_pjsip/location.c (added), res/res_sip_exten_state.c + (removed), res/res_pjsip_one_touch_record_info.c (added), + res/res_sip_pubsub.exports.in (removed), res/res_pjsip_acl.c + (added), res/res_pjsip_pubsub.c (added), res/res_pjsip_refer.c + (added), include/asterisk/res_pjsip.h (added), res/res_sip + (removed), res/res_pjsip.exports.in (added), + res/res_sip_transport_websocket.c (removed), + res/res_pjsip_exten_state.exports.in (added), + res/res_pjsip_sdp_rtp.c (added), + include/asterisk/res_sip_session.h (removed), + res/res_pjsip_logger.c (added), + res/res_pjsip/pjsip_global_headers.c (added), + res/res_pjsip/include (added), res/res_pjsip_exten_state.c + (added), res/res_sip_t38.c (removed), + res/res_sip_endpoint_identifier_user.c (removed), + res/res_pjsip_pubsub.exports.in (added), res/res_sip_pidf.c + (removed), res/res_pjsip/config_system.c (added), + configs/pjsip.conf.sample (added), + include/asterisk/res_sip_pubsub.h (removed), + res/res_sip_outbound_registration.c (removed), res/res_pjsip + (added), res/res_pjsip/include/res_pjsip_private.h (added), + res/res_sip_endpoint_identifier_anonymous.c (removed): The large + GULP->PJSIP renaming effort. The general gist is to have a clear + boundary between old SIP stuff and new SIP stuff by having the + word "SIP" for old stuff and "PJSIP" for new stuff. Here's a + brief rundown of the changes: * The word "Gulp" in dialstrings, + functions, and CLI commands is now "PJSIP" * chan_gulp.c is now + chan_pjsip.c * Function names in chan_gulp.c that were "gulp_*" + are now "chan_pjsip_*" * All files that were "res_sip*" are now + "res_pjsip*" * The "res_sip" directory is now "res_pjsip" * Files + in the "res_pjsip" directory that began with "sip_*" are now + "pjsip_*" * The configuration file is now "pjsip.conf" instead of + "res_sip.conf" * The module info for all PJSIP-related files now + uses "PJSIP" instead of "SIP" * CLI and AMI commands created by + Asterisk's PJSIP modules now have "pjsip" as the starting word + instead of "sip" + + * res/res_sip.exports.in, res/res_sip_authenticator_digest.c, + res/res_sip/sip_outbound_auth.c, res/res_sip_sdp_rtp.c, + res/res_sip_messaging.c, res/res_sip_t38.c, channels/chan_gulp.c, + res/res_sip_caller_id.c, res/res_sip.c, res/res_sip_nat.c, + res/res_sip_session.c, res/res_sip/sip_options.c, + res/res_sip_outbound_authenticator_digest.c, + res/res_sip_outbound_registration.c, res/res_sip_mwi.c, + res/res_sip_one_touch_record_info.c, res/res_sip_pubsub.c, + res/res_sip_diversion.c, res/res_sip/sip_configuration.c, + include/asterisk/res_sip.h, res/res_sip/sip_distributor.c: + Reorganize the ast_sip_endpoint structure into substructures. + (closes issue ASTERISK-22135) reported by Matt Jordan Review: + https://reviewboard.asterisk.org/r/2707 + +2013-07-30 14:16 +0000 [r395731] Joshua Colp + + * include/asterisk/res_sip.h, include/asterisk/res_sip_session.h, + res/res_sip_session.exports.in, channels/chan_gulp.c, + res/res_sip_t38.c (added), res/res_sip.c, + res/res_sip/sip_configuration.c, res/res_sip_session.c: Add + support for T.38 fax to chan_pjsip. Review: + https://reviewboard.asterisk.org/r/2692/ + +2013-07-30 13:46 +0000 [r395728] Kinsey Moore + + * res/res_pktccops.c: Fix compilation on gcc 4.8.1 + +2013-07-29 17:51 +0000 [r395686] David M. Lee + + * include/asterisk/mixmonitor.h, main/mixmonitor.c, + res/parking/parking_devicestate.c: Removed quotes from + svn:keywords props on a few files. Subversion doesn't do quote + processing, so it actually thinks that the closing quote in + 'Revision"' is a part of the keyword. + +2013-07-29 16:16 +0000 [r395674] Mark Michelson + + * res/res_sip.c: Clarify documentation for trust of identification. + (closes issue ASTERISK-22023) Reported by Rusty Newton + +2013-07-29 15:58 +0000 [r395672-395673] Matthew Jordan + + * main/loader.c: Put the include in there Mea culpa... + + * main/loader.c: When performing a reload, reload the new + features_config and not the old Performing a module reload of + core components causes specific functions compiled into the + Asterisk binary to be reloaded. The table of said functions was + still pointing to the old features reload mechanism, and not the + new one. + +2013-07-29 14:51 +0000 [r395653] Kinsey Moore + + * tests/test_cel.c: Clean up and improve test_cel Improve + reliability of attended transfer merge and link tests. Stop using + ast_log(LOG_ERROR, ...); in favor of ast_test_status_update + Remove fred and eve channel helpers since they are not necessary + +2013-07-29 14:08 +0000 [r395636] David M. Lee + + * res/ari: Set svn:ignore in res/ari directory + +2013-07-29 12:10 +0000 [r395619] Kinsey Moore + + * res/res_sip.c: Remove comment that no longer applies The monitor + thread is already properly torn down on unload and load failure. + +2013-07-27 23:11 +0000 [r395588-395603] Kinsey Moore + + * res/ari/ari_model_validators.c (added), + res/ari/ari_model_validators.h (added), res/res_ari.exports.in + (added), rest-api-templates/stasis_http_resource.c.mustache + (removed), tests/test_stasis_http.c (removed), + res/res_stasis_http.c (removed), res/ari/ari_websockets.c + (added), rest-api-templates/ari_resource.c.mustache (added), + tests/test_ari.c (added), res/res_stasis_http_playback.c + (removed), res/stasis_http (removed), res/res_ari.c (added), + res/ari/resource_endpoints.c (added), + rest-api-templates/ari_model_validators.h.mustache, + res/res_stasis_http_channels.c (removed), res/ari (added), + res/ari/resource_endpoints.h (added), + rest-api-templates/stasis_http.make.mustache (removed), + res/stasis_http.make (removed), res/ari/resource_bridges.c + (added), tests/test_ari_model.c, res/res_ari_recordings.c + (added), rest-api-templates/ari.make.mustache (added), + res/ari/resource_bridges.h (added), res/res_ari_events.c (added), + res/res_statsd.c, res/res_ari_sounds.c (added), + rest-api-templates/stasis_http_resource.h.mustache (removed), + res/ari/resource_recordings.c (added), main/stasis_config.c, + rest-api-templates/ari_resource.h.mustache (added), + res/ari/resource_events.c (added), res/ari/resource_recordings.h + (added), rest-api-templates/rest_handler.mustache, + res/res_ari_asterisk.c (added), res/ari/resource_events.h + (added), res/ari/internal.h (added), res/ari/resource_sounds.c + (added), res/res_stasis_http_endpoints.c (removed), + res/ari/resource_sounds.h (added), res/res_stasis_http.exports.in + (removed), res/ari/resource_asterisk.c (added), + res/res_ari_endpoints.c (added), res/ari/resource_asterisk.h + (added), res/res_stasis_http_bridges.c (removed), + res/ari/config.c (added), res/res_ari_bridges.c (added), + include/asterisk/stasis_http.h (removed), res/res_ari_playback.c + (added), res/res_ari_model.exports.in, + res/res_stasis_http_recordings.c (removed), + include/asterisk/ari.h (added), res/res_ari_channels.c (added), + res/res_stasis_http_events.c (removed), res/res_ari_model.c, + res/ari.make (added), res/ari/resource_playback.c (added), + res/res_stasis_http_sounds.c (removed), + res/ari/resource_playback.h (added), res/ari/resource_channels.c + (added), res/ari/cli.c (added), + rest-api-templates/ari_model_validators.c.mustache, + res/ari/resource_channels.h (added), + res/res_stasis_http_asterisk.c (removed), + rest-api-templates/res_stasis_http_resource.c.mustache (removed), + rest-api-templates/make_ari_stubs.py, + rest-api-templates/res_ari_resource.c.mustache (added), + res/Makefile, configs/ari.conf.sample: Rename everything + Stasis-HTTP to ARI This renames all files and API calls from + several variants of Stasis-HTTP to ARI including: * Stasis-HTTP + -> ARI * STASIS_HTTP -> ARI * stasis_http -> ari (ast_ari for + global symbols, file names as well) * stasis http -> ARI Review: + https://reviewboard.asterisk.org/r/2706/ (closes issue + ASTERISK-22136) + + * tests/test_cel.c: Improve reliability of bridge merge CEL test + +2013-07-26 21:34 +0000 [r395559-395574] Richard Mudgett + + * include/asterisk/parking.h, main/bridge_channel.c, + res/parking/parking_bridge_features.c, apps/app_agent_pool.c, + apps/confbridge/conf_config_parser.c, + bridges/bridge_builtin_features.c, main/parking.c, main/bridge.c, + main/bridge_basic.c, main/features.c, + bridges/bridge_builtin_interval_features.c, + apps/app_bridgewait.c, apps/app_confbridge.c, + include/asterisk/bridge_features.h: Remove the unsafe bridge + parameter from ast_bridge_hook_callback's. Most hook callbacks + did not need the bridge parameter. The pointer value could become + invalid if the channel is moved to another bridge while it is + executing. * Fixed some issues in feature_attended_transfer() as + a result. * Reduce the bridge inhibit count in + attended_transfer_properties_shutdown() after it has restored the + bridge channel hooks. * Removed basic bridge requirement on + feature_blind_transfer(). It does not require the basic bridge + like feature_attended_transfer(). + + * main/bridge.c, bridges/bridge_builtin_interval_features.c, + apps/app_bridgewait.c, include/asterisk/bridge_features.h, + res/parking/parking_bridge_features.c: Improved feature limits + interval hook implementaion. * Fixed feature limits to not use + special members of struct ast_bridge_features. * Fixed memory + leak in off nominal paths of bridge_builtin_set_limits(). * Fixed + off nominal path in ast_bridge_features_limits_construct() + freeing unallocated memory if it was not called by + bridge_builtin_set_limits(). * Made + bridge_builtin_interval_features.so unloadable. * Simplified + parking's use of its duration interval hook. * Made BridgeWait S + option not depend upon another module being loaded. (closes issue + ASTERISK-22107) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2701/ + +2013-07-26 17:42 +0000 [r395527] David M. Lee + + * res/stasis/app.c, res/stasis_http/resource_events.c: Fix + /stasis/res/app_replaced unit test. A typo in recent changes + caused the JSON ApplicationReplaced message to fail to build, so + the message wasn't being sent out the WebSocket. Related, the + replaced application would also unregister itself when it + disconnected, which would actually unregister the new + application. This was also fixed. + +2013-07-26 16:34 +0000 [r395509] Jonathan Rose + + * include/asterisk/bridge_channel_internal.h, main/bridge.c, + apps/app_bridgewait.c, main/bridge_channel.c, + include/asterisk/bridge.h: Add name argument to BridgeWait() so + multiple holding bridges may be used Changes arguments for + BridgeWait from BridgeWait(role, options) to + BridgeWait(bridge_name, role, options). Now multiple holding + bridges may be created and referenced by this application. + (closes issue ASTERISK-21922) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2642/ + +2013-07-26 00:03 +0000 [r395466-395477] Richard Mudgett + + * apps/app_bridgewait.c: Remove some unnecessary parentheses. + + * bridges/bridge_builtin_interval_features.c: Revision + +2013-07-25 20:54 +0000 [r395439-395455] Joshua Colp + + * res/res_sip_session.c: Fix crash due to trying to send a + re-invite while in the incorrect state. This crash would occur if + a re-invite was queued while the initial INVITE transaction was + still occurring and the response to the INVITE was not ACKed. + This lack of ACK would cause the INVITE session state to never + reach confirmed. Once the transaction terminated, however, the + queued re-invite would occur and cause a crash due to this lack + of state change. This fix checks the INVITE session state before + performing the re-invite to ensure it is in the required + confirmed state. + + * res/res_sip.c, res/res_sip/sip_configuration.c: Change the + default value for "allowsubscribe" to yes to match chan_sip. + +2013-07-25 18:27 +0000 [r395430] Richard Mudgett + + * main/stasis_bridges.c, include/asterisk/bridge_after.h, + include/asterisk/bridge_channel_internal.h, + main/manager_bridges.c, include/asterisk/bridge_channel.h, + main/bridge_after.c, include/asterisk/bridge_technology.h, + include/asterisk/bridge_internal.h, + include/asterisk/bridge_features.h, main/bridge_channel.c, + include/asterisk/bridge.h, include/asterisk/bridge_basic.h, + include/asterisk/bridge_roles.h, main/bridge.c, + main/bridge_basic.c, include/asterisk/stasis_bridges.h, + main/bridge_roles.c: Restore bridging files history. + +2013-07-25 15:29 +0000 [r395367-395410] Matthew Jordan + + * main/features.c, include/asterisk/features.h: Remove some dead + parking call Since nothing is using these global parking + functions, remove them! The first of many. + + * main/features.c: Remove dead bridging code from features This + removes the previously #if 0'd code. The functionality removed + has either been subsumed by the Bridging API or is no longer + applicable. + + * main/cli.c, main/cdr.c, main/manager_bridges.c, main/manager.c, + res/stasis_http/resource_bridges.c, tests/test_cel.c, + res/res_stasis.c, main/stasis_bridges.c, tests/test_cdr.c: Fix + incorrect reference to stasis/bridging.h + + * include/asterisk/core_unreal.h, channels/chan_unistim.c, + main/bridging_roles.c (removed), include/asterisk/bridge_roles.h + (added), main/parking.c, res/parking/parking_bridge.c, + main/channel.c, res/res_stasis_bridge_add.c, main/manager.c, + apps/confbridge/include/confbridge.h, + bridges/bridge_builtin_features.c, main/stasis_bridging.c + (removed), include/asterisk/bridging_features.h (removed), + include/asterisk/bridge_channel.h (added), + bridges/bridge_builtin_interval_features.c, + main/manager_bridging.c (removed), apps/app_confbridge.c, + include/asterisk/bridge.h (added), channels/chan_mgcp.c, + main/bridging_basic.c (removed), include/asterisk/bridge_basic.h + (added), channels/chan_bridge_media.c, channels/chan_sip.c, + apps/confbridge/conf_chan_record.c, + res/parking/parking_controller.c, main/core_unreal.c, + include/asterisk/stasis_bridges.h (added), + include/asterisk/bridging_after.h (removed), main/bridge_roles.c + (added), include/asterisk/bridging_channel_internal.h (removed), + main/core_local.c, apps/app_queue.c, channels/sig_pri.c, + res/parking/parking_bridge_features.c, + include/asterisk/bridging_channel.h (removed), + include/asterisk/features.h, include/asterisk/bridging_internal.h + (removed), apps/confbridge/confbridge_manager.c, + include/asterisk/bridging.h (removed), tests/test_cel.c, + bridges/bridge_native_rtp.c, main/bridge_channel.c (added), + res/parking/parking_manager.c, + apps/confbridge/conf_chan_announce.c, + include/asterisk/doxygen/architecture.h, res/stasis/control.c, + bridges/bridge_holding.c, res/res_sip_refer.c, main/bridge.c + (added), main/bridge_basic.c (added), bridges/bridge_softmix.c, + apps/app_bridgewait.c, channels/chan_iax2.c, + main/stasis_bridges.c (added), include/asterisk/bridge_after.h + (added), main/bridging_after.c (removed), main/cli.c, + apps/confbridge/conf_config_parser.c, main/manager_bridges.c + (added), channels/chan_dahdi.c, + include/asterisk/bridging_technology.h (removed), + channels/sig_analog.c, channels/chan_skinny.c, + res/stasis_http/resource_channels.c, main/bridging_channel.c + (removed), apps/app_dumpchan.c, main/features.c, + include/asterisk/bridge_technology.h (added), + main/stasis_channels.c, include/asterisk/bridging_roles.h + (removed), include/asterisk/bridge_features.h (added), + tests/test_cdr.c, main/bridging.c (removed), apps/app_dial.c, + res/stasis_http/resource_bridges.c, bridges/bridge_simple.c, + res/parking/parking_applications.c, main/cel.c, + include/asterisk/stasis_bridging.h (removed), + apps/app_agent_pool.c, res/parking/res_parking.h, + include/asterisk/bridge_channel_internal.h (added), + channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c, + main/bridge_after.c (added), funcs/func_channel.c, + include/asterisk/bridging_basic.h (removed), + include/asterisk/bridge_internal.h (added): A great big renaming + patch This patch renames the bridging* files to bridge*. This may + seem pedantic and silly, but it fits better in line with current + Asterisk naming conventions: * channel is not "channeling" * + monitor is not "monitoring" etc. A bridge is an object. It is a + first class citizen in Asterisk. "Bridging" is the act of using a + bridge on a set of channels - and the API that fulfills that role + is more than just the action. (closes issue ASTERISK-22130) + + * main/bridging.c, main/bridging_basic.c, apps/app_dial.c, + include/asterisk/bridging_after.h (added), + bridges/bridge_softmix.c, + include/asterisk/bridging_channel_internal.h, apps/app_queue.c, + res/parking/parking_bridge_features.c, apps/app_agent_pool.c, + include/asterisk/bridging_channel.h, main/bridging_after.c + (added), include/asterisk/bridging_technology.h, + include/asterisk/bridging_internal.h, + bridges/bridge_builtin_features.c, + include/asterisk/bridging_features.h, funcs/func_channel.c, + main/bridging_channel.c, main/features.c, + include/asterisk/bridging.h, + bridges/bridge_builtin_interval_features.c: Move after bridge + callbacks into their own file One more major refactoring to go. + +2013-07-25 00:44 +0000 [r395351] Joshua Colp + + * channels/chan_gulp.c, res/res_sip_session.c, + res/res_sip/sip_distributor.c: Improve initial INVITE handling + and fix crash due to rapidly arriving CANCEL. (closes issue + ASTERISK-22150) Review: https://reviewboard.asterisk.org/r/2696/ + +2013-07-24 23:40 +0000 [r395316-395340] Richard Mudgett + + * include/asterisk/bridging_channel_internal.h, main/bridging.c, + include/asterisk/bridging_features.h, main/bridging_channel.c: + Simplify interval hooks since there is only one bridge threading + model now. * Convert interval timers to use the + ast_waitfor_nandfds() timeout. * Remove bridge channel action for + intervals. Now the main loop handles running interval hooks. + + * main/bridging.c, include/asterisk/bridging_features.h, + main/bridging_channel.c, apps/app_confbridge.c: Refactor + ast_bridge_features struct. * Reduced the number of hook + containers to just dtmf_hooks, interval_hooks, and other_hooks. + As a result, several functions dealing with the different hook + containers could be combined. * Extended the generic hook struct + for DTMF and interval hooks instead of using a variant record. * + Merged the special talk detector hook into the other_hooks + container. * Replaced ast_bridge_features_set_talk_detector() + with ast_bridge_talk_detector_hook(). (issue ASTERISK-22107) + + * main/features.c: * Refactor setup_bridge_features_builtin(). * + Add an error message so you know when a feature is not available + and you tried to use it. It usually means the module has not been + loaded. + +2013-07-24 19:32 +0000 [r395295-395298] Matthew Jordan + + * main/asterisk.exports.in: Export exports.in as well Because is is + rather needed. + + * bridges/bridge_builtin_features.c, + include/asterisk/bridging_features.h, main/bridging_channel.c, + bridges/bridge_builtin_interval_features.c, + include/asterisk/bridging_channel_internal.h, main/bridging.c, + res/parking/parking_bridge_features.c, apps/app_agent_pool.c, + include/asterisk/bridging_channel.h, main/bridging_basic.c: + Update bridge_channel refactorings; export bridge_ symbol + +2013-07-24 18:51 +0000 [r395283] Jason Parker + + * contrib/scripts/install_prereq: Add pjproject to install_prereq. + Also fixes spacing, in passing. (closes issue ASTERISK-22131) + +2013-07-24 18:08 +0000 [r395267-395271] Kinsey Moore + + * res/res_sip.c: Tweak another magic number + + * main/manager_bridging.c: Make AMI BridgeInfo action more verbose + Ensure that the BridgeInfo command provides adequate state + information about channels by publishing the full channel + snapshot for BridgeInfoChannel subevents. This prevents a + two-stage lookup since most consumers will be keying on channel + names instead of uniqueids. (closes issue ASTERISK-22140) + + * res/res_sip/sip_global_headers.c: Tweak a magic number (closes + issue ASTERISK-22146) + +2013-07-24 16:01 +0000 [r395254-395255] Richard Mudgett + + * main/bridging_channel.c, + include/asterisk/bridging_channel_internal.h, + include/asterisk/bridging_channel.h, main/channel.c: Add missing + end-of-file line terminators. + + * bridges/bridge_native_rtp.c: Add missing line terminator to debug + message. + +2013-07-24 15:38 +0000 [r395253] Matthew Jordan + + * res/parking/parking_bridge_features.c, apps/app_agent_pool.c, + include/asterisk/bridging_channel.h (added), + res/parking/parking_bridge.c, include/asterisk/features.h, + main/channel.c, include/asterisk/bridging_technology.h, + include/asterisk/bridging_internal.h, + bridges/bridge_builtin_features.c, main/bridging_channel.c + (added), main/features.c, include/asterisk/bridging.h, + bridges/bridge_builtin_interval_features.c, main/bridging.c, + main/bridging_basic.c, include/asterisk/channel.h, + include/asterisk/bridging_channel_internal.h (added): Perform the + initial renaming of the Bridging API This patch does the + following: * It pulls out bridge_channel and puts it into its own + translation unit * It adds public and protected headers for + bridging_channel. Protected functions are appropriate only for + the Bridging API and sub-classes of a bridge. (issue + ASTERISK-22130) + +2013-07-24 14:35 +0000 [r395243] Richard Mudgett + + * main/bridging.c: Let the compiler do more type checking with + bridge hook callbacks. + +2013-07-23 22:32 +0000 [r395227] Joshua Colp + + * bridges/bridge_native_rtp.c: Fix a check in bridge_native_rtp + which determined if attaching the framehook failed or not. + +2013-07-23 21:32 +0000 [r395215] Jonathan Rose + + * funcs/func_channel.c, include/asterisk/bridging_basic.h, + main/bridging_basic.c: func_channel: dtmf_features setting Allows + reading andsetting dtmf features via a channel function + CHANNEL(dtmf_features) (closes issue ASTERISK-21876) Reported by: + Matt Jordan Review: https://reviewboard.asterisk.org/r/2648/ + +2013-07-23 21:14 +0000 [r395203-395205] Joshua Colp + + * bridges/bridge_native_rtp.c: Add some debug messages to make it + clear what RTP bridging functionality is in use. + + * bridges/bridge_native_rtp.c: Fix some logic so native RTP bridge + will occur when monitor, audiohooks, or framehooks are not + present. + +2013-07-23 19:14 +0000 [r395188] Richard Mudgett + + * include/asterisk/bridging.h, bridges/bridge_softmix.c, + main/bridging.c: Pull softmix bridge parameters into a sub + structure. + +2013-07-23 18:41 +0000 [r395183] Joshua Colp + + * channels/chan_gulp.c: Drop the reference count on the correct + object. + +2013-07-23 18:41 +0000 [r395154-395182] Richard Mudgett + + * main/utils.c, channels/chan_dahdi.c: Reinclude sys/stat.h in + chan_dahdi.c and remove redundant include in utils.c + + * channels/dahdi/bridge_native_dahdi.c, channels/chan_dahdi.h, + channels/chan_mgcp.c, channels/chan_dahdi.c: Some chan_dahdi + protected function renaming. analog_lib_handles --> + dahdi_analog_lib_handles enable_dtmf_detect --> + dahdi_dtmf_detect_enable disable_dtmf_detect --> + dahdi_dtmf_detect_disable dahdi_enable_ec --> dahdi_ec_enable + dahdi_disable_ec --> dahdi_ec_disable update_conf --> + dahdi_conf_update dahdi_link --> dahdi_master_slave_link + dahdi_unlink --> dahdi_master_slave_unlink (closes issue + ASTERISK-22129) Reported by: rmudgett + + * channels/chan_dahdi.c, channels/dahdi/bridge_native_dahdi.c, + channels/chan_dahdi.h (added), channels/dahdi (added), + channels/dahdi/bridge_native_dahdi.h, bridges/bridge_softmix.c, + channels/Makefile, main/bridging.c: Restore chan_dahdi native + bridging and PRI tromboned call elimination. Created a + native_dahdi bridging technology for use with the new bridging + API. The new bridging technology is part of the chan_dahdi + channel driver because it is very specific to that driver. Rather + than include the new code directly into chan_dahdi.c the new + bridge technology is in its own file and linked into + chan_dahdi.so. A large part of this change is the mechanical + process of moving declarations around so chan_dahdi.c can be + split up into more files later. * Changed the bridging core to + pass NULL frames into the channel technologies instead of + discarding them. The channel technologies may need the proding to + determine if their configuration is still valid. (closes issue + ASTERISK-21886) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2681/ + +2013-07-23 15:28 +0000 [r395151] Mark Michelson + + * main/bridging_roles.c, include/asterisk/bridging_internal.h + (added), bridges/bridge_builtin_features.c, + main/stasis_bridging.c, include/asterisk/bridging_features.h, + include/asterisk/features_config.h, include/asterisk/bridging.h, + main/features.c, include/asterisk/bridging_roles.h, main/cel.c, + main/features_config.c, include/asterisk/stasis_bridging.h, + main/bridging.c, main/bridging_basic.c: Make DTMF attended + transfer support feature-complete. This greatly modifies the + operation of DTMF attended transfers so that the full range of + options from features.conf applies. In addition, a new option has + been added that allows for a transferer to switch between bridges + during a transfer before completing the transfer. (closes issue + ASTERISK-21543) reported by Matt Jordan Review: + https://reviewboard.asterisk.org/r/2654 + +2013-07-23 14:57 +0000 [r395136] David M. Lee + + * res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c, + res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c, + res/res_stasis_http.c, res/res_stasis_http_endpoints.c, + res/res_stasis_http_asterisk.c, res/res_stasis_http_playback.c, + rest-api-templates/res_stasis_http_resource.c.mustache: No more + teapots. Now that the ARI implementation is nearing some + definition of completeness, we should properly respond with 501's + for unimplemented functionality, instead of the almost humorous + 418. + +2013-07-23 14:49 +0000 [r395135] Matthew Jordan + + * main/channel.c: Kill the zombies In previous versions of + Asterisk, the zombies roamed freely, unchecked and uncontrolled. + They ravaged Asterisk systems with their biting and their nashing + and their pointy teeth. Sometimes, you couldn't even hang them + up. Now, zombies are rare. They still *technically* exist in + certain places, but they are controlled. Kind of like a zombie + zoo: you can see them, but you can't touch them, and they can't + touch you. Bring your kids! Because zombies are now population + controlled with a very short lifespan, there's no reason to + rename the channels to '%s'. The channels are guaranteed + to die off quickly; the rename really is just confusing at this + point. This patch finally removes the renaming. On the plus side: + this made my life easier in CDRs during call pickup and attended + transfers to an Asterisk application. It will make other folks + lives easier as well! Review: + https://reviewboard.astierks.org/r/2690/ (closes issue + ASTERISK-21699) Reported by: Matt Jordan + +2013-07-23 13:52 +0000 [r395121] Kinsey Moore + + * res/res_sip_sdp_rtp.c, channels/chan_gulp.c, res/res_sip.c, + channels/chan_sip.c, res/res_sip/sip_configuration.c, + res/res_sip_session.c, include/asterisk/res_sip.h, + include/asterisk/res_sip_session.h: Add DTLS-SRTP support to + chan_pjsip This patch introduces DTLS-SRTP support to chan_pjsip + and the options necessary to configure it including an option to + allow choosing between 32 and 80 byte SRTP tag lengths. During + the implementation and testing of this patch, three other bugs + were found and their fixes are included with this patch. The two + in chan_sip were a segfault relating to DTLS setup and mistaken + call rejection. The third bug fix prevents chan_pjsip from + attempting to perform bridge optimization between two endpoints + if either of them is running any form of SRTP. Review: + https://reviewboard.asterisk.org/r/2683/ (closes issue + ASTERISK-21419) + +2013-07-23 13:42 +0000 [r395118-395120] David M. Lee + + * res/res_stasis.c, res/stasis/app.c, res/stasis/app.h: Continue + events when ARI WebSocket reconnects This patch addresses a bug + in the /ari/events WebSocket in handling reconnects. When a + Stasis application's associated WebSocket was disconnected and + reconnected, it would not receive events for any channels or + bridges it was subscribed to. The fix was to lazily clean up + Stasis application registrations, instead of removing them as + soon as the WebSocket goes away. When an application is + unregistered at the WebSocket level, the underlying application + is simply deactivated. If the application WebSocket is + reconnected, the application is reactivated for the new + connection. To avoid memory leaks from lingering, unused + application, the application list is cleaned up whenever new + applications are registered/unregistered. (closes issue + ASTERISK-21970) Review: https://reviewboard.asterisk.org/r/2678/ + + * main/manager_channels.c, main/cdr.c, + main/stasis_message_router.c, main/manager_bridging.c, + include/asterisk/stasis_message_router.h, tests/test_stasis.c: + Fix bridge/channel AMI event ordering issues The + stasis_cache_update messages are somewhat cumbersome to handle + with the stasis_message_router. Since all updates have the same + message type, they are normally handled with the same route. + Since caching itself is a first class component of stasis-core, + it makes sense for the router to handle the cache update messages + itself. This patch adds stasis_message_router_add_cache_update() + and stasis_message_router_remove_cache_update() to handle the + routing of stasis_cache_update messages. This patch also corrects + an issue with manager_{bridging,channels}.c, where events might + be reordered. The reordering occurs because the components use + different message routers, which they needed because they both + needed to route cache update messages. They now both use + manager's router, and add cache routes for just the cache updates + they are interested in. (closes issue ASTERISK-22038) Review: + https://reviewboard.asterisk.org/r/2677/ + +2013-07-23 12:56 +0000 [r395107] Kinsey Moore + + * res/res_sip/sip_options.c: Add missing newline + +2013-07-23 12:27 +0000 [r395102] Joshua Colp + + * include/asterisk/res_sip_session.h, + res/res_sip_session.exports.in, channels/chan_gulp.c, + res/res_sip_session.c: Expose the chan_pjsip implementation pvt + and session in a defined manner. This allows modules outside of + chan_pjsip itself to get the session given only an Asterisk + channel. Review: https://reviewboard.asterisk.org/r/2674/ + +2013-07-23 00:16 +0000 [r395089] Matthew Jordan + + * main/cdr.c: Fix unbalanced lock when serializing CDR variables + I'm only surprised that this didn't cause larger problems. + +2013-07-23 00:02 +0000 [r395088] Richard Mudgett + + * main/bridging.c: Remove some BUGBUG notes that have been handled. + +2013-07-22 20:42 +0000 [r395074] Kinsey Moore + + * tests/test_cel.c: Make the CEL blind transfer test pass + consistently + +2013-07-22 13:52 +0000 [r394881-395034] Matthew Jordan + + * /, main/asterisk.c: Update copyright year to 2013 in asterisk.c; + some whitespace fixes (closes issue ASTERISK-22179) Reported by: + Malcolm Davenport ........ Merged revisions 395032 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 395033 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, funcs/func_channel.c: Clean up documentation This patch cleans + up documentation in func_channel for the following items: * + rtpsource * secure_signaling * secure_media * various OOH323 + parameters (closes issue ASTERISK-20969) Reported by: snuffy + patches: func_chan-update.diff uploaded by snuffy (License 5024) + ........ Merged revisions 394980 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394981 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, configs/indications.conf.sample: Provide proper ring tone in + indications.conf for Malaysia The ring tone provided in the + sample indications.conf was incorrect. This patch modifies the + sample ring tone to be what it should: ring = + 425/400,0/200,425/400,0/2000 This brings it in line with the tone + definition in DAHDI 2.7.0. (zonedata.c) (closes issue + ASTERISK-21997) Reported by: Filip Jenicek patches: + malaysia_ring.patch uploaded by phill (License 6277) ........ + Merged revisions 394940 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394941 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * Makefile, configs/safe_asterisk.conf.sample (added), CHANGES, + contrib/scripts/safe_asterisk: Always install safe_asterisk; add + configuration file support This patch modifies the behavior of + safe_asterisk in two ways: (1) It modifies the Asterisk Makefile + such that safe_asterisk is always installed on a 'make install'. + This was done as bugfixes in the safe_asterisk script were not + applied in previous version of Asterisk without first removing + the old version of the script. (2) In order to keep a newly + installed version of safe_asterisk from impacting local + modifications, a new config file - safe_asterisk.conf.sample - + has been provided. Settings that were previously modified in + safe_asterisk can be set there instead. (closes issue + ASTERISK-21965) Reported by: Jeremy Kister patches: + safe_asterisk.patch uploaded by jkister (License 6232) + + * main/http.c, /: Tolerate presence of RFC2965 Cookie2 header by + ignoring it This patch modifies parsing of cookies in Asterisk's + http server by doing an explicit comparison of the "Cookie" + header instead of looking at the first 6 characters to determine + if the header is a cookie header. This avoids parsing "Cookie2" + headers and overwriting the previously parsed "Cookie" header. + Note that we probably should be appending the cookies in each + "Cookie" header to the parsed results; however, while clients can + send multiple cookie headers they never really do. While this + patch doesn't improve Asterisk's behavior in that regard, it + shouldn't make it any worse either. Note that the solution in + this patch was pointed out on the issue by the issue reporter, + Stuart Henderson. (closes issue ASTERISK-21789) Reported by: + Stuart Henderson Tested by: mjordan, Stuart Henderson ........ + Merged revisions 394899 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394900 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, contrib/realtime/postgresql/realtime.sql: Update PostgreSQL + realtime scripts with schema for queue_log table This patch + updates the realtime SQL scripts with an entry that will create + the queue_log table. This brings the PostgreSQL scripts inline + with the MySQL scripts, with respect to what tables they will + create. (closes issue ASTERISK-21021) Reported by: Eugene + patches: queue_log.sql uploaded by varnav (license 6360) ........ + Merged revisions 394896 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394897 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/iax2/parser.c: Add additional control frame types to the + IAX2 parser for debug messages This patch adds some of the more + recent control frame types to the IAX2 parser. When IAX2 + debugging is enabled, it will now show more of the control frame + types. (closes issue ASTERISK-22120) Reported by: Birger "WIMPy" + Harzenetter patches: iaxcmds.diff uploaded by wimpy + + * configs/iax.conf.sample, /: Document connectedline parameter for + chan_iax2 The connectedline parameter for a chan_iax2 peer was + undocumented. This patch documents the options in the sample + configuration file. (closes issue ASTERISK-21953) Reported by: + Birger "WIMPy" Harzenetter ........ Merged revisions 394886 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394890 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * CHANGES, main/manager.c: Allow setting allowmultiplelogin on an + account basis This patch modifies manager to allow the + allowmultiplelogin setting to be set on an account by account + basis. When set in the general context, it will act as the + default for the defined accounts. Setting it in the account will + override the general setting. (closes issue ASTERISK-21324) + Reported by: vldmr patches: + asterisk-manager-per-user-allowmultiplelogin.patch uploaded by + vldmr (License 6487) + +2013-07-20 13:25 +0000 [r394858-394870] Kinsey Moore + + * include/asterisk/cel.h, tests/test_cel.c, CHANGES, main/cel.c, + main/asterisk.c: Add CEL local optimization record type This adds + a new CEL event type, AST_CEL_LOCAL_OPTIMIZE, to represent local + channel optimizations. Local channel optimizations were one of + several things conveyed by the now defunct BRIDGE_UPDATE event + type. This also adds a unit test to test generation of this new + CEL event. Review: https://reviewboard.asterisk.org/r/2676/ + + * channels/chan_sip.c, include/asterisk/cel.h, + apps/app_celgenuserevent.c, apps/app_directed_pickup.c, + main/features.c, tests/test_cel.c, CHANGES, apps/app_queue.c, + main/cel.c, apps/app_dial.c, main/channel.c, + channels/chan_dahdi.c, main/pbx.c, channels/sig_analog.c: Add + transfer support to CEL This adds CEL support for blind and + attended transfers and call pickup. During the course of adding + this functionality I noticed that CONF_ENTER, CONF_EXIT, and + BRIDGE_TO_CONF events are particularly useless without a bridge + identifier, so I added that as well. This adds tests for blind + transfers, several types of attended transfers, and call pickup. + The extra field in CEL records now consists of a JSON blob whose + fields are defined on a per-event basis. Review: + https://reviewboard.asterisk.org/r/2658/ (closes issue + ASTERISK-21565) + +2013-07-20 01:11 +0000 [r394825-394846] Richard Mudgett + + * include/asterisk/astobj2.h: Regroup the ao2 search_flags. Moved + the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags together into + a field and renamed them to OBJ_SEARCH_OBJECT, OBJ_SEARCH_KEY, + and OBJ_SEARCH_PARTIAL_KEY respectively. The values were selected + to keep existing code compiling and working until the codebase + can be changed to stop using these values as bit flags and use + them as an enum field. The old names are defined to the new names + for backward compatibility. + + * main/audiohook.c, main/channel.c, include/asterisk/audiohook.h: + Minor optimizations. * Made ast_audiohook_detach_list() and + ast_audiohook_write_list_empty() NULL tolerant. * Made + ast_audiohook_detach_list() return void since it is a destructor. + + * main/bridging.c, main/channel.c, include/asterisk/channel.h, + bridges/bridge_native_rtp.c: Extract a repeated test into + ast_channel_has_audio_frame_or_monitor(). + +2013-07-19 19:40 +0000 [r394809-394810] Jonathan Rose + + * res/stasis/control.c, res/stasis_http/resource_channels.c, + res/res_stasis_http_channels.c, include/asterisk/stasis_app.h, + res/stasis_http/resource_channels.h, + rest-api/api-docs/channels.json: ARI: MOH start and stop for a + channel (issue ASTERISK-21974) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2680/ + + * rest-api/api-docs/channels.json, res/res_stasis_http_bridges.c, + res/res_stasis.c, rest-api/api-docs/recordings.json, + include/asterisk/core_unreal.h, res/res_stasis_http_playback.c, + res/res_stasis_playback.c, channels/chan_bridge_media.c (added), + res/stasis/control.c, res/stasis_http/ari_model_validators.c, + res/res_stasis_http_channels.c, main/core_unreal.c, + include/asterisk/stasis_app.h, + res/stasis_http/resource_bridges.c, + res/stasis_http/ari_model_validators.h, + res/stasis_http/resource_bridges.h, + include/asterisk/stasis_app_playback.h, + rest-api/api-docs/bridges.json, include/asterisk/logger.h, + res/stasis_http/resource_channels.c, + rest-api/api-docs/playback.json: ARI: Bridge Playback, Bridge + Record Adds a new channel driver for creating channels for + specific purposes in bridges, primarily to act as either + recorders or announcers. Adds ARI commands for playing + announcements to ever participant in a bridge as well as for + recording a bridge. This patch also includes some + documentation/reponse fixes to related ARI models such as + playback controls. (closes issue ASTERISK-21592) Reported by: + Matt Jordan (closes issue ASTERISK-21593) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2670/ + +2013-07-19 19:23 +0000 [r394795-394808] Kinsey Moore + + * main/manager_bridging.c, include/asterisk/channel.h, + main/stasis_channels.c, main/cel.c, + apps/confbridge/conf_chan_announce.c, main/manager_channels.c, + res/parking/parking_manager.c, main/cdr.c, + include/asterisk/stasis_channels.h, + apps/confbridge/conf_chan_record.c, + apps/confbridge/confbridge_manager.c: Filter channels used as + internal mechanisms This adds new flags to the channel tech + properties that flag it as different types of implementation + detail used exclusively to provide a feature. Examples of + channels that would have these flags include the announcement and + recording channels used by confbridge which are the only two + marked as such by this patch. Review: + https://reviewboard.asterisk.org/r/2633/ (closes issue + ASTERISK-21873) + + * channels/chan_sip.c: Fix crash when using temporary peers + Temporary peers do not have an associated Stasis endpoint and + quite a bit of code in chan_sip assumes that all peers have a + Stasis endpoint. All endpoint accesses in chan_sip are now + wrapped in an endpoint NULL-check. + +2013-07-19 18:00 +0000 [r394793] Jason Parker + + * include/asterisk/stasis_system.h, main/stasis_system.c, + main/ccss.c: Convert CCSS manager events to stasis. (closes issue + ASTERISK-21473) Review: https://reviewboard.asterisk.org/r/2682/ + +2013-07-19 17:55 +0000 [r394776-394791] Richard Mudgett + + * main/bridging.c: Made audiohooks, framehooks, and monitor prevent + local channel optimization. Audiohooks, framehooks, and monitor + represent state on a local channel that will go away if it is + optimized out. (closes issue ASTERISK-21954) Reported by: + rmudgett Review: https://reviewboard.asterisk.org/r/2685/ + + * include/asterisk/channel.h: Fixup doxygen on ast_hangup(). + +2013-07-18 19:25 +0000 [r394759] Mark Michelson + + * res/res_sip_session.c, res/res_sip/sip_global_headers.c (added), + res/res_sip/config_system.c (added), + res/res_sip_one_touch_record_info.c, res/res_sip_mwi.c, + res/res_sip_pubsub.c, res/res_sip/config_transport.c, + res/res_sip/sip_configuration.c, res/res_sip_refer.c, + include/asterisk/res_sip.h, res/res_sip/config_global.c (added), + res/res_sip/include/res_sip_private.h, res/res_sip.exports.in, + res/res_sip_sdp_rtp.c, channels/chan_gulp.c, + res/res_sip_caller_id.c, res/res_sip.c: Add a bunch of options + from sip.conf to res_sip.conf For a complete list of the options + added, see the review linked at the bottom of this commit + message. (closes issue ASTERISK-21506) reported by Matt Jordan + Review: https://reviewboard.asterisk.org/r/2671 + +2013-07-18 18:05 +0000 [r394744] David M. Lee + + * res/res_http_websocket.c: Fixed null dereference when WebSocket + subprotocol isn't specified + +2013-07-18 16:49 +0000 [r394731] Jonathan Rose + + * main/bridging_roles.c, bridges/bridge_holding.c, + apps/app_bridgewait.c: bridge_holding/app_bridgewait: Add new + entertainment options This patch adds more entertainment options + to holding bridges and the bridge_wait application. Also, holding + bridges will now use music on hold as the default entertainment + option instead of none. The parameters for app_bridgewait have + changed to (role, options) from the previous (options) and the + options themselves have changed as well (entertainment options + are now contained in an enumerator, role specification is handled + by the role parameter, etc) (closes issue ASTERISK-21923) + Reported by: Matthew Jordan Review: + https://reviewboard.asterisk.org/r/2679/ + +2013-07-18 16:03 +0000 [r394715] Jason Parker + + * main/channel.c, res/stasis/control.c, + res/stasis_http/resource_channels.c, + include/asterisk/stasis_app.h, include/asterisk/channel.h, + res/res_mutestream.c: ARI: Add support for suppressing media + streams. Also convert res_mutestream to use the core feature + behind this. (closes issue ASTERISK-21618) Review: + https://reviewboard.asterisk.org/r/2652/ + +2013-07-18 14:50 +0000 [r394701] Matthew Jordan + + * main/http.c: Tweak debug statements This patch does two things: + 1. It moves the debug statement that shows the HTTP sub-protocols + being compared after the string length calculation such that it + shows the correct string length in the output 2. It adds some + additional debug that displays when it matches on a sub-protocol + and when it fails + +2013-07-18 14:08 +0000 [r394686] David M. Lee + + * main/stasis_cache.c: Fix caching topic shutdown assertions The + recent changes to update stasis_cache_topics directly from the + publisher thread uncovered a race condition, which was causing + asserts in the /stasis/core tests. If the caching topic's + subscription is the last reference to the caching topic, it will + destroy the caching topic after the final message has been + processed. When dispatching to a different thread, this usually + gave the unsubscribe enough time to finish before destruction + happened. Now, however, it consistently destroys before + unsubscription is complete. This patch adds an extra reference to + the caching topic, to hold it for the duration of the + unsubscription. This patch also removes an extra unref that was + happening when the final message was received by the caching + topic. It was put there because of an extra ref that was put into + the caching topic's constructor. Both have been removed, which + makes the destructor a bit less confusing. Review: + https://reviewboard.asterisk.org/r/2675/ + +2013-07-18 12:54 +0000 [r394642] Michael L. Young + + * res/res_agi.c, /: Properly indicate failure to open an audio + stream in res_agi If there is an error streaming an audio file, + the current return status makes it difficult for an AGI script to + determine that there was an error with the audio file. This + patches changes the result to return -1 and the function returns + RESULT_FAILURE instead of RESULT_SUCCESS. From looking at other + parts of res_agi, this would appear to be the proper way to + handle an error. (closes issue ASTERISK-21903) Reported by: Ariel + Wainer Tested by: Ariel Wainer Patches: + asterisk-21903-return-stream-res_1.8.diff by Michael L. Young + (license 5026) Review: https://reviewboard.asterisk.org/r/2625/ + ........ Merged revisions 394640 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394641 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-07-17 22:30 +0000 [r394600-394623] Richard Mudgett + + * main/dial.c, apps/app_meetme.c, tests/test_app.c, + main/features.c, tests/test_voicemail_api.c, tests/test_cel.c, + include/asterisk/channel.h, addons/chan_mobile.c, + tests/test_cdr.c, tests/test_stasis_endpoints.c, + apps/app_voicemail.c, main/channel.c: Change ast_hangup() to + return void and be NULL safe. Since ast_hangup() is effectively a + channel destructor, it should be a void function. * Make the few + silly callers checking the return value no longer do so. Only the + CDR and CEL unit tests checked the return value. * Make all + callers take advantage of the NULL safe change and remove the + NULL check before the call. + + * main/features.c: Remove some completed and no longer relevant + BUGBUG notes. + +2013-07-17 18:26 +0000 [r394583] Jonathan Rose + + * apps/confbridge/conf_chan_announce.c: app_confbridge: Eliminate a + reference leak for confbridge announcer channels + +2013-07-17 17:49 +0000 [r394552-394567] Tzafrir Cohen + + * channels/chan_dahdi.c: Left over spacing issues of review 726. + + * channels/chan_dahdi.c: handle DAHDI_EVENT_REMOVED on a pri + D-Channel When a DAHDI device is removed at run-time it sends the + event DAHDI_EVENT_REMOVED on each channel. This is intended to + signal the userspace program to close the respective file handle, + as the driver of the device will need all of them closed to + properly clean-up. This event has long since been handled in + chan_dahdi (chan_zap at the time). However the event that is sent + on a D-Channel of a "PRI" (ISDN) span simply gets ignored. This + commit adds handling for closing the file descriptor (and + shutting down the span, while we're at it). It also adds a CLI + command 'pri destroy span ' to destroy the span and its DAHDI + channels. Review: https://reviewboard.asterisk.org/r/726/ + +2013-07-16 22:33 +0000 [r394530-394531] Matthew Jordan + + * apps/app_confbridge.c, CHANGES: Add 'kick all' capability to + ConfBridge CLI command This patch adds the ability to kick all + users out of a conference from the ConfBridge kick CLI command. + It is invoked by passing 'all' as the channel parameter to the + CLI command, i.e., "confbridge kick all". Note that this + patch was modified slightly to conform to trunk. (closes issue + ASTERISK-21827) Reported by: dorianlogan patches: + kickall-patch_v2.diff uploaded by dorianlogan (License 6504) + + * main/cel.c: Re-order handlers in CEL to ensure that HANGUP events + happen after APP_END When a channel is hungup, both an APP_END + event and a HANGUP event can be fired. To ensure that HANGUP + events occur after APP_END events, the method callbacks for the + APP_END event should be processed prior to the callbacks for the + HANGUP event. + +2013-07-16 21:44 +0000 [r394513] David M. Lee + + * res/stasis_http/ari_websockets.c: Debug logging to help with + WebSocket connection problems + +2013-07-16 20:00 +0000 [r394489] Richard Mudgett + + * channels/chan_gulp.c: chan_gulp: Fix gulp_indicate() handling of + AST_CONTROL_PVT_CAUSE_CODE. + +2013-07-16 19:13 +0000 [r394473] Mark Michelson + + * res/res_sip_session.c: Prevent crash from trying to end a session + in an invalid way. This ensures that code that was only meant to + be run on a reinvite failure only runs on a reinvite failure. + (closes issue ASTERISK-22061) reported by Rusty Newton + +2013-07-16 18:49 +0000 [r394470-394471] Richard Mudgett + + * main/channel.c, channels/chan_sip.c: Remove some dead code + dealing with old bridging method. + + * bridges/bridge_simple.c: Simplify bridge_simple chan join code. + +2013-07-16 18:22 +0000 [r394469] Matthew Jordan + + * main/cdr.c: Re-order cleanup This patch attempts to fix some + possible race conditions in shutdown of the CDR engine. It: * + Adds a cleanup handler to only unsubscribe and join on stasis + messages during graceful shutdown. The cleanup handler should + execute before the regular atexit handler, as we want to + unsubscribe for any further messages before dispatching the CDRs. + * The CDRs are now locked when we dispatch them on shutdown. + +2013-07-16 15:30 +0000 [r394442] David M. Lee + + * res/res_http_websocket.c: Fixed null dereference when WebSocket + protocol is omitted + +2013-07-15 23:20 +0000 [r394417] Richard Mudgett + + * include/asterisk/config_options.h, + include/asterisk/stasis_channels.h, channels/chan_agent.c + (removed), configs/queues.conf.sample, + include/asterisk/bridging.h, UPGRADE.txt, main/stasis_channels.c, + CHANGES, main/bridging.c, apps/app_agent_pool.c (added), + configs/agents.conf.sample: Replace chan_agent with + app_agent_pool. The ill conceived chan_agent is no more. It is + now replaced by app_agent_pool. Agents login using the + AgentLogin() application as before. The AgentLogin() application + no longer does any authentication. Authentication is now the + responsibility of the dialplan. (Besides, the authentication done + by chan_agent did not match what the voice prompts asked for.) + Sample extensions.conf [login] ; Sample agent 1001 login ; Set + COLP for in between calls so the agent does not see the last + caller COLP. exten => 1001,1,Set(CONNECTEDLINE(all)="Agent + Waiting" <1001>) ; Give the agent DTMF transfer and disconnect + features when connected to a caller. same => + n,Set(CHANNEL(dtmf-features)=TX) same => n,AgentLogin(1001) same + => n,NoOp(AGENT_STATUS is ${AGENT_STATUS}) same => n,Hangup() + [caller] ; Sample caller direct connect to agent 1001 exten => + 800,1,AgentRequest(1001) same => n,NoOp(AGENT_STATUS is + ${AGENT_STATUS}) same => n,Hangup() ; Sample caller going through + a Queue to agent 1001 exten => 900,1,Queue(agent_q) same => + n,Hangup() Sample queues.conf [agent_q] member => + Local/800@caller,,SuperAgent,Agent:1001 Under the hood operation + overview: 1) Logged in agents wait for callers in an agents + holding bridge. 2) Caller requests an agent using AgentRequest() + 3) A basic bridge is created, the agent is notified, and caller + joins the basic bridge to wait for the agent. 4) The agent is + either automatically connected to the caller or must ack the call + to connect. 5) The agent is moved from the agents holding bridge + to the basic bridge. 6) The agent and caller talk. 7) The + connection is ended by either party. 8) The agent goes back to + the agents holding bridge. To avoid some locking issues with the + agent holding bridge, I needed to make some changes to the after + bridge callback support. The after bridge callback is now a list + of requested callbacks with the last to be added the only active + callback. The after bridge callback for failed callbacks will + always happen in the channel thread when the channel leaves the + bridging system or is destroyed. (closes issue ASTERISK-21554) + Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2657/ + +2013-07-15 22:05 +0000 [r394402] Mark Michelson + + * include/asterisk/stasis_channels.h: Remove misleading + documentation for channel snapshot creation. + +2013-07-15 21:22 +0000 [r394397] David M. Lee + + * res/res_stasis_http.c: Document the ari.conf allowed_origins + setting + +2013-07-15 13:43 +0000 [r394370] Joshua Colp + + * res/res_sip_session.c, include/asterisk/res_sip_session.h: Remove + some callbacks and functions which are not needed. + +2013-07-14 02:41 +0000 [r394278-394346] Matthew Jordan + + * /, apps/app_queue.c: Provide error message for QUEUE_MEMBER when + member is not in queue When QUEUE_MEMBER is used and the member + specified is not in the queue, Asterisk provides an ERROR message + that indicates that the option specified is not valid. This patch + now properly displays an ERROR message that the member is not in + the queue if an interface is specified. (closes issue + ASTERISK-21980) Reported by: Avraam David ........ Merged + revisions 394345 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/dns.c: Remove redundant code in dns.c Peter J Philipp + pointed out that there are two checks that ensure that len is not + less than 0. If len is less than 0, the function returns. Having + both of them is clearly redundant. This removes the second and + attempts to clarify (slightly) the error condition. (closes issue + ASTERISK-21772) Reported by: Peter J Philipp + + * /, funcs/func_strings.c: Clarify documentation for function + PASSTHRU It is not apparent to the average user that the PASSTHRU + function should not be passed as ${PASSTHRU(string)} but just as + PASSTHRU(string) to functions which take a variable name and not + its contents. This patch clarifies the behavior in the + documentation and provides an example. (closes issue + ASTERISK-21717) Reported by: Richard Miller patches: + func_strings.diff uploaded by Richard Miller (license 5685) + ........ Merged revisions 394302 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394303 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/bridging.c, main/cdr.c: Fix FRACK message from external + redirects; handle outbound channels better This patch does the + following: * It simplifies the Dial handling in CDRs. As a rule, + the caller in a dial relationship is always the Party A. There + was some logic present in the handling of the dial message that + could, conceivably, pick the caller as Party A for the beginning + of the dial and the peer as Party A for the end of the dial. This + shouldn't have happened if the code in the bridging framework was + doing its job; however, that was broken and it led to the FRACK. + As it is, this code was overly ocmplex and not needed: the + caller, if present, should always be Party A. Period. * It + properly checks to see if a channel will continue on in the + dialplan. ast_check_hangup - much like cake at the end - is a + lie. It will tell you that you are hungup when you are not. Do + not believe it. I would make this function tell the truth, but + I'm nervous that we've been depending on it sitting on its throne + of lies for far too long, and it would probably break lots of + things. So I'm just checking the "internal" soft hangup flags, + like everyone else. (closes issue ASTERISK-22060) Reported by: + Mark Michelson (issue ASTERISK-21831) Reported by: Matt Jordan + + * channels/chan_sip.c: Pretty up a debug message if the + referred-by-uri isn't available Instead of formatting a NULL + pointer into a "%s" format string (which is usually not a good + thing to do), we instead print "Unknown". + +2013-07-12 22:35 +0000 [r394263] Moises Silva + + * channels/chan_dahdi.c, /: Fix a longstanding issue with MFC-R2 + configuration that prevented users from mixing different variants + or general MFC-R2 settings within the same E1 line. Most users do + not have a problem with this since MFC-R2 lines are usually + fractional E1s, or the whole E1 has the same country variant and + R2 settings. In Venezuela however is common to have inbound + MFC-R2 and outbound DTMF-R2 within the same E1. This fix now + properly parses the chan_dahdi.conf file to generate a new openr2 + context every time a new channel => section is found and the + configuration was changed. (closes issue ASTERISK-21117) Reported + by: Rafael Angulo Related Elastix issue: + http://bugs.elastix.org/view.php?id=1612 ........ Merged + revisions 394106 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 394173 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-07-12 21:42 +0000 [r394249] Joshua Colp + + * main/channel_internal_api.c, include/asterisk/channel.h, + main/bridging.c, main/channel.c: Add support to the bridging core + for performing COLP updates when channels join a 2 party bridge. + (closes issue ASTERISK-21829) Review: + https://reviewboard.asterisk.org/r/2636/ + +2013-07-12 21:01 +0000 [r394232] Mark Michelson + + * main/bridging_basic.c: Prevent potential race condition in + multiparty basic bridges. For more details about the race + condition see the linked review at the bottom of this commit + (closes issue ASTERISK-21882) Reported by Matt Jordan Review: + https://reviewboard.asterisk.org/r/2663 + +2013-07-12 19:35 +0000 [r394216] Jason Parker + + * channels/chan_skinny.c: Fix a compiler warning. + +2013-07-12 18:23 +0000 [r394203] David M. Lee + + * tests/test_json.c: Fixed intermittent crash when loading + test_json.so The JSON test attempted an overly clever use of + RAII_VAR to run code at the beginning and end of each test, in + order to validate that no JSON objects were leaked during the + test. The problem is that the validation code would run during + the initial load, when the tests were initialized. This happens + during startup, when other parts of the system might actively be + allocating and freeing JSON objects. This patch changes the + RAII_VAR to use the new ast_test_register_{init,cleanup} + functions to run the validations properly. (closes issue + ASTERISK-21978) Review: https://reviewboard.asterisk.org/r/2669/ + +2013-07-12 17:52 +0000 [r394189] Jason Parker + + * res/stasis_http/internal.h, res/stasis_http/config.c, + res/stasis_http/cli.c, res/res_stasis_http.c: ARI: Add support + for Cross-Origin Resource Sharing (CORS), origin headers This + rejects requests from any unknown origins. (closes issue + ASTERISK-21278) Review: https://reviewboard.asterisk.org/r/2667/ + +2013-07-11 21:01 +0000 [r394158] Richard Mudgett + + * include/asterisk/bridging_technology.h: Fix bridge tech write + callback parameter name. + +2013-07-11 20:59 +0000 [r394156] David M. Lee + + * channels/chan_skinny.c: Fixed chan_skinny for systems were + pthread_t isn't an int. I'm looking at you, OS X. + +2013-07-11 20:17 +0000 [r394147] Damien Wedhorn + + * channels/chan_skinny.c: Refactor and cleanup of skinny session + handling. Major changes are to pull all packet reading functions + into skinny_session and move timeout handling to scheduling + arrangements. Thread cancelling is now undertaken directly rather + than waiting for the read to timeout (cleanup is popped on thread + cancel). Also added some keepalive timings in debugging messages. + Keepalive timeout has been increased from 1.1 by keepalive to 3 + times keepalive. This seems to align (after keepalives stabilise) + with when devices reset after not receiving keepalives. Probably + needs more work, especially around the first and/or second + keepalives that vary significantly by device and firmware + version. Review: https://reviewboard.asterisk.org/r/2611/ + +2013-07-11 16:23 +0000 [r394103] Joshua Colp + + * res/res_sip_exten_state.c: Tweak the subscription failure warning + message to include endpoint name and context. + +2013-07-11 15:37 +0000 [r394037-394089] David M. Lee + + * tests/test_cel.c: Correct test_cel cleanup. When I corrected the + CEL test crash in r394037, I didn't quite pay attention to how + the globals and locals were being shuffled around in the cleanup + callback. I removed the nulling of the global variables, which + caused them to be double cleaned. This patch puts the global + nulling code back (since the vars are cleaned up by RAII_VARs), + and removes the explicit ao2_cleanup() (since they were no-ops, + because the variables had just been nulled). + + * configs/ari.conf.sample, res/res_stasis_http.c, + res/stasis_http/config.c: Change ARI user config to use a type + field When I initially wrote the configuration support for ARI + users, I determined the section type by a category prefix (i.e., + [user-admin]). This is neither idiomatic Asterisk configuration, + nor is it really that user friendly. This patch replaces the + category prefix with a type field in the section, which is much + cleaner. Review: https://reviewboard.asterisk.org/r/2664/ + + * res/stasis_http/config.c: Apply defaults to ari.conf's general + section + + * tests/test_voicemail_api.c: test_voicemail_api: fix warning found + by gcc-4.8 The voicemail_api test had code like strncmp(a, b, + sizeof(a)), but a was a char pointer, instead of a literal or + char array. This meant that sizeof was the size of the pointer, + not the length of the string. Since the string is in a + stringfield and should be null terminated, I just changed it to a + plain strcmp. + + * tests/test_cel.c: Fixed some CEL test crashes + +2013-07-10 22:26 +0000 [r394024] Kevin Harwell + + * contrib/scripts/sip_to_res_sip (added), + contrib/scripts/sip_to_res_sip/astconfigparser.py (added), + contrib/scripts/sip_to_res_sip/astdicts.py (added), + contrib/scripts/sip_to_res_sip/sip_to_res_sip.py (added): PSJIP - + sip.conf to res_sip.conf script ** This script is in no way + finished. Started the initial "cut" at converting a sip.conf file + to a res_sip.conf file. Hopefully the bulk of the framework is in + place and only a few minor adjustments need to be made when an + option mapping is added that "doesn't fit". This script and + supporting files should be executable against python version 2.5. + An OrderedDict class (backported from a newer version of python) + is included. A MultiOrderedDict class is implemented so options, + when added, should be able to be added in order and allowed to + have multiple values. Currently the scripts supports the majority + of endpoint options found in res_sip.conf. Support has also been + added for Aor(s) and the ACL/security sections. Inside the + sip_to_res_sip.py file one can see a list of options that still + need to be mapped. Also items that still need to be done: + templates, includes, parsing '=>' delimiter. Note that some code + is hopefully in place already to support templates (e.g. + lookup/retrieving defaults from them). However, the parsing of + and adding of the section needs to be done. + +2013-07-10 20:02 +0000 [r394004] Joshua Colp + + * res/res_sip_outbound_registration.c: Handle outbound registration + failures that do not occur as a result of a real response. + (closes issue ASTERISK-22064) Reported by: Rusty Newton + +2013-07-10 17:13 +0000 [r393968-393987] David M. Lee + + * res/res_stasis_http_channels.c, rest-api/api-docs/channels.json: + Document the 400 error response for originate + + * res/res_stasis_http_asterisk.c, rest-api/api-docs/asterisk.json, + res/stasis_http/ari_model_validators.c, + res/res_stasis_http_channels.c, rest-api/api-docs/channels.json, + res/stasis_http/ari_model_validators.h: Corrected api-docs for + channel variables + +2013-07-10 01:56 +0000 [r393930] Russell Bryant + + * configs/sla.conf.sample, /, apps/app_meetme.c: astobj2-ify the + SLA code The SLA code within app_meetme was written before + asotbj2 had been merged into Asterisk. Worse, support for reloads + did not exist at first and was added later as a bolt-on feature. + I knew at the time that reloading was not safe at all while SLA + was in use, so the reload would be queued up to execute when the + system was idle. Unfortunately, this approach was still prone to + errors beyond the fact that this was the only place in Asterisk + where configuration was not reloaded instantly when requested. + This patch converts various SLA objects to be reference counted + objects using astobj2. This allows reloads to be processed while + the system is in use. The code ensures that the objects will not + disappear while one of the other threads is using them. However, + they will be immediately removed from the global trunk and + station containers so no new calls will use them if removed from + configuration. Review: https://reviewboard.asterisk.org/r/2581/ + ........ Merged revisions 393928 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 393929 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-07-09 21:40 +0000 [r393919] Jason Parker + + * include/asterisk/lock.h: Make SCOPED_LOCK use RAII_VAR. This + fixes an issue with requiring SCOPED_LOCK to be the last variable + declaration and removes duplicate code in the process. Review: + https://reviewboard.asterisk.org/r/2665/ + +2013-07-09 21:06 +0000 [r393910] Richard Mudgett + + * main/xmldoc.c: Fix printf NULL string (null) substituion for NULL + config framework default. + +2013-07-09 20:07 +0000 [r393897] Mark Michelson + + * channels/chan_gulp.c: Use correct function for getting bridged + peer when doing direct media checks. (closes issue + ASTERISK-21947) reported by Matt Jordan + +2013-07-09 19:38 +0000 [r393896] Richard Mudgett + + * include/asterisk/stasis_channels.h, include/asterisk/manager.h: + Fix some stasis doxygen comments. + +2013-07-09 11:05 +0000 [r393857-393870] Joshua Colp + + * res/res_sip_outbound_registration.c: Ensure all pjsip_regc_* + access occurs within a pjlib thread. (closes issue + ASTERISK-22054) Reported by: Rusty Newton + + * res/res_sip/config_auth.c: Tweak log message slightly. + + * res/res_sip/config_auth.c: Treat the authentication object as + invalid if digest configuration is chosen and the digest is not + of the correct length. (closes issue ASTERISK-22003) Reported by: + Rusty Newton + +2013-07-08 20:31 +0000 [r393834-393843] David M. Lee + + * res/res_stasis_recording.c: Oh menuconfig, why do you hate + margins? + + * res/stasis_http/ari_websockets.c: Better structure for the + WebSocket validation failure message + +2013-07-08 19:53 +0000 [r393831-393833] Joshua Colp + + * res/res_sip/config_transport.c: Ensure that a valid bind host is + specified for transports. (closes issue ASTERISK-22017) Reported + by: Rusty Newton + + * res/res_agi.c, main/manager_bridging.c, + include/asterisk/channel.h, main/stasis_channels.c, + main/bridging.c, main/manager_channels.c, main/cli.c, + main/channel.c, build_tools/cflags-devmode.xml, main/pbx.c, + include/asterisk/stasis_channels.h, main/manager.c, + main/channel_internal_api.c: Refactor operations to access the + stasis cache instead of objects directly when retrieving + information. (closes issue ASTERISK-21883) Review: + https://reviewboard.asterisk.org/r/2645/ + +2013-07-08 16:04 +0000 [r393816] David M. Lee + + * res/res_stasis_http.c: res_stasis_http doesn't depend on + res_stasis any more + +2013-07-08 15:59 +0000 [r393815] Jonathan Rose + + * main/bridging.c, res/parking/parking_bridge.c, + res/parking/res_parking.h, res/parking/parking_controller.c: + res_parking: Apply ringing role option on swap with a channel + that rings (closes issue ASTERISK-21877) Reported by: Matt Jordan + Review: https://reviewboard.asterisk.org/r/2656/ + +2013-07-08 15:11 +0000 [r393807] Joshua Colp + + * res/stasis/control.c: Fix building. + +2013-07-08 14:46 +0000 [r393804-393806] Jason Parker + + * res/res_stasis_http_asterisk.c, res/stasis/control.c, + res/stasis_http/resource_asterisk.h, + rest-api/api-docs/asterisk.json, + res/stasis_http/resource_channels.c, + res/res_stasis_http_channels.c, include/asterisk/stasis_app.h, + res/stasis_http/resource_channels.h, + rest-api/api-docs/channels.json, + res/stasis_http/resource_asterisk.c: ARI: Add support for + getting/setting channel and global variables. This allows for + reading and writing of functions on channels. (closes issue + ASTERISK-21868) Review: https://reviewboard.asterisk.org/r/2641/ + + * channels/chan_sip.c, main/manager_system.c (added), + res/res_stun_monitor.c, main/file.c, main/sounds_index.c, + include/asterisk/stasis_system.h (added), channels/chan_iax2.c, + include/asterisk/manager.h, main/asterisk.c, include/asterisk.h, + main/stasis_system.c (added), main/manager.c: Move channel driver + Registry manager events to core. This also shuffles the stasis + system topic and related handling. (closes issue ASTERISK-21488) + Review: https://reviewboard.asterisk.org/r/2631/ + +2013-07-08 14:26 +0000 [r393801] Matthew Jordan + + * include/asterisk/bridging.h, main/core_unreal.c, + main/core_local.c, CHANGES, main/bridging.c, + include/asterisk/core_unreal.h, include/asterisk/core_local.h: + Create Local channel messages on the Stasis message bus and + produce AMI events This patch does the following: * It adds a + virtual table of callbacks to core_unreal. These callbacks can be + supplied by concrete implementations of "unreal" channel drivers, + which lets the unreal channel driver call specific functionality + when it performs some action. Currently, this is done to notify + implementations when an optimization operation has begun, and + when an optimization operation has succeeded. * It adds + Stasis-Core messages for Local channel bridging and Local channel + optimization. Local channel optimization is now two events: a + Begin and an End. Some consumers of Stasis-Core may want to know + when an operation is beginning so that they can 'prepare' their + information; others will be more concerned about when the + operation has completed, so that they can 'fix up' information. + Stasis-Core allows for both, as does AMI. Review: + https://reviewboard.asterisk.org/r/2552 + +2013-07-08 13:57 +0000 [r393793] Mark Michelson + + * res/res_sip_caller_id.c: Fix some broken logic in sending + outbound caller ID. * trust_id_outbound was required even when + the caller ID was not marked private. This is against intentions + and documentation. * We now check both name and number privacy + instead of checking name privacy twice. + +2013-07-07 21:29 +0000 [r393777-393785] Matthew Jordan + + * main/channel.c: In a channel destructor dispose of items that + raise Stasis message properly This patch reorders certain actions + that may raise Stasis messages in the channel destructor such + that they occur before the Stasis cache is cleared. Once the + Stasis cache is cleared, its rather a bad idea to be trying to + publish information about a channel. (closes issue + ASTERISK-22001) Reported by: Jonathan Rose + + * main/cdr.c, main/channel.c, main/pbx.c, + include/asterisk/stasis_channels.h, main/channel_internal_api.c, + include/asterisk/cdr.h, include/asterisk/channel.h, + main/stasis_channels.c, CHANGES, main/cel.c, + main/manager_channels.c: Handle hangup logic in the Stasis + message bus and consumers of Stasis messages This patch does the + following: * It adds a new soft hangup flag + AST_SOFTHANGUP_HANGUP_EXEC that is set when a channel is + executing dialplan hangup logic, i.e., the 'h' extension or a + hangup handler. Stasis messages now also convey the soft hangup + flag so consumers of the messages can know when a channel is + executing said hangup logic. * It adds a new channel flag, + AST_FLAG_DEAD, which is set when a channel is well and truly + dead. Not just a zombie, but dead, Jim. Manager, CEL, CDRs, and + other consumers of Stasis have been updated to look for this flag + to know when the channel should by lying six feet under. * The + CDR engine has been updated to better handle a channel entering + and leaving a bridge. Previously, a new CDR was automatically + created when a channel left a bridge and put into the 'Pending' + state; however, this way of handling CDRs made it difficult for + the 'endbeforehexten' logic to work correctly - there was always + a new CDR waiting in the hangup logic and, even if 'ended', + wouldn't be the CDR people wanted to inspect in the hangup + routine. This patch completely removes the Pending state and + instead defers creation of the new CDR until it gets a new + message that requires a new CDR. + +2013-07-05 22:08 +0000 [r393749-393768] David M. Lee + + * res/res_stasis_http.c: ARI: return a 503 if Asterisk isn't fully + booted + + * res/stasis_http/ari_websockets.c: Print error details when set + nonblock fails + + * rest-api/api-docs/events.json, + res/stasis_http/ari_model_validators.c, + res/stasis_http/ari_model_validators.h, + res/stasis_http/resource_events.c, res/res_stasis_http_events.c: + Document MissingParams error message for /ari/events + +2013-07-05 17:33 +0000 [r393740] Matthew Jordan + + * include/asterisk/rtp_engine.h, main/asterisk.c, + channels/chan_mgcp.c, channels/chan_unistim.c, + res/res_rtp_asterisk.c, channels/chan_multicast_rtp.c, + main/rtp_engine.c, channels/chan_sip.c, include/asterisk/cdr.h, + include/asterisk/channel.h, channels/chan_gtalk.c, + include/asterisk/json.h, channels/chan_gulp.c, + channels/chan_jingle.c, main/json.c, main/manager.c, + channels/chan_skinny.c, channels/chan_motif.c, + channels/chan_h323.c: Refactor RTCP events over to Stasis; + associate with channels This patch does the following: * It + merges Jaco Kroon's patch from ASTERISK-20754, which provides + channel information in the RTCP events. Because Stasis provides a + cache, Jaco's patch was modified to pass the channel uniqueid to + the RTP layer as opposed to a pointer to the channel. This has + the following benefits: (1) It keeps the RTP engine 'clean' of + references back to channels (2) It prevents circular dependencies + and other potential ref counting issues * The RTP engine now + allows any RTP implementation to raise RTCP messages. + Potentially, other implementations (such as res_rtp_multicast) + could also raise RTCP information. The engine provides structs to + represent RTCP headers and RTCP SR/RR reports. * Some general + refactoring in res_rtp_asterisk was done to try and tame the RTCP + code. It isn't perfect - that's *way* beyond the scope of this + work - but it does feel marginally better. * A few random bugs + were fixed in the RTCP statistics. (Example: performing an + assignment of a = a is probably not correct) * We now raise RTCP + events for each SR/RR sent/received. Previously we wouldn't raise + an event when we sent a RR report. Note that this work will be of + use to others who want to monitor call quality or build modules + that report call quality statistics. Since the events are now + moving across the Stasis message bus, this is far easier to + accomplish. It is also a first step (though by no means the last + step) towards getting Olle's pinefrog work incorporated. Again: + note that the patch by Jaco Kroon was modified slightly for this + work; however, he did all of the hard work in finding the right + places to set the channel in the RTP engine across the channel + drivers. Much thanks goes to Jaco for his hard work here. Review: + https://reviewboard.asterisk.org/r/2603/ (closes issue + ASTERISK-20574) Reported by: Jaco Kroon patches: + asterisk-rtcp-channel.patch uploaded by jkroon (License 5671) + (closes issue ASTERISK-21471) Reported by: Matt Jordan + +2013-07-05 14:54 +0000 [r393729] Richard Mudgett + + * main/bridging.c: OneTouchRecord: Add function defined earlier: + ast_bridge_features_do() + +2013-07-05 03:08 +0000 [r393716] Matthew Jordan + + * main/stasis_channels.c, include/asterisk/stasis_channels.h: + Remove parkinglot from the channel snapshot Legacy channel + drivers often include the ability to set a default parking lot on + an endpoint basis; when channels are created for that endpoint, + they inherit the parkinglot option. Parking used to use this + option more frequently; while it is still supported, other + options (such as using channel variables or creation of a custom + parkinglot) are supported. More importantly, conveying the + parkinglot information through a channel snapshot isn't terribly + useful - it is rarely (if ever) changed on a channel and some + consumers of channel snapshots, such as ARI, will never use the + information. (closes issue ASTERISK-21968) Reported by: Matt + Jordan + +2013-07-04 18:46 +0000 [r393704] Jonathan Rose + + * UPGRADE.txt, res/parking/parking_applications.c, + include/asterisk/channel.h, main/cel.c, CHANGES, + res/parking/parking_bridge_features.c, + res/parking/parking_bridge.c, main/channel.c, + res/parking/res_parking.h, bridges/bridge_builtin_features.c, + main/features.c, include/asterisk/parking.h, main/bridging.c, + res/parking/parking_manager.c, res/parking/parking_ui.c, + main/parking.c, res/parking/parking_controller.c: res_parking: + Replace Parker snapshots with ParkerDialString This process also + involved a large amount of rework regarding how to redial the + Parker when a channel leaves a parking lot due to timeout. An + attended transfer channel variable has been added to attended + transfers to extensions that will eventually park (but haven't at + the time of transfer) as well. This resolves one of the two + BUGBUG comments remaining in res_parking. (issues ASTERISK-21877) + Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2638/ + +2013-07-04 13:37 +0000 [r393675-393687] David M. Lee + + * res/res_ari_model.c: Fix int width problem for 32-bit... again + + * tests/test_ari_model.c: Fix int width problem for 32-bit + + * main/Makefile, main/utils.c, main/crypt.c (added): Fix utils + directory breakage. + +2013-07-03 23:59 +0000 [r393600-393633] Richard Mudgett + + * main/config_options.c: Add BUGBUG note for ASTERISK-22009 + + * main/bridging.c, apps/app_agent_pool.c (removed), + configs/agents.conf.sample, include/asterisk/config_options.h, + include/asterisk/stasis_channels.h, channels/chan_agent.c + (added), configs/queues.conf.sample, include/asterisk/bridging.h, + UPGRADE.txt, main/config_options.c, main/stasis_channels.c, + CHANGES: Revert accidental overcommit. + + * apps/app_agent_pool.c (added), configs/agents.conf.sample, + include/asterisk/config_options.h, + include/asterisk/stasis_channels.h, channels/chan_agent.c + (removed), configs/queues.conf.sample, + include/asterisk/bridging.h, UPGRADE.txt, main/config_options.c, + main/stasis_channels.c, CHANGES, main/bridging.c: Add BUGBUG note + for ASTERISK-22009 + + * channels/chan_dahdi.c, /: chan_dahdi: Fix segfault reloading + chan_dahdi when round robin is used. * Clear round_robin[] in + dahdi_restart(). (closes issue ASTERISK-21847) Reported by: Ivo + Andonov Patches: jira_asterisk_21847_v1.8.patch (license #5621) + patch uploaded by rmudgett ........ Merged revisions 393627 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 393628 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * bridges/bridge_builtin_features.c, + include/asterisk/bridging_features.h: OneTouchRecord: Make so + Monitor/MixMonitor can be toggled/started/stopped. The + OneTouchRecord feature has historically been a toggle. This patch + adds the ability to make the OneTouchRecord hook optionally + start/stop recording only. If OneTouchRecord is already doing + what is requested then only the invoker hears the courtesy tone + and/or start/stop recording message. The new feature is written + so we could easily add explicit start/stop recording DTMF hooks + for Monitor and MixMonitor. The majority of the changes in + bridge_builtin_features.c is a refactoring of the OneTouchRecord + code (Monitor and MixMonitor versions) so it is easy to direct + the toggle/start/stop functionality. Review: + https://reviewboard.asterisk.org/r/2655/ + + * main/bridging.c: Move when bridge channel enter is published so + it does not interrupt the thought of some lines of code. + + * main/stasis_config.c: Fix some indentation in stasis_config.c. + +2013-07-03 22:04 +0000 [r393589-393599] Matthew Jordan + + * main/cdr.c: Fix some bugs in CDRs; add some CLI commands to help + debugging This patch fixes a few minor bugs and one major one: + the CDR by bridge container was less than helpful. The mechanism + previously used to try and find all of the CDRs in a particular + bridge ended up missing CDRs, resulting in incorrect records. + When looking up CDRs in a bridge, we now just bite the bullet and + do a selection across all existing CDRs. + + * main/stasis_config.c: Let Stasis load itself with default values + While a Stasis configuration file is nice, it shouldn't be + mandatory. We can carry on with default values. + +2013-07-03 20:41 +0000 [r393586] Mark Michelson + + * main/bridging.c: Publish a bridge enter before pulling on a + push-and-swap operation. Prior to this patch, the order of + procedures on a bridge push was * Add new bridge channel to + bridge's array. * Pull the swap channel out of the bridge * + Publish a bridge enter event. The problem is that when the swap + channel was pulled from the bridge, a bridge leave event would be + published. The bridge snapshot published during the bridge leave + showed the new channel that had been added to the bridge, but + there had been no bridge enter event for that channel. The fix + provided here was to change the order a bit * Add new bridge + channel to bridge's array. * Publish bridge enter event. * Pull + the swap channel out of the bridge. This makes it so that the + bridge snapshots during the stasis events are accurate. + +2013-07-03 19:46 +0000 [r393528-393576] David M. Lee + + * res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c, + rest-api-templates/ari_model_validators.c.mustache, + rest-api-templates/res_stasis_http_resource.c.mustache, + rest-api-templates/ari_model_validators.h.mustache, + res/stasis_http/ari_model_validators.c, + res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c, + res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c, + res/stasis_http/ari_model_validators.h: Fix load errors related + to the new ari_model_validators. The Asterisk strategy of loading + modules with RTLD_LAZY to extract metadata from the module works + well enough, until you try to take the address of a function. If + a module takes the address of a function, that function needs to + be resolved at load time. That kinda defeats RTLD_LAZY. This + patch adds some ari_validator_{id}_fn() wrapper functions for + safely getting the function pointer from a different module. + + * res/res_ari_model.c: Violating the margins to make menuconfig + happy + + * res/res_stasis_http_channels.c, main/utils.c, + include/asterisk/channel.h, res/res_stasis_http_recordings.c, + res/res_stasis_recording.exports.in (added), Makefile, + include/asterisk/file.h, include/asterisk/paths.h, + main/channel.c, include/asterisk/app.h, + res/stasis_http/resource_channels.c, tests/test_utils.c, + apps/app_minivm.c, main/file.c, + res/stasis_http/resource_recordings.c, main/app.c, + res/res_stasis_recording.c (added), + rest-api-templates/swagger_model.py, + rest-api/api-docs/channels.json, + res/stasis_http/resource_channels.h, + res/res_stasis_http_bridges.c, rest-api/api-docs/recordings.json, + res/stasis_http/resource_recordings.h, main/asterisk.c, + rest-api-templates/asterisk_processor.py, apps/app_voicemail.c, + include/asterisk/utils.h, res/res_stasis_playback.c, + include/asterisk/stasis_app_recording.h (added): ARI - channel + recording support This patch is the first step in adding + recording support to the Asterisk REST Interface. Recordings are + stored in /var/spool/recording. Since recordings may be + destructive (overwriting existing files), the API rejects + attempts to escape the recording directory (avoiding issues if + someone attempts to record to ../../lib/sounds/greeting, for + example). (closes issue ASTERISK-21594) (closes issue + ASTERISK-21581) Review: https://reviewboard.asterisk.org/r/2612/ + + * main/stasis_config.c (added), configs/stasis.conf.sample (added), + include/asterisk/stasis.h, configs/stasis_core.conf.sample + (removed), main/asterisk.c, main/stasis.c: Configuration for + Stasis threadpool The appropriate settings for the Stasis + threadpool is very system specific, depending upon both workload + and system configuration. This patch adds a stasis.conf file + which can be used to configure the key attributes of the + threadpool for the Stasis message bus. (closes issue + ASTERISK-21280) Review: https://reviewboard.asterisk.org/r/2651/ + + * res/stasis_http/internal.h (added), + configs/stasis_http.conf.sample (removed), main/Makefile, + res/stasis_http/config.c (added), main/http.c, main/utils.c, + res/stasis_http/cli.c (added), res/Makefile, + configs/ari.conf.sample (added), makeopts.in, + res/res_stasis_http.c: No message for rev 393530 found + + * rest-api/api-docs/asterisk.json, rest-api/api-docs/playback.json, + res/stasis_http/ari_websockets.c, main/stasis_channels.c, + rest-api-templates/swagger_model.py, + res/res_stasis_http_bridges.c, + rest-api-templates/res_stasis_json_resource.c.mustache (removed), + res/res_stasis_json_recordings.exports.in (removed), + rest-api/api-docs/endpoints.json, main/stasis_endpoints.c, + rest-api/api-docs/events.json, tests/test_res_stasis.c, + tests/test_stasis_channels.c, include/asterisk/stasis_http.h, + res/res_stasis_json_sounds.exports.in (removed), + res/res_ari_model.exports.in (added), + res/res_stasis_http_recordings.c, + rest-api-templates/res_stasis_json_resource.exports.mustache + (removed), rest-api/api-docs/bridges.json, + res/res_stasis_http_events.c, res/res_ari_model.c (added), + res/res_stasis_json_playback.exports.in (removed), + res/res_stasis_http_sounds.c, res/stasis_json (removed), + rest-api/api-docs/recordings.json, + rest-api-templates/ari_model_validators.c.mustache (added), + res/res_stasis_json_endpoints.exports.in (removed), + res/res_stasis_json_events.exports.in (removed), + res/res_stasis_http_asterisk.c, + rest-api-templates/res_stasis_http_resource.c.mustache, + rest-api-templates/make_ari_stubs.py (added), + res/res_stasis_json_recordings.c (removed), + rest-api-templates/api.wiki.mustache (added), + rest-api/api-docs/sounds.json, res/Makefile, + res/res_stasis_json_events.c (removed), + res/res_stasis_json_bridges.exports.in (removed), + res/res_stasis_json_sounds.c (removed), + rest-api-templates/models.wiki.mustache (added), + main/stasis_bridging.c, rest-api-templates/transform.py, + rest-api-templates/stasis_json_resource.h.mustache (removed), + res/res_stasis_json_channels.exports.in (removed), + res/res_stasis_json_asterisk.c (removed), res/res_stasis_http.c, + rest-api-templates/asterisk_processor.py, + res/res_stasis_http_playback.c, + rest-api-templates/ari_model_validators.h.mustache (added), + res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c + (removed), include/asterisk/json.h, tests/test_ari_model.c + (added), Makefile, res/res_stasis_json_asterisk.exports.in + (removed), res/res_stasis_json_bridges.c (removed), + res/stasis_http/resource_recordings.c, + rest-api/api-docs/channels.json, res/res_stasis_json_playback.c + (removed), res/res_stasis.c, doc/rest-api (added), + rest-api-templates/make_stasis_http_stubs.py (removed), + res/stasis_http/resource_recordings.h, + res/res_stasis_json_channels.c (removed), + res/stasis_http/ari_model_validators.c (added), + rest-api-templates/event_function_decl.mustache (removed), + res/stasis_http/ari_model_validators.h (added), + res/res_stasis_http_endpoints.c, main/json.c: No message for rev + 393529 found + + * include/asterisk/utils.h, res/res_stasis_http_playback.c, + rest-api/api-docs/events.json, res/res_stasis_http_channels.c, + include/asterisk/stasis_http.h, configure.ac, + res/res_stasis_http_recordings.c, res/res_stasis_http_events.c, + configure, res/res_stasis_http_sounds.c, + res/stasis_http/resource_events.c, + rest-api-templates/stasis_http_resource.h.mustache, + res/res_stasis_http_asterisk.c, + rest-api-templates/res_stasis_http_resource.c.mustache, + res/res_http_websocket.exports.in, + res/stasis_http/resource_events.h, res/res_stasis_websocket.c + (removed), include/asterisk/autoconfig.h.in, + rest-api-templates/rest_handler.mustache, res/Makefile, + res/res_http_websocket.c, + rest-api-templates/param_parsing.mustache (added), + res/res_stasis_http_endpoints.c, include/asterisk/http.h, + res/res_stasis_http.exports.in, tests/test_utils.c, + res/stasis_http/ari_websockets.c (added), + rest-api-templates/stasis_http_resource.c.mustache, + rest-api-templates/swagger_model.py, + res/res_stasis_http_bridges.c, tests/test_stasis_http.c, + res/res_stasis_http.c, rest-api-templates/asterisk_processor.py: + No message for rev 393528 found + +2013-07-02 22:01 +0000 [r393508] Jason Parker + + * CHANGES, main/manager.c: Add a SystemName field to all AMI + events. This only gets sent out if configured in asterisk.conf + (closes issue ASTERISK-21494) + +2013-07-02 21:19 +0000 [r393485-393500] Richard Mudgett + + * apps/app_mixmonitor.c: MixMonitor: Minor code cleanup. + + * apps/app_mixmonitor.c: MixMonitor: Make + start_mixmonitor_callback() options parameter NULL tolerant. * + Removed some unnecessary code in start_mixmonitor_callback(). + + * apps/app_mixmonitor.c: MixMonitor: Don't use ast_strdupa() in a + loop. + + * apps/app_mixmonitor.c: MixMonitor: Update XML documentation and + CLI "mixmonitor {start|stop|list}" help. + + * apps/app_mixmonitor.c: MixMonitor: Fix refleak in + manager_stop_mixmonitor() if could not stop monitoring. + + * apps/app_mixmonitor.c: MixMonitor: Remove some unnecessary + channel locking. + + * apps/app_mixmonitor.c: Fix MixMonitor b option. The option had + not been converted to use the replacement for + ast_bridged_channel(). One touch mixmonitor now records files + again. + + * channels/chan_gtalk.c: Fix chan_gtalk.c compile error. + +2013-07-02 20:34 +0000 [r393484] David M. Lee + + * res/res_sip_notify.c: Add pjproject dependency to res_sip_notify + +2013-07-02 18:28 +0000 [r393463] Mark Michelson + + * include/asterisk/stasis_bridging.h: Remove unused blind transfer + publication structure. I ended up using a bridge blob, so this + structure was unused. Keeping it in the header would just cause + confusion. + +2013-07-02 17:20 +0000 [r393442-393449] Kevin Harwell + + * main/manager.c, main/aoc.c: Stasis - Refactor AOC Events + Refactored the AMI events in AOC onto Stasis-Core. The + ast_aoc_manager_event function now publishes a channel snapshot, + along with a JSON blob describing the advice of charge. A + "to_ami" handler has also been added that converts the channel + snapshot and AOC event data back into the appropriate data + structure for use with AMI. (closes issue ASTERISK-21472) + Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2643/ + + * res/res_sip/config_security.c (added), res/res_sip_acl.c, + res/res_sip.c, res/res_sip/sip_configuration.c, + include/asterisk/res_sip.h, res/res_sip/sip_distributor.c, + res/res_sip/config_auth.c, res/res_sip.exports.in, + res/res_sip_outbound_authenticator_digest.c, + res/res_sip_authenticator_digest.c: New SIP Channel driver: + Always Auth Reject If no matching endpoint is found for the + incoming request Asterisk will respond with a 401 Unauthorized + (rejecting the request), but will first challenge if no + authorization creditials are given. Changes also included moving + ACL options into a new global 'security' configuration section in + res_sip.conf. (closes issue ASTERISK-21433) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2554/ + +2013-07-02 16:11 +0000 [r393410-393429] Kinsey Moore + + * main/stasis_bridging.c: Fix transfer AMI event parameter naming + + * tests/test_cel.c (added), main/cel.c, include/asterisk/cel.h: Add + CEL unit tests and do some cleanup This adds several unit tests + for CEL functionality and provides the requisite framework for + creating additional unit tests. This also cleans up some + reference leaks that were occurring in Stasis-Core message + callback code. Review: https://reviewboard.asterisk.org/r/2646/ + +2013-07-02 10:16 +0000 [r393396] Igor Goncharovskiy + + * /, channels/chan_unistim.c: Fix issue with inability to cancell + call transfer made by on-sceen menus. Reported by: Igor Olhovskiy + ........ Merged revisions 393395 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-07-02 08:23 +0000 [r393383] Tzafrir Cohen + + * contrib/scripts/ast_tls_cert: ast_tls_cert: don't recreate + generated files Don't regenrate cat.cfg, ca.crt and ca.key if + they were already created on a previous run. (closes issue + ASTERISK-21932) + +2013-07-01 21:28 +0000 [r393364] Kevin Harwell + + * res/res_sip/sip_configuration.c, include/asterisk/res_sip.h, + res/res_sip/include/res_sip_private.h, res/res_sip/sip_options.c, + res/res_sip.exports.in, res/res_sip_notify.c (added): New SIP + Channel Driver - Add CLI/AMI initiated NOTIFY requests Added the + ability to send unsolicited NOTIFY requests to a particular + endpoint with a configured payload. Added both CLI and AMI + support. For a given endpoint, this module will iterate over all + its contacts sending the appropriate NOTIFY request to each. + (closes issue ASTERISK-21436) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2623/ + +2013-07-01 21:24 +0000 [r393361] Matthew Jordan + + * include/asterisk/pbx.h, main/pbx.c, main/manager.c: Prevent crash + during synchronous AMI origination by ref bumping returned + channel The originate APIs allow callers to provide a pointer to + a channel that will point to the originated channel if the + function call succeeds. This is used by AMI to provide channel + information when the originate is performed synchronously. + Unfortunately, if the originate fails in certain ways, the + outbound channel is already disposed of during the dialing + itself. This results in the channel being improperly dereferenced + by the internal originate function in pbx.c. This patch ref bumps + the channel to prevent this from occurring. Callers must now + unlock and unref the channel (which is more in line with general + channel management guidelines anyway). This only affects manager, + as it is the only consumer of this API function that actually + passes in a channel pointer. Review: + https://reviewboard.asterisk.org/r/2617/ + +2013-07-01 18:56 +0000 [r393326-393332] Jason Parker + + * res/stasis/control.c, res/stasis_http/resource_channels.c, + include/asterisk/stasis_app.h: ARI: Implement channel + hold/unhold. This puts the channel on hold (rather than queueing + a frame from the channel). (closes issue ASTERISK-21619) Review: + https://reviewboard.asterisk.org/r/2647/ + + * res/stasis/control.c, res/stasis_http/resource_channels.c, + res/res_stasis_http_channels.c, include/asterisk/stasis_app.h, + res/stasis_http/resource_channels.h, + rest-api/api-docs/channels.json: ARI: Implement channel dial. + This creates a new outbound channel, and bridges it to a channel + already in the Stasis application. (closes issue ASTERISK-21620) + Review: https://reviewboard.asterisk.org/r/2634/ + +2013-07-01 16:01 +0000 [r393309] Jonathan Rose + + * include/asterisk/channel.h, CHANGES, main/features_config.c, + apps/app_mixmonitor.c, configs/features.conf.sample, + main/mixmonitor.c (added), bridges/bridge_builtin_features.c, + include/asterisk/features_config.h, include/asterisk/mixmonitor.h + (added): bridge_features: Support One touch Monitor/MixMonitor In + addition to porting those features, they now enjoy greater + feature parity with one another. Specifically, AutoMixMon now has + a start and stop message that can be specified with + TOUCH_MIXMONITOR_MESSAGE_START and TOUCH_MIXMONITOR_MESSAGE_STOP. + (closes issue ASTERISK-21553) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2620/ + +2013-07-01 13:16 +0000 [r393284] Kinsey Moore + + * res/res_agi.c, configs/sip.conf.sample, + channels/sip/include/sip.h, channels/chan_sip.c, + apps/app_meetme.c, include/asterisk/stasis.h, main/core_local.c, + include/asterisk/json.h, channels/chan_gtalk.c, + channels/sig_pri.c, channels/chan_iax2.c, apps/app_queue.c, + CHANGES, main/json.c, channels/chan_dahdi.c, + channels/sig_analog.c: Refactor extraneous channel events This + change removes JitterBufStats, ChannelReload, and ChannelUpdate + and refactors the following events to travel over Stasis-Core: * + LocalBridge * DAHDIChannel * AlarmClear * SpanAlarmClear * Alarm + * SpanAlarm * DNDState * MCID * SIPQualifyPeerDone * + SessionTimeout Review: https://reviewboard.asterisk.org/r/2627/ + (closes issue ASTERISK-21476) + +2013-06-29 13:47 +0000 [r393262-393264] Joshua Colp + + * res/res_sip_pubsub.c: Nothing to see here, move along. + + * include/asterisk/res_sip_pubsub.h, res/res_sip_pubsub.exports.in, + res/res_sip_pubsub.c: Implement the defined PUBLISH ESC API + within res_sip_pubsub. (closes issue ASTERISK-21452) Review: + https://reviewboard.asterisk.org/r/2630/ + +2013-06-29 00:31 +0000 [r393219-393241] Richard Mudgett + + * include/asterisk/bridging.h, main/bridging.c: Tweak after bridge + callback reason to string strings. + + * main/bridging.c: Fix after bridge callback datastore data memory + leak. + + * main/datastore.c: This is no longer needed. + + * main/bridging.c: Promote local channel optimizing debug messages + to verbose 3 messages. + +2013-06-28 19:22 +0000 [r393190-393197] Jonathan Rose + + * res/parking/parking_applications.c, CHANGES, + res/parking/parking_ui.c, res/parking/res_parking.h, + res/res_parking.c: res_parking: Dynamic Parking Lots (closes + issue ASTERISK-21644) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2615/ + + * include/asterisk/features.h, main/features.c: features: call + pickup stasis refactoring (issue ASTERISK-21544) Reported by: + Matt Jordan Review: https://reviewboard.asterisk.org/r/2588/ + +2013-06-28 19:05 +0000 [r393184] Richard Mudgett + + * include/asterisk/bridging_features.h: Fix overlapping enum + ast_bridge_feature_flags. Things may no longer behave in an + unexpected fashion. Local channel optimization to holding bridges + will work again. + +2013-06-28 18:42 +0000 [r393182] Mark Michelson + + * channels/chan_iax2.c, include/asterisk/stasis_bridging.h, + main/bridging.c, main/manager.c, + bridges/bridge_builtin_features.c, channels/chan_sip.c, + channels/chan_skinny.c, main/stasis_bridging.c, + res/res_sip_refer.c, include/asterisk/bridging.h, + main/manager_bridging.c: Add stasis publications for blind and + attended transfers. This creates stasis messages that are sent + during a blind or attended transfer. The stasis messages also are + converted to AMI events. Review: + https://reviewboard.asterisk.org/r/2619 (closes issue + ASTERISK-21337) Reported by Matt Jordan + +2013-06-28 17:31 +0000 [r393164] Matthew Jordan + + * main/cdr.c, tests/test_cdr.c: Handle an originated channel being + sent into a non-empty bridge Originated channels are a bit odd - + they are technically a dialed channel (thus the party B or peer) + but, since there is no caller, they are treated as the party A. + When entering into a bridge that already contains participants, + the CDR engine - if the CDR record is in the Dial state - + attempts to match the person entering the bridge with an existing + participant. The idea is that if you dialed someone and the + person you dialed is already in the bridge, you don't need a new + CDR record, the existing CDR record describes the relationship. + Unfortunately, for an originated channel, there is no Party B. If + no one was in the bridge this didn't cause any issues; however, + if participants were in the bridge the CDR engine would attempt + to match a non-existant Party B on the channel's CDR record and + explode. This patch fixes that, and a unit test has been added to + cover this case. + +2013-06-28 16:23 +0000 [r393144] Jason Parker + + * res/stasis_http/resource_channels.c, + res/res_stasis_http_channels.c, + res/stasis_http/resource_channels.h, + rest-api/api-docs/channels.json: Change ARI originate to also + allow dialing an exten/context/priority. The old way didn't make + much sense, so some of the fields were repurposed. (closes issue + ASTERISK-21658) Review: https://reviewboard.asterisk.org/r/2626/ + +2013-06-28 15:50 +0000 [r393130] Matthew Jordan + + * include/asterisk/cdr.h, include/asterisk/parking.h, + main/asterisk.c, main/bridging.c, main/cdr.c: Better handle + parking in CDRs Parking typically occurs when a channel is + transferred to a parking extension. When this occurs, the channel + never actually hits the dialplan if the extension it was + transferred to was a "parking extension", that is, the extension + in the first priority calls the Park application. Instead, the + channel is immediately sent into the holding bridge acting as the + parking bridge. This is problematic. Because we never go out to + the dialplan, the CDRs won't transition properly and the + application field will not be set to "Park". CDRs typically + swallow holding bridges, so the CDR itself won't even be + generated. This patch handles this by pulling out the holding + bridge handling into its own CDR state. CDRs now have an explicit + parking state that accounts for this specific subclass of the + holding bridge. In addition, we handle the parking stasis message + to set application specific data on the CDR such that the last + known application for the CDR properly reflects "Park". This is a + bit sad since we're working around the odd internal + implementation of parking that exists in Asterisk (and that we + had to maintain in order to continue to meet some odd use cases + of parking), but at least the code to handle that is where it + belongs: in CDRs as opposed to sprinkled liberally throughout the + codebase. This patch also properly clears the OUTBOUND channel + flag from a channel when it leaves a bridge, and tweaks up + dialing handling to properly compare the correct CDR with the + channel calling/being dialed. + +2013-06-28 15:36 +0000 [r393128] Jason Parker + + * res/stasis_http/resource_channels.c: Change some 500 errors to + 400. + +2013-06-28 02:14 +0000 [r393083-393100] David M. Lee + + * res/res_stasis_http.c: Removed stray apostrophe. Apparently the + pluralization of an acronym does not use an apostophe, according + to most modern style guides. I feel like I've been living a lie + this whole time. + + * res/res_stasis_http.c: Removed the automatic 302 redirects for + ARI URL's that end with a slash. There were some problems + redirecting RESTful API requests; notably the client would change + the request method to GET on the redirected requests. After some + looking into, I decided that a 404 would be simpler and have more + consistent behavior. + +2013-06-27 21:01 +0000 [r393034-393066] Richard Mudgett + + * main/bridging.c: Change the name of some local variables in + bridging.c to reflect what they really mean. + + * main/config_options.c, include/asterisk/config_options.h: Add + config framework non-empty string validation requirement option. + Add config framework OPT_CHAR_ARRAY_T and OPT_STRINGFIELD_T + non-empty requirement option. There are cases were you don't want + a config option string to be empty. To require the option string + to be non-empty, just set the aco_option_register() flags + parameter to non-zero. * Updated some config framework enum + aco_option_type comments. + +2013-06-26 20:59 +0000 [r393005] Jonathan Rose + + * main/bridging.c, funcs/func_channel.c, + include/asterisk/bridging.h: func_channel: Read/Write + after_bridge_goto option Allows reading and setting of a + channel's after_bridge_goto datastore (closes issue + ASTERISK-21875) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2628/ + +2013-06-26 19:29 +0000 [r392987] Jason Parker + + * res/res_stasis_http_channels.c, include/asterisk/stasis_app.h, + res/stasis_http/resource_channels.h, + rest-api/api-docs/channels.json, res/stasis/control.c, + res/stasis_http/resource_channels.c: ARI: Add support for + continuing to a different location in dialplan. This allows going + elsewhere in the dialplan, so that the location can be specified + after exiting the Stasis application. (closes issue + ASTERISK-21870) Review: https://reviewboard.asterisk.org/r/2644/ + +2013-06-26 19:15 +0000 [r392933-392972] Richard Mudgett + + * res/res_parking.c: Remove some redundant parking config error + messages. + + * main/bridging.c: Fix several problems with + ast_bridge_add_channel(). * Fix locking problems. + ast_bridge_move() locks two bridges. To do that, deadlock + avoidance must be done. Called bridge_move_locked() instead. * + Fix inconsistency in the bridge dissolve check callers. The + original caller has already removed the channel from the bridge. + The new caller has not removed the channel from the bridge. + Reverted bridge_dissolve_check() and added + bridge_dissolve_check_stolen() to be used by the new caller on + the original bridge after the channel is moved to the new bridge. + * Fix memory leak of features if the added channel was already in + a bridge. * Fix incorrect call to ast_bridge_impart(). * Renamed + bridge_chan to yanked_chan. + + * include/asterisk/bridging.h, + apps/confbridge/conf_chan_announce.c, channels/chan_sip.c: Fix + incorrect calls to ast_bridge_impart(). There was a + misunderstanding about ast_bridge_impart()'s handling of the + imparted channel's reference. The channel reference is passed by + the caller unless ast_bridge_impart() returns an error. * Fixed a + memory leak in conf_announce_channel_push() if the impart failed. + + * main/features.c: AMI Bridge action: Get channel xfer config after + we have found the second channel. + +2013-06-25 22:28 +0000 [r392915] Jonathan Rose + + * res/parking/parking_applications.c, CHANGES, main/bridging.c, + res/parking/parking_bridge_features.c, + res/parking/parking_manager.c, include/asterisk/features.h, + res/parking/parking_bridge.c, res/parking/res_parking.h, + main/features.c, res/parking/parking_controller.c: res_parking: + Add Parking manager action to the new parking system (closes + issue ASTERISK-21641) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2573/ + +2013-06-25 20:25 +0000 [r392898] Jason Parker + + * Makefile: Fix typo with XML docs. + +2013-06-25 19:22 +0000 [r392864-392879] Joshua Colp + + * include/asterisk/sorcery.h: Add a note about being ready to + accept observer invocations before adding an observer. + + * res/res_sip/sip_options.c: Move where the sorcery observer is + added for qualify to guarantee the sched_qualifies container + exists. + +2013-06-25 13:03 +0000 [r392829] Kinsey Moore + + * main/stasis_channels.c, apps/app_queue.c, main/cel.c, + apps/app_dial.c, include/asterisk/stasis_channels.h, + include/asterisk/cel.h, apps/app_celgenuserevent.c: CEL + refactoring cleanup This change removes AST_CEL_BRIDGE_UPDATE + since it should no longer be used because masquerade situations + are now accounted for in other ways. This also refactors usage of + AST_CEL_FORWARD to be produced by a Dial message which has been + extended with a "forward" field. (closes issue ASTERISK-21566) + Review: https://reviewboard.asterisk.org/r/2635/ + +2013-06-25 01:12 +0000 [r392797-392812] Matthew Jordan + + * main/named_acl.c, res/res_calendar.c, /, channels/chan_motif.c, + main/http.c, main/config_options.c: Fix memory/ref counting leaks + in a variety of locations This patch fixes the following memory + leaks: * http.c: The structure containing the addresses to bind + to was not being deallocated when no longer used * named_acl.c: + The global configuration information was not disposed of * + config_options.c: An invalid read was occurring for certain + option types. * res_calendar.c: The loaded calendars on module + unload were not being properly disposed of. * chan_motif.c: The + format capabilities needed to be disposed of on module unload. In + addition, this now specifies the default options for the + maxpayloads and maxicecandidates in such a way that it doesn't + cause the invalid read in config_options.c to occur. (issue + ASTERISK-21906) Reported by: John Hardin patches: http.patch + uploaded by jhardin (license 6512) named_acl.patch uploaded by + jhardin (license 6512) config_options.patch uploaded by jhardin + (license 6512) res_calendar.patch uploaded by jhardin (license + 6512) chan_motif.patch uploaded by jhardin (license 6512) + ........ Merged revisions 392810 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/devicestate.c, main/cel.c, main/presencestate.c, + main/sorcery.c, res/parking/parking_bridge.c, main/cdr.c, + main/manager.c, main/parking.c: Fix a variety of memory leaks + This patch addresses the following memory/ref counting leaks: * + main/devicestate.c - unsubscribe and join our devicestate message + subscription * main/cel.c - clean up the datastore and config + objects on exist * main/parking.c - cleanup memory leak of + retriever snapshot on message payload destruction * + res/parking/parking_bridge.c - cleanup memory leak of retrieve + snapshot on message payload destruction * main/presencestate.c - + unsubscribe and join the caching topic on exit * manager.c - + properly unregister the manager action "BlindTransfer" * + sorcery.c - shutdown the threadpool on exit and dispose of any + wizards (issue ASTERISK-21906) Reported by: John Hardin patches: + cel.patch uploaded by jhardin (license #6512) devicestate.patch + uploaded by jhardin (license #6512) manager.patch uploaded by + jardin (license #6512) presencestate.patch uploaded by jhardin + (license #6512) retriever-channel-snapshot.patch uploaded by + jhardin (license #6512) sorcery.patch uploaded by jhardin + (license #6512) + +2013-06-24 22:05 +0000 [r392778-392779] David M. Lee + + * tests/test_endpoints.c, tests/test_stasis_endpoints.c: Few more + menuselect fixes missed in r392777 + + * rest-api-templates/res_stasis_http_resource.c.mustache, + res/stasis_json/resource_sounds.h, + rest-api-templates/res_stasis_json_resource.c.mustache: Fixed + templates so that the changes from r392777 won't be overwritten + the next time we run the generators. + +2013-06-24 21:40 +0000 [r392777] Richard Mudgett + + * res/res_stasis_json_bridges.c, res/res_stasis_http_sounds.c, + res/res_statsd.c, res/res_stasis_http_bridges.c, + res/res_stasis_json_asterisk.c, res/res_stasis_test.c, + res/res_stasis_json_playback.c, res/res_stasis_http.c, + res/res_stasis.c, apps/app_stasis.c, + res/res_stasis_http_asterisk.c, res/res_stasis_json_channels.c, + res/res_stasis_http_playback.c, res/res_stasis_playback.c, + res/res_stasis_websocket.c, res/res_stasis_json_recordings.c, + res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c, + res/res_stasis_json_events.c, res/res_stasis_http_recordings.c, + res/res_stasis_answer.c, res/res_chan_stats.c, + res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c, + res/res_stasis_json_sounds.c, res/res_stasis_bridge_add.c: Fix + menuselect display for stasis modules. The menuselect parser is + very simple. It looks for AST_MODULE_INFO and uses any quoted + string on that line as the module summary display. + +2013-06-24 19:28 +0000 [r392729-392747] Mark Michelson + + * /: Remove stray properties from merge. + + * /, main/features_config.c, doc/appdocsxml.dtd: Add documentation + for features configuration. Review: + https://reviewboard.asterisk.org/r/2616 (closes issue + ASTERISK-21542) Reported by Matt Jordan + +2013-06-24 13:49 +0000 [r392700] Kinsey Moore + + * main/asterisk.c, main/media_index.c (added), + include/asterisk/file.h, include/asterisk/http.h, + include/asterisk/sounds_index.h (added), + res/stasis_http/resource_sounds.c, include/asterisk/media_index.h + (added), main/file.c, main/http.c, include/asterisk/format.h, + rest-api/api-docs/sounds.json, include/asterisk/_private.h, + main/sounds_index.c (added), res/res_stasis_http.c: Index + installed sounds and implement ARI sounds queries This adds + support for stasis/sounds and stasis/sounds/{ID} queries via the + Asterisk RESTful Interface (ARI, formerly Stasis-HTTP). The + following changes have been made to accomplish this: * A modular + indexer was created for local media. * A new function to get an + ast_format associated with a file extension was added. * + Modifications were made to the built-in HTTP server so that URI + decoding could be deferred to the URI handler when necessary. * + The Stasis-HTTP sounds JSON documentation was modified to handle + cases where multiple languages are installed in different + formats. * Register and Unregister events for formats were added + to the system topic. (closes issue ASTERISK-21584) (closes issue + ASTERISK-21585) Review: https://reviewboard.asterisk.org/r/2507/ + +2013-06-23 19:19 +0000 [r392676] Matthew Jordan + + * res/res_fax.c: Properly pack the parameters into ast_json_pack + when sending a send fax message This patch properly packs the + parameters into the send fax message so that it actually work. + Missing a ',' between two string fields can be difficult to + debug, particularly when the actual packing succeeds. + Interestingly enough, this didn't actually crash until the JSON + blob we deref'd and disposed of. Since that happened in a + different thread, it was pretty tough to track down. + +2013-06-23 18:59 +0000 [r392627-392667] Joshua Colp + + * res/res_sip_outbound_registration.c, + res/res_sip_endpoint_identifier_ip.c, res/res_sip_acl.c: Add some + more missing ast_sorcery_generic_alloc conversions. + + * tests/test_sorcery_realtime.c, tests/test_sorcery_astdb.c: Add + missing ast_sorcery_generic_alloc conversions. + + * main/manager_endpoints.c: Fix a bug where messages were getting + duplicated on AMI. This was caused by forwarding all endpoint + messages to manager which includes channel messages that are + related to the endpoint. This change causes only the PeerStatus + messages to be forwarded to manager thus eliminating the + duplicate channel messages. + +2013-06-22 22:42 +0000 [r392607] Matthew Jordan + + * res/res_fax.c: Properly extract channel variables for the + SendFAX/ReceiveFAX Stasis messages By the time something extracts + the pointers from ast_json_pack, the channels will already be + disposed of. This patch properly pulls the information out of the + variables and packs them into the JSON blob. + +2013-06-22 14:26 +0000 [r392565-392586] Joshua Colp + + * main/sorcery.c, res/res_sip/config_domain_aliases.c, + res/res_sip/config_transport.c, res/res_sip/sip_configuration.c, + include/asterisk/sorcery.h, res/res_sip/config_auth.c, + res/res_sip/sip_options.c, res/res_sip/location.c, + tests/test_sorcery.c: Make sorcery details opaque and add + extended fields. Sorcery specific object information is now + opaque and allocated with the object. This means that modules do + not need to be recompiled if the sorcery specific part is + changed. It also means that sorcery can store additional + information on objects and ensure it is freed or the reference + count decreased when the object goes away. To facilitate the + above a generic sorcery allocator function has been added which + also ensures that allocated objects do not have a lock. Extended + fields have been added thanks to all of the above which allows + specific fields to be marked as extended, and thus simply stored + as-is within the object. Type safety is *NOT* enforced on these + fields. A consumer of them has to query and ultimately perform + their own safety check. What does this mean? Extra modules can + extend already defined structures without having to modify them. + Tests have also been included to verify extended field + functionality. Review: https://reviewboard.asterisk.org/r/2585/ + + * include/asterisk/sdp_srtp.h (added), channels/sip/sdp_crypto.c + (removed), main/pbx.c, channels/sip/srtp.c (removed), + res/res_sip_transport_websocket.c (added), channels/chan_sip.c, + res/res_sip_registrar.c, res/res_sip/sip_distributor.c, + include/asterisk/res_sip_session.h, + include/asterisk/res_sip_exten_state.h (added), + res/res_sip/security_events.c (added), + res/res_sip_registrar_expire.c (added), res/res_sip.c, + res/res_sip_pidf.c (added), include/asterisk/res_sip_pubsub.h, + channels/sip/include/sdp_crypto.h (removed), + res/res_sip/location.c, res/res_sip_outbound_registration.c, + channels/sip/include/srtp.h (removed), + res/res_sip_endpoint_identifier_anonymous.c (added), + res/res_sip_one_touch_record_info.c (added), + res/res_sip_pubsub.c, res/res_sip/config_transport.c, + configs/res_sip.conf.sample, res/res_sip/sip_configuration.c, + res/res_sip_diversion.c (added), res/res_sip_refer.c (added), + include/asterisk/res_sip.h, res/res_sip_dtmf_info.c, + main/sdp_srtp.c (added), res/res_sip/include/res_sip_private.h, + res/res_sip.exports.in, res/res_sip_exten_state.exports.in + (added), res/res_sip_session.exports.in, res/res_sip_sdp_rtp.c, + res/res_sip_messaging.c (added), res/res_sip_caller_id.c, + channels/chan_gulp.c, res/res_sip_session.c, + res/res_sip_exten_state.c (added), res/res_sip/sip_options.c, + res/res_sip_pubsub.exports.in, channels/sip/include/sip.h: Merge + in current pimp_my_sip work, including: 1. Security events 2. + Websocket support 3. Diversion header + redirecting support 4. An + anonymous endpoint identifier 5. Inbound extension state + subscription support 6. PIDF notify generation 7. One touch + recording support (special thanks Sean Bright!) 8. Blind and + attended transfer support 9. Automatic inbound registration + expiration 10. SRTP support 11. Media offer control dialplan + function 12. Connected line support 13. SendText() support 14. + Qualify support 15. Inband DTMF detection 16. Call and pickup + groups 17. Messaging support Thanks everyone! Side note: I'm + reminded of the song "How Far We've Come" by Matchbox Twenty. + +2013-06-22 13:58 +0000 [r392564] Matthew Jordan + + * res/res_fax.c: Fix a deadlock and possible crash in res_fax This + patch fixes two bugs. (1) It unlocks the channel in the framehook + handlers before attempting to grab the peer from the bridge. The + locking order for the bridging framework is bridge first, then + channel - having the channel locked while attempting to obtain + the bridge lock causes a locking inversion and a deadlock. This + patch bumps the channel ref count prior to releasing the lock in + the framehook to avoid lifetime issues. Note that this does + expose a subtle problem in framehooks; that is, something could + modify the framehook list while we are executing, causing issues + in the framehook list traversal that the callback executes in. + Fixing this is a much larger problem that is beyond the scope of + this patch - (a) we already unlock the channel in this particular + framehook and we haven't run into a problem yet (as modifying the + framehook list when a channel is about to perform a fax gateway + would be a very odd operation) and (b) migrating to an ao2 + container of framehooks would be more invasive at this point. See + the referenced ASTERISK issue for more information. (2) Directly + packing channel variables into a JSON object turned out to be + unsafe. A condition existed where the strings in the JSON blob + were no longer safe to be accessed if the channel object itself + was disposed of. (issue ASTERISK-21951) + +2013-06-22 12:40 +0000 [r392538] Joshua Colp + + * channels/chan_sip.c, channels/chan_skinny.c, + res/res_sip/sip_configuration.c, include/asterisk/res_sip.h, + main/manager_endpoints.c (added), + include/asterisk/stasis_endpoints.h, channels/chan_iax2.c, + include/asterisk/manager.h, channels/chan_gulp.c, + main/stasis_endpoints.c, res/res_sip.c, main/manager.c: Migrate + PeerStatus events to stasis, add stasis endpoints, and add + chan_pjsip device state. (closes issue ASTERISK-21489) (closes + issue ASTERISK-21503) Review: + https://reviewboard.asterisk.org/r/2601/ + +2013-06-21 22:39 +0000 [r392514] Richard Mudgett + + * include/asterisk/bridging.h, bridges/bridge_simple.c, + bridges/bridge_softmix.c, bridges/bridge_native_rtp.c, + main/bridging.c, include/asterisk/bridging_technology.h, + bridges/bridge_holding.c: Extract a useful routine from the + softmix bridge technology. * Extract a useful routine from the + softmix bridge technology for other technologies. Make other + technologies use it if they can. * Made native and 1-1 bridges + write to all parties if the bridge channel writing the frame into + the bridge is NULL. Softmix will also do the same for frame types + that make sense. * Tweak the bridge write routine return value + meaning and adjust the bridge technologies to match. + +2013-06-21 21:22 +0000 [r392489] Matthew Jordan + + * channels/chan_gulp.c: Add BUGBUG for broken direct media in + chan_gulp (issue ASTERISK-21947) + +2013-06-21 18:54 +0000 [r392464] Jason Parker + + * rest-api/api-docs/channels.json: Fix typo. + +2013-06-21 18:10 +0000 [r392437] Richard Mudgett + + * main/bridging.c: Add channel optimization interaction with frame + hooks BUGBUG comments. + +2013-06-21 18:05 +0000 [r392436] Mark Michelson + + * channels/chan_unistim.c: Change chan_unistim to use core transfer + API. Review: https://reviewboard.asterisk.org/r/2553 (closes + issue ASTERISK-21527) Reported by Matt Jordan + +2013-06-21 17:48 +0000 [r392435] Richard Mudgett + + * include/asterisk/bridging_technology.h, + include/asterisk/bridging.h, main/features.c, + bridges/bridge_softmix.c, main/bridging.c: Change several bridge + functions to return error status. The bridge frame queue + functions need to return an error status if the frame failed to + be queued because of an error condition. The main calls that + needed to return the status are: + ast_bridge_channel_queue_action_data() and + ast_bridge_channel_write_action_data(). The other return changes + are ripple effects. + +2013-06-21 14:21 +0000 [r392409] Matthew Jordan + + * contrib/scripts/autosupport: Update autosupport script This patch + updates the autosupport script to collect all information + available to the Asterisk CLI command "digium_phones". It also + makes minor improvements in options handling. (closes issue + AST-1163) Reported by: Trey Blancher patches: + 390347_autosupport.diff uploaded by tblancher (License 5821) + 390348_autosupport.diff uploaded by tblancher (License 5821) + +2013-06-20 21:13 +0000 [r392364] Joshua Colp + + * res/res_sip_session.c: Add a log message for when an incoming + session is rejected due to the extension not being found. + +2013-06-20 17:21 +0000 [r392335] Richard Mudgett + + * main/bridging.c, res/parking/parking_bridge_features.c, + apps/confbridge/conf_config_parser.c, + include/asterisk/bridging_features.h, main/features.c: Fix + potential bridge hook resource leak if the hook install fails. + +2013-06-20 16:29 +0000 [r392318] Mark Michelson + + * main/threadpool.c: Fix threadpool rapid growth problem. When a + threadpool is set to autoincrement its threadcount, an issue may + arise when multiple tasks are queued at once into the threadpool. + Since threads start active, each new task would result in + autoincrementing the thread count. So if all threads were active, + and a thread's autoincrement value were 5, then 3 new tasks would + result in 15 threads being created even though the initial + autoincrement was sufficient to handle the number of tasks. This + change introduces three behavior changes: 1) New threads in the + threadpool start idle instead of active. 2) When a threadpool + autoincrements, one thread is activated after the growth. 3) When + a threadpool's size is incremented manually, all added threads + are activated. For a more detailed explanation about the changes, + please see the Review Board link at the bottom of this commit. + Review: https://reviewboard.asterisk.org/r/2629 + +2013-06-19 22:52 +0000 [r392279] David M. Lee + + * main/Makefile, Makefile: Fix build problem on OS X Mountain Lion + (10.8) For about forever, our build flags for OS X have been + slightly off, but good enough to build and run. Apparently they + aren't good enough any more. Previously, we would compile with + macosx-version-min unset and link with it set. This combination, + using GCC 4.8, on Mountain Lion, would create a bad executable + ("Illegal Instruction: 4", or something like that) This patch + consistently sets macosx-version-min for both compiling and + linking, which makes everything happy enough to build and run. + +2013-06-19 12:55 +0000 [r392241] Kinsey Moore + + * main/cel.c, include/asterisk/cel.h: Pull CEL linkedid + manipulation into cel.c This finishes moving all CEL linkedid + tracking entirely within cel.c since that is now possible with + channel snapshots. This also removes another CEL linkedid + manipulation function from cel.h that has already been + internalized and is neither called nor available to link against. + Review: https://reviewboard.asterisk.org/r/2632/ + +2013-06-19 01:28 +0000 [r392190-392214] Matthew Jordan + + * funcs/func_cdr.c: Handle variable substitution in dummy variables + When func_cdr is used for variable substitution, there is no + channel name and hence no run-time information available for CDR + variable substitution. In that case, the correct thing to do is + to use the CDR object on the channel passed to the function. This + patch checks to see if the channel passed in has a name - if not, + it uses ast_cdr_format_var instead of ast_cdr_get_var. This + allows CDR backends to continue to use variable substitution in + order to resolve ast_cdr object properties. + + * tests/test_substitution.c: Fix the test_substitution test In + r391947, the CDR function was modified such that it will return a + value for the start,answer, and end times if asked. That time + will just be 0 if it hasn't happened yet. + +2013-06-18 19:31 +0000 [r392139-392166] Richard Mudgett + + * include/asterisk/bridging.h, main/bridging.c: Bridging: Fix crash + on destruction of a partially constructed bridge. * Promoted some + bridge construction debug messages to warnings. + + * main/bridging.c: Add some safety cleanup for a failed push into a + bridge. + + * main/bridging_basic.c: Remove stub comment on function that is + not a stub. + +2013-06-18 14:30 +0000 [r392116] Kinsey Moore + + * include/asterisk/stasis_bridging.h, + rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix + bridge snapshot conversion to JSON This makes + ast_bridge_snapshot_to_json conform to the swagger Bridge model + by adding the two fields it required. Review: + https://reviewboard.asterisk.org/r/2583/ + +2013-06-17 18:58 +0000 [r392076] David M. Lee + + * funcs/func_cdr.c, main/cdr.c: Fix build warnings related to + printf/scanf of tv_usec. The type of tv_usec is suseconds_t. On + Linux, this is usually a long int, but the specification is + actually pretty lax on what it might actually be. And, sadly, + there's no printf/scanf width specifier for suseconds_t. So it + could bit an int or a long, but there's not a great way to tell + which it is. This patch fixes scanf by reading into a long + temporary variable that's then stored into the tv_usec. It fixes + printf by casting the tv_usec to a long first. This patch also + adds some missing width specifiers for some debug statements, + which would cause ".000001" to be displayed at ".1". + +2013-06-17 18:37 +0000 [r392053-392073] Richard Mudgett + + * main/channel.c, channels/chan_vpb.cc: chan_vpb: Fix compile error + and __ast_channel_alloc() prototype const inconsistency. + + * channels/chan_misdn.c: chan_misdn: Fix compile error after CDR + merge. + +2013-06-17 16:59 +0000 [r392032] Jason Parker + + * include/asterisk/app.h: Fix a build warning with stasis messages. + +2013-06-17 14:40 +0000 [r392004-392005] Matthew Jordan + + * main/manager_channels.c: Prevent sending a NewExten event after a + Hangup during a stack restore When a channel is originated, its + application is typically set to AppDial2, indicating that it was + a dialed channel through the Dial API. Asterisk during an + originate will perform a stack execute to direct the outgoing + channel to a particular place in the dialplan or application. + When the stack returns, the previous application (AppDial2) is + restored. Unfortunately, in the case of an originated channel, + the stack restore happens after hangup. A stasis message is sent + notifying everyone that the application was restored, and this + causes a NewExten event to go out after the Hangup event, + violating the basic contract consumers have of the channel + lifetime. While we could preclude the message from going out, + restoring the channel's state before it executed the next higher + frame in the stack has to occur, and other places in the code + depend on this behavior. Since we know that channel hung up (it's + a ZOMBIE!), this patch simply checks to see if the channel has + been zombified before sending a NewExten event. Note that this + will fix a number of bouncing tests in the Test Suite. Go tests. + + * CHANGES: Restore bad merge on CHANGES The patch for CDRs moved + around a lot of content in CHANGES to try and organize the areas + that were affected. This missed some changes that went in with a + merge and removed some updates - this patch adds them back in. + +2013-06-17 12:28 +0000 [r391982] Joshua Colp + + * main/cdr.c: Fix build warning (which is transmogrified into an + error) with my compiler due to uninitialized variable. + +2013-06-17 03:31 +0000 [r391947-391964] Matthew Jordan + + * addons/cdr_mysql.c: Make cdr_mysql compile again by not directly + setting the run-time CDR object A stray ast_cdr_setvar was missed + in cdr_mysql (silly addons). This has now been refactored to not + set the property, as the property would have been set on a + run-time object that was already dispatched to the backend. The + module simply remembers the value it wanted to set and writes it + to MySQL later in the processing. + + * cdr/cdr_pgsql.c, apps/app_followme.c, channels/chan_iax2.c, + res/res_config_sqlite.c, main/stasis.c, cdr/cdr_csv.c, + main/cli.c, main/dial.c, channels/chan_skinny.c, + cel/cel_manager.c, res/res_agi.c, main/stasis_channels.c, + cdr/cdr_odbc.c, tests/test_cdr.c (added), main/bridging_basic.c, + main/pbx.c, channels/chan_sip.c, main/channel_internal_api.c, + UPGRADE.txt, include/asterisk/cdr.h, include/asterisk/channel.h, + res/res_stasis_answer.c, main/cel.c, cdr/cdr_tds.c, + funcs/func_channel.c, funcs/func_cdr.c, + include/asterisk/bridging.h, addons/cdr_mysql.c, + funcs/func_callerid.c, apps/app_cdr.c, include/asterisk/time.h, + cel/cel_radius.c, include/asterisk/stasis_internal.h (added), + include/asterisk/channel_internal.h, main/utils.c, + cdr/cdr_adaptive_odbc.c, cdr/cdr_radius.c, main/channel.c, + main/cdr.c, include/asterisk/test.h, channels/chan_dahdi.c, + main/manager.c, apps/app_osplookup.c, main/features.c, + apps/app_dumpchan.c, main/manager_channels.c, main/bridging.c, + cdr/cdr_custom.c, channels/chan_mgcp.c, cdr/cdr_manager.c, + apps/app_dial.c, main/stasis_cache.c, cdr/cdr_syslog.c, + cel/cel_tds.c, channels/chan_agent.c, apps/app_disa.c, + apps/app_queue.c, CHANGES, res/res_monitor.c, apps/app_forkcdr.c, + include/asterisk/stasis_channels.h, main/test.c, + channels/chan_h323.c, main/asterisk.c, channels/chan_unistim.c, + addons/chan_ooh323.c, include/asterisk/cel.h, + apps/app_authenticate.c: Update Asterisk's CDRs for the new + bridging framework This patch is the initial push to update + Asterisk's CDR engine for the new bridging framework. This patch + guts the existing CDR engine and builds the new on top of + messages coming across Stasis. As changes in channel state and + bridge state are detected, CDRs are built and dispatched + accordingly. This fundamentally changes CDRs in a few ways. (1) + CDRs are now *very* reflective of the actual state of channels + and bridges. This means CDRs track well with what an actual + channel is doing - which is useful in transfer scenarios (which + were previously difficult to pin down). It does, however, mean + that CDRs cannot be 'fooled'. Previous behavior in Asterisk + allowed for CDR applications, channels, and other properties to + be spoofed in parts of the code - this no longer works. (2) CDRs + have defined behavior in multi-party scenarios. This behavior + will not be what everyone wants, but it is a defined behavior and + as such, it is predictable. (3) The CDR manipulation functions + and applications have been overhauled. Major changes have been + made to ResetCDR and ForkCDR in particular. Many of the options + for these two applications no longer made any sense with the new + framework and the (slightly) more immutable nature of CDRs. There + are a plethora of other changes. For a full description of CDR + behavior, see the CDR specification on the Asterisk wiki. (closes + issue ASTERISK-21196) Review: + https://reviewboard.asterisk.org/r/2486/ + +2013-06-14 23:26 +0000 [r391921] Mark Michelson + + * main/app.c: Fix regression in MWI stasis handling. In revision + 389733, mwi state allocation was placed into its own function + instead of performing the allocation in-line when required. The + issue was that in ast_publish_mwi_state_full(), the local + variable "uniqueid" was no longer being set, but it was still + being used as the topic for MWI. This meant that all MWI + publications ended up being published to the "" (empty string) + mailbox topic. Thus MWI subscriptions for specific mailboxes were + never notified of mailbox state changes. This change fixes the + issue by removing the local uniqueid variable from + ast_publish_mwi_state_full() and instead referencing the + mwi_state->uniqueid field since it has been properly set. (closes + issue ASTERISK-21913) Reported by Malcolm Davenport + +2013-06-14 21:57 +0000 [r391902] Joshua Colp + + * res/res_sip_registrar.c: Ensure that the number of added contacts + never goes below 0. This can happen when a REGISTER request is + removing a contact. (closes issue ASTERISK-21911) Reported by: + mdavenport + +2013-06-14 18:50 +0000 [r391855-391856] Kinsey Moore + + * main/stasis_bridging.c, include/asterisk/stasis_bridging.h, + rest-api/api-docs/bridges.json: Revert parts of r391855 that were + not ready to go in to trunk + + * main/cel.c, include/asterisk/stasis_bridging.h, + rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix two + more possible crashes in CEL These are locations that should + return valid snapshots, but need to be handled if not. + +2013-06-14 16:32 +0000 [r391828] Jonathan Rose + + * apps/app_mixmonitor.c, /: app_mixmonitor: Fix crashes caused by + unloading app_mixmonitor Unloading app_mixmonitor while active + mixmonitors were running would cause a segfault. This patch fixes + that by making it impossible to unload app_mixmonitor while + mixmonitors are active. Review: + https://reviewboard.asterisk.org/r/2624/ ........ Merged + revisions 391778 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 391794 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-06-14 16:12 +0000 [r391776-391777] Kinsey Moore + + * main/cel.c: Fix a crash in CEL bridge snapshot handling Properly + search for bridge association structures so that they are found + when expected and handle cases where they don't exist. + + * main/bridging.c: Publish bridge snapshots more often Bridge + snapshot events were missing some important transitions that were + noticed in subsequent snapshots. Snapshots will now be published + on all bridge reconfigurations. + +2013-06-13 21:53 +0000 [r391732] Matthew Jordan + + * utils/conf2ael.c, utils/check_expr.c, utils/refcounter.c, + utils/ael_main.c: Make the utils directory compile... again. + Utils is a source folder that lies, eventually all developers + will cry, "I know I must maintain it, But really with this last + commit I can kiss my software ethics good-bye." + +2013-06-13 19:04 +0000 [r391701] Richard Mudgett + + * apps/app_confbridge.c, apps/confbridge/conf_config_parser.c, /, + apps/confbridge/include/confbridge.h: app_confbridge: Fix memory + leak on reload. The config framework options should not be + registered multiple times. Instead the configuration just needs + to be reprocessed by the config framework. ........ Merged + revisions 391700 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-06-13 18:26 +0000 [r391699] Mark Michelson + + * main/features_config.c: Just return outright on a reload since we + have already processed configuration. + +2013-06-13 18:20 +0000 [r391689] Kinsey Moore + + * main/cel.c: Ensure that Asterisk still starts up when cel.conf is + missing + +2013-06-13 18:17 +0000 [r391676] Mark Michelson + + * main/features_config.c: Fix memory leak in features_config.c The + options should not be registered multiple times. Instead, the + configuration just needs to be reprocessed by the config + framework. This also exposed that we were not properly telling + the config framework to treat the configuration processing with + the "reload" semantics when a reload occurred. Both of these + errors are fixed now. Thanks to Richard Mudgett for discovering + the leak. + +2013-06-13 18:14 +0000 [r391675] Matthew Jordan + + * main/json.c, main/manager.c, include/asterisk/json.h: Blow away + usage of libjansson's foreach macro While very handy, this macro + didn't occur until a later version of libjansson. We'd prefer to + be compatible with older versions still - as such, iteration over + key/value pairs in a JSON object have to be done with a little + bit more manual work. + +2013-06-13 13:46 +0000 [r391622-391643] Kinsey Moore + + * main/parking.c, include/asterisk/cel.h, main/features.c, + include/asterisk/_private.h, main/cel.c, + include/asterisk/parking.h, main/asterisk.c, + res/parking/parking_manager.c: Refactor CEL bridge events on top + of Stasis-Core This pulls bridge-related CEL event triggers out + of the code in which they were residing and pulls them into cel.c + where they are now triggered by changes in bridge snapshots. To + get access to the Stasis-Core parking topic in cel.c, the + Stasis-Core portions of parking init have been pulled into core + Asterisk init. This also adds a new CEL event + (AST_CEL_BRIDGE_TO_CONF) that indicates a two-party bridge has + transitioned to a multi-party conference. The reverse cannot + occur in CEL terms even though it may occur in actuality and two + party bridges which receive a AST_CEL_BRIDGE_TO_CONF will be + treated as multi-party conferences for the duration of the + bridge. Review: https://reviewboard.asterisk.org/r/2563/ (closes + issue ASTERISK-21564) + + * main/config_options.c, main/stasis_channels.c, + include/asterisk/strings.h, main/cel.c, + include/asterisk/stasis_bridging.h, main/asterisk.c, + main/channel.c, include/asterisk/config_options.h, main/pbx.c, + include/asterisk/stasis_channels.h, main/stasis_bridging.c: + Refactor CEL channel events on top of Stasis-Core This uses the + channel state change events from Stasis-Core to determine when + channel-related CEL events should be raised. Those refactored in + this patch are: * AST_CEL_CHANNEL_START * AST_CEL_ANSWER * + AST_CEL_APP_START * AST_CEL_APP_END * AST_CEL_HANGUP * + AST_CEL_CHANNEL_END Retirement of Linked IDs is also refactored. + CEL configuration has been refactored to use the config + framework. Note: Some HANGUP events are not generated correctly + because the bridge layer does not propagate + hangupcause/hangupsource information yet. Review: + https://reviewboard.asterisk.org/r/2544/ (closes issue + ASTERISK-21563) + +2013-06-13 11:02 +0000 [r391596] Joshua Colp + + * main/channel_internal_api.c, include/asterisk/stasis.h, + include/asterisk/channel.h, include/asterisk/stasis_endpoints.h, + main/endpoints.c, res/stasis_http/resource_endpoints.c, + main/stasis_cache.c, main/stasis_endpoints.c: Add support for + requiring that all queued messages on a caching topic have been + handled before retrieving from the cache and also change adding + channels to an endpoint to be an immediate operation. Review: + https://reviewboard.asterisk.org/r/2599/ + +2013-06-12 21:08 +0000 [r391561] David M. Lee + + * res/res_http_websocket.c, /: Fix segfault for certain invalid + WebSocket input. The WebSocket code would allocate, on the stack, + a string large enough to hold a key provided by the client, and + the WEBSOCKET_GUID. If the key is NULL, this causes a segfault. + If the key is too large, it could overflow the stack. This patch + checks the key for NULL and checks the length of the key to avoid + stack smashing nastiness. (closes issue ASTERISK-21825) Reported + by: Alfred Farrugia Tested by: Alfred Farrugia, David M. Lee + Patches: issueA21825_check_if_key_is_sent.patch uploaded by + Walter Doekes (license 5674) ........ Merged revisions 391560 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-06-12 02:29 +0000 [r391479-391521] Matthew Jordan + + * /, main/endpoints.c, main/loader.c, main/format.c: Fix memory + leak while loading modules, adding formats, and destroying + endpoints This patch fixes three memory leaks * When we load a + module with the LOAD_PRIORITY flag, we remove its entry from the + load order list. Unfortunately, we don't free the memory + associated with entry in the list. This patch corrects that and + properly frees the memory for the module in the list. * When + adding a custom format (such as SILK or CELT), the routine for + adding the format was leaking a reference. RAII_VAR cleans this + up properly. * We now de-ref the channel_snapshot appropriately + when an endpoint is disposed of ........ Merged revisions 391489 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 391507 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/stasis_channels.c, bridges/bridge_native_rtp.c: Fix memory + leaks in stasis_channels and bridge_native_rtp This patch fixes + two memory leaks: * A memory leak in packing channels into a + multi-channel blob payload when publishing dial messages. The + multi-channel blob payload does not steal the references - this + approach was chosen because it works well with the RAII_VAR + macro. Unfortunately, this does mean that you actually have to + use the RAII_VAR macro (or manually deref it yourself) * RTP + instances returned as a result of one of the glue operations are + ref counted and have to be de-ref'd appropriately. We now do + that, as saying that we should do it and then not would be silly. + +2013-06-11 22:57 +0000 [r391455] Mark Michelson + + * main/bridging.c: Remove incorrect comment about local channel + optimization occurring when performing an attended transfer on an + entire bridge. + +2013-06-11 22:21 +0000 [r391430-391453] Jonathan Rose + + * include/asterisk/framehook.h, main/framehook.c, + bridges/bridge_native_rtp.c: bridge_native_rtp: Fix native bridge + tech being incompatible when it should be. When checking + compatability for the native RTP bridge technology there is a + race condition between clearing framehooks that are destroyed + when leaving certain bridges with certain technologies (such as + bridge_native_rtp) and joining bridges with the bridge_native_rtp + technology. Yes, that means a channel in a native RTP bridge + could move to another native RTP bridge and be considered + incompatible with the new native RTP bridge causing it to revert + to a simple bridge technology0. This fixes that bug by ignoring + framehooks that have been marked for destruction when checking + for compatibility with the bridge_native_rtp technology. + + * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix possible + segfaults on leaves/joins native_rtp_bridge_get can return any + result from the ast_rtp_glue_result enumerator and the join/leave + functions for bridge_native_rtp seem to assume that if the result + wasn't local that it was remote. Meanwhile forbid can be returned + by that function which can mean certain glue pointers are NULL. + Then when the join/leave functions try to use members of that + pointer, boom. Segfault. + +2013-06-11 15:46 +0000 [r391403] David M. Lee + + * tests/test_stasis.c, main/manager_channels.c, main/manager.c, + main/stasis_message.c, main/parking.c, + tests/test_stasis_channels.c, include/asterisk/stasis.h, + main/stasis_channels.c: Add vtable and methods for to_json and + to_ami for Stasis messages When a Stasis message type is defined + in a loadable module, handling those messages for AMI and + res_stasis events can be cumbersome. This patch adds a vtable to + stasis_message_type, with to_ami and to_json virtual functions. + These allow messages to be handled abstractly without putting + module-specific code in core. As an example, the VarSet AMI event + was refactored to use the to_ami virtual function. (closes issue + ASTERISK-21817) Review: https://reviewboard.asterisk.org/r/2579/ + +2013-06-11 10:24 +0000 [r391380] Igor Goncharovskiy + + * channels/chan_unistim.c, /: Fix issue with no sound in both way + in case of previous call to chan_unistim phone was canceled. + (related to ASTERISK-20183) ........ Merged revisions 391379 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-06-11 08:13 +0000 [r391335] Alec L Davis + + * channels/chan_iax2.c, /: IAX2: Transfer Reject: Lock bridgecallno + before touching it, refactor 1). When touching the bridgecallno, + we need to lock it. 2). Remove magic number '0' and replace with + TRANSFER_NONE. 3). Exit early if no bridgecallno. 4). Reduce + indentation. Reported by: alecdavis Tested by: alecdavis + alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2613/ ........ Merged + revisions 391333 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 391334 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-06-10 22:38 +0000 [r391314] Matthew Jordan + + * main/loader.c: Make the reload stasis message bump the ref count + of its sub-object JSON objects are reference stealing. Hence, if + you've RAII_VAR'd some subobject and want to pack it into another + JSON object, you have to bump the reference count. Using the 'O' + option during the pack will bump the reference count for you. + +2013-06-10 21:04 +0000 [r391297] Damien Wedhorn + + * channels/chan_skinny.c: Change chan_skinny to use core transfer + API. Changes for both attended and blind transfers in chan_skinny + to use the new transfer API instead of masquerade. (closes issue + ASTERISK-21526) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2557/ + +2013-06-10 16:03 +0000 [r391271] Kinsey Moore + + * res/res_agi.c: Add AGI command arguments to AsyncAGI event This + makes the AGI AsyncAGI event put provided AGI command arguments + in the event's environment. (closes issue ASTERISK-21304) + Patch-By: Dirk Wendland + +2013-06-10 15:32 +0000 [r391269] Mark Michelson + + * main/features_config.c: Temporary fix for people using sample + features.conf from previous Asterisk versions. People who use the + features.conf.sample file from Asterisk 11 and before in trunk + were given a rude awakening when features configuration changes + were made. Because it uses the config framework and the config + framework is strict about what is accepted and what isn't, people + that had parking options configured found that Asterisk no longer + started. This is because parking options are currently handled in + res_parking.conf instead of features.conf. This fix seeks to + create a temporary band-aid fix for the problem, but having + parking options from the general section be passed to a handler + that will simply print that the option is no longer supported. + This will not cause Asterisk to exit. The fix only applies to + options in the general section. There are two main reasons for + this: 1) The sample features.conf file only has parking options + in the general section. There are no configured parking lots. + Therefore it's not quite as "urgent" to get the parking lot + parsing fixed. 2) The plan is to move parking configuration back + from res_parking.conf to features.conf. When that happens, the + parking lots will also be addressed at that time. + +2013-06-10 14:36 +0000 [r391245] Matthew Jordan + + * UPGRADE.txt, apps/app_queue.c, /, configs/queues.conf.sample: Add + announce-to-first-user option for app_queue In r386792, the + ability to play prompts to the first caller in a call queue was + added. While this is arguably a bug fix for those who expect the + first caller to continue receiving prompts while the agent is + dialed, it has the side effect of preventing the first caller + from hearing the agent immediately upon bridging. This may not be + a problem for those who really want this option, but for those + who didn't care whether or not the first caller in queue heard + their position, it was an issue. This patch disables the ability + for the first caller in the queue to hear prompts and adds a new + option, announce-to-first-user, to queues.conf. Those who the + behavior can enable it by setting this value to True. Note that + if we ever implement the ability to have the prompts be stopped + upon bridging, this option can be removed. (closes issue + ASTERISK-21782) Reported by: Remi Quezada ........ Merged + revisions 391215 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 391241 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-06-10 13:07 +0000 [r391199] Kinsey Moore + + * res/stasis/control.c, res/stasis/app.c, + res/res_stasis_bridge_add.exports.in (added), + include/asterisk/stasis_app.h, + res/stasis_http/resource_bridges.c, res/stasis/app.h, + res/res_stasis_json_events.c, include/asterisk/stasis_bridging.h, + rest-api/api-docs/bridges.json, + res/stasis_http/resource_bridges.h, res/res_stasis_bridge_add.c + (added), main/stasis_bridging.c, + res/stasis_json/resource_events.h, res/res_stasis.c, + res/res_stasis_json_events.exports.in, + rest-api/api-docs/events.json: Stasis-HTTP: Flesh out + bridge-related capabilities This adds support for Stasis + applications to receive bridge-related messages when the + application shows interest in a given bridge. To supplement this + work and test it, this also adds support for the following + bridge-related Stasis-HTTP functionality: * GET stasis/bridges * + GET stasis/bridges/{bridgeId} * POST stasis/bridges * DELETE + stasis/bridges/{bridgeId} * POST + stasis/bridges/{bridgeId}/addChannel * POST + stasis/bridges/{bridgeId}/removeChannel Review: + https://reviewboard.asterisk.org/r/2572/ (closes issue + ASTERISK-21711) (closes issue ASTERISK-21621) (closes issue + ASTERISK-21622) (closes issue ASTERISK-21623) (closes issue + ASTERISK-21624) (closes issue ASTERISK-21625) (closes issue + ASTERISK-21626) + +2013-06-10 09:33 +0000 [r391064-391154] Alec L Davis + + * /, channels/chan_iax2.c: chan_iax2: nativebridge refactor, missed + unlock bridgecallno ........ Merged revisions 391143 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 391148 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_iax2.c, /: fix bad edit after conflict resolution + ........ Merged revisions 391107 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 391111 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_iax2.c, /: IAX2: refactor nativebridge transfer + remove triple checking of iaxs[fr->callno]->transferring reduce + indentation. Reported by: alecdavis Tested by: alecdavis + alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2602/ ........ Merged + revisions 391065 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 391084 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_iax2.c: IAX2: fix race condition with + nativebridge transfers. 1). When touching the bridgecallno, we + need to lock it. 2). stop_stuff() which calls + iax2_destroy_helper() Assumes the lock on the pvt is already + held, when iax2_destroy_helper() is called. Thus we need to lock + the bridgecallno pvt before we call + stop_stuff(iaxs[fr->callno]->bridgecallno); 3). When evaluating + the state of 'callno->transferring' of the current leg, we can't + change it to READY unless the bridgecallno is locked. Why, if we + are interrupted by the other call leg before 'transferring = + TRANSFER_RELEASED', the interrupt will find that it is READY and + that the bridgecallno is also READY so Releases the legs. (closes + issue ASTERISK-21409) Reported by: alecdavis Tested by: alecdavis + alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2594/ ........ Merged + revisions 391062 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 391063 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-06-09 21:11 +0000 [r391012-391040] Matthew Jordan + + * main/app.c: Clean up MWI topic pool before message type + destruction Topics need to be disposed of prior to the message + types that are published on them. This includes topic pools. This + prevents an assertion from being raised on shutdown. + + * main/manager.c: Only initialize manager_bridging during startup + This moves the initialization call behind the protection against + reloads. We don't want to re-add message router routes during + reloads. + + * include/asterisk/backtrace.h (added), include/asterisk/logger.h, + main/backtrace.c (added), main/logger.c, include/asterisk/lock.h, + main/astmm.c, utils/extconf.c, main/astobj2.c: Add backtrace + generation to MALLOC_DEBUG memory corruption reports This patch + allows astmm to access the backtrace generation code in Asterisk. + When memory is allocated, a backtrace is created and stored with + the memory region that tracks the allocation. If a memory + corruption is detected, the backtrace is printed to the astmm + log. The backtrace will make use of the BETTER_BACKTRACES build + option if available. As a result, this patch moves the backtrace + generation code into its own file and uses the non-wrapped + versions of the C library memory allocation routines. This allows + the memory allocation code to safely use the backtrace generation + routines without infinitely recursing. Review: + https://reviewboard.asterisk.org/r/2567 + +2013-06-08 06:31 +0000 [r390940-390991] Richard Mudgett + + * main/bridging.c, include/asterisk/bridging_technology.h: Add more + support for native bridging. * Added a start technology callback + that technologies can use to start bridging operations. It is + expected that native bridges will find this useful. * Factored + out bridge_channel_complete_join(). + + * bridges/bridge_softmix.c, main/bridging.c, + include/asterisk/bridging_technology.h: Fix a crash when a bridge + switches from the softmix bridge technology to another. A three + party bridge uses the softmix bridging technology. This + technology has a dedicated thread used to perform the analog + mixing. When one of these parties leaves the bridge, the bridge + technology is changed from the softmix technology to a two-party + mixing technology. Changing technologies is done by removing + channels from the old technology and adding them to the new + technology. Since the remaining channels do not leave the bridge, + the softmix mixing thread could continue to process all channels + in the bridge. If the bridge code is not able to start + destruction of the softmix technology before the softmix mixing + thread wakes up, a crash happens. * Added a stop technology + callback that technologies can use to request any helper threads + to stop in preparation for being destroyed. (closes issue + AST-1156) Reported by: John Bigelow + + * include/asterisk/bridging_technology.h: Update some doxygen + comments. + + * bridges/bridge_softmix.c: The bridge uniqueid is available for + softmix destructor. + + * bridges/bridge_softmix.c: Add some bridge identifiers to some + softmix messages. + +2013-06-07 20:51 +0000 [r390920] Jonathan Rose + + * res/parking/parking_devicestate.c (added): res_parking: Add + parking_devicestate.c left out from previous commit (issue + ASTERISK-21645) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2545/ + +2013-06-07 19:51 +0000 [r390885-390901] Jason Parker + + * main/manager.c, configs/queues.conf.sample, CHANGES, + apps/app_queue.c: Make app_queue AMI events more consistent. Give + Join/Leave more useful names. This also removes the + eventwhencalled and eventmemberstatus configuration options. + These events can just be filtered via manager.conf blacklists. + (closes issue ASTERISK-21469) Review: + https://reviewboard.asterisk.org/r/2586/ + + * res/stasis_json/resource_channels.h, + res/stasis_http/resource_channels.c, + res/res_stasis_http_channels.c, + res/stasis_http/resource_channels.h, + rest-api/api-docs/channels.json: Implement ARI POST to /channels, + to originate a call. (closes issue ASTERISK-21617) Review: + https://reviewboard.asterisk.org/r/2597/ + +2013-06-07 16:22 +0000 [r390864] Kinsey Moore + + * tests/test_devicestate.c: Ensure that all unit tests compile with + the cache clear rework in place + +2013-06-07 16:07 +0000 [r390848-390849] Jonathan Rose + + * res/parking/parking_bridge_features.c, + res/parking/parking_bridge.c, main/pbx.c, + res/parking/res_parking.h, res/res_parking.c, main/features.c, + res/parking/parking_controller.c, include/asterisk/pbx.h, + CHANGES: res_parking: Automatically generate extensions, hints, + etc. (closes issue ASTERISK-21645) Reported by: Matt Jordan + Review: https://reviewboard.asterisk.org/r/2545/ + + * main/manager.c, apps/app_meetme.c, + apps/confbridge/confbridge_manager.c, include/asterisk/manager.h: + app_meetme: Refactor manager events to use stasis (closes issue + ASTERISK-21467) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2564/ + +2013-06-07 12:56 +0000 [r390830] Kinsey Moore + + * main/endpoints.c, tests/test_stasis.c, main/bridging.c, + main/channel.c, main/stasis_cache.c, include/asterisk/stasis.h, + main/stasis_channels.c: Rework stasis cache clear events Stasis + cache clear message payloads now consist of a stasis_message + representative of the message to be cleared from the cache. This + allows multiple parallel caches to coexist and be cleared + properly by the same cache clear message even when keyed on + different fields. This change fixes a bug where multiple cache + clears could be posted for channels. The cache clear is now + produced in the destructor instead of ast_hangup. Additionally, + dummy channels are no longer capable of producing channel + snapshots. Review: https://reviewboard.asterisk.org/r/2596 + +2013-06-07 01:06 +0000 [r390803-390804] Richard Mudgett + + * channels/chan_misdn.c, channels/sig_analog.c, channels/sig_pri.c, + channels/sig_pri.h, main/channel.c, channels/chan_dahdi.c: + Refactor chan_dahdi/sig_analog/sig_pri and chan_misdn to use the + common transfer functions. (closes issue ASTERISK-21523) Reported + by: Matt Jordan (closes issue ASTERISK-21524) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2600/ + + * main/features_config.c: Tweak applicationmap and featuregroup + config containers. * Change applicationmap and featuregroup to + replace duplicate config items rather than reject them. * Remove + some unneeded warning messages when getting the applicationmap + allows duplicates from DYNAMIC_FEATURES. + +2013-06-06 23:32 +0000 [r390787] Mark Michelson + + * main/features_config.c: Conditionally reject duplicate entries in + applicationmap containers. When reading from a config file, it's + important to reject duplicates. Otherwise, featuregroups will + have ambiguity when pointing to applicationmap items. However, + when constructing the channel's current applicationmap, we don't + care about duplicate names since it's the DTMF that identifies a + feature, not the name. + +2013-06-06 22:46 +0000 [r390771] Richard Mudgett + + * configs/iax.conf.sample, configs/chan_dahdi.conf.sample, + bridges/bridge_builtin_features.c, + include/asterisk/bridging_features.h, + include/asterisk/bridging.h, main/features.c, UPGRADE.txt, + configs/sip.conf.sample, configs/skinny.conf.sample, CHANGES, + main/bridging.c: Reimplement bridging and DTMF features related + channel variables in the bridging core. * The channel variable + ATTENDED_TRANSFER_COMPLETE_SOUND is no longer channel driver + specific. If the channel variable is set on the transferrer + channel, the sound will be played to the target of an attended + transfer. * The channel variable BRIDGEPEER becomes a comma + separated list of peers in a multi-party bridge. The BRIDGEPEER + value can have a maximum of 10 peers listed. Any more peers in + the bridge will not be included in the list. BRIDGEPEER is not + valid in holding bridges like parking since those channels do not + talk to each other even though they are in a bridge. * The + channel variable BRIDGEPVTCALLID is only valid for two party + bridges and will contain a value if the BRIDGEPEER's channel + driver supports it. * The channel variable DYNAMIC_PEERNAME is + redundant with BRIDGEPEER and is removed. The more useful + DYNAMIC_WHO_ACTIVATED gives the channel name that activated the + dynamic feature. * The channel variables DYNAMIC_FEATURENAME and + DYNAMIC_WHO_ACTIVATED are set only on the channel executing the + dynamic feature. Executing a dynamic feature on the bridge peer + in a multi-party bridge will execute it on all peers of the + activating channel. (closes issue ASTERISK-21555) Reported by: + Matt Jordan Review: https://reviewboard.asterisk.org/r/2582/ + +2013-06-06 21:40 +0000 [r390751] Mark Michelson + + * channels/sip/include/sip.h, main/bridging.c, + channels/chan_mgcp.c, apps/app_dial.c, channels/chan_unistim.c, + channels/chan_sip.c, include/asterisk/features_config.h (added), + include/asterisk/channel.h, main/features_config.c (added), + include/asterisk/features.h, channels/chan_dahdi.c, + channels/chan_misdn.c, channels/sig_analog.c, main/manager.c, + bridges/bridge_builtin_features.c, main/features.c: Refactor the + features configuration scheme. Features configuration is handled + in its own API in features_config.h and features_config.c. This + way, features configuration is accessible to anything that needs + it. In addition, features configuration has been altered to be + more channel-oriented. Most callers of features API code will be + supplying a channel so that the individual channel's settings + will be acquired rather than the global setting. Missing from + this commit is XML documentation for the features configuration. + That will be handled in a separate commit. Review: + https://reviewboard.asterisk.org/r/2578/ (issue ASTERISK-21542) + +2013-06-06 20:50 +0000 [r390733-390734] Richard Mudgett + + * main/stasis_message_router.c: Fix compiler warning. + + * main/bridging.c, main/features.c, apps/app_bridgewait.c: * Fix a + couple missed hook installs that need + AST_BRIDGE_HOOK_REMOVE_ON_PULL. * Rename some hook flag + parameters to remove_flags. + +2013-06-06 20:37 +0000 [r390730] Kinsey Moore + + * res/res_agi.c: Fix documentation generation Regression from + r390701 + +2013-06-06 20:32 +0000 [r390729] Jason Parker + + * /: Remove props that people will yell at me for. I'm sorry I + broke automerge. :( + +2013-06-06 20:30 +0000 [r390728] Kinsey Moore + + * res/parking/parking_manager.c: Fix documentation that was in + review during the great suffix/prefix swap + +2013-06-06 19:51 +0000 [r390698-390701] Jason Parker + + * CHANGES, /, res/res_agi.c: Split AGI manager events, to remove + SubEvent field. This moves them to stasis, in the process. + (closes issue ASTERISK-21470) Review: + https://reviewboard.asterisk.org/r/2587/ + + * main/stasis_message_router.c, + include/asterisk/stasis_message_router.h: Convert message_router + routes to ao2. Add support for removal. Review: + https://reviewboard.asterisk.org/r/2591/ + +2013-06-06 18:21 +0000 [r390669] Jonathan Rose + + * main/bridging.c: Parking: Enable code responsible for + intercepting park exten transfers + +2013-06-06 01:52 +0000 [r390612-390639] Richard Mudgett + + * channels/chan_dahdi.c: Add a BUGBUG note. + + * main/bridging.c: Misc core external attended transfer fixes. * + Fix external attended transfer bridge move/swap method. One of + the transferrer channels was not kicked out of the bridge. * Fix + several off-nominal extended attended transfer paths. Mainly the + channels involved needed to be hung up or kicked out of the + bridge. + + * main/core_local.c: Make local channels use ast_channel_move() + instead of the inlined version. + +2013-06-05 21:14 +0000 [r390584-390585] David M. Lee + + * include/asterisk/stasis.h: Corrected comment on stasis_cache_get + + * main/manager_channels.c: Fixed refcounting problems with chanspy + AMI support. The ast_multi_channel_blob_get_channel function does + not bump the refcount on the channel snapshot that it returns. + This is typical for Stasis message payloads, since being + immutable means that the object won't get unreffed out from + underneath you. The manager code for chanspy was unreffing the + snapshots it got out of the multi-channel blob, which was one + unref too many. + +2013-06-05 19:19 +0000 [r390510-390550] Mark Michelson + + * main/bridging.c, res/parking/parking_bridge_features.c, + main/bridging_basic.c, include/asterisk/bridging_features.h, + main/features.c, bridges/bridge_builtin_interval_features.c: + Remove remaining traces of remove_on_pull from hooks and hook + APIs. + + * include/asterisk/bridging_features.h: Give the + AST_BRIDGE_HOOK_REMOVE_ON_PULL a legitimate value. + + * include/asterisk/bridging_features.h, main/bridging.c: Change the + remove_on_pull flag on ast_bridge_hook to be a set of flags. This + change is used to make bridge hook removal more generic. This + way, depending on the circumstance, the appropriate bridge hooks + may be removed. + +2013-06-05 14:50 +0000 [r390473] Joshua Colp + + * main/channel.c: Publish the channel state snapshot *before* + calling device state so a device state producer can use an up to + date snapshot. + +2013-06-05 14:47 +0000 [r390472] David M. Lee + + * main/channel_internal_api.c: Fixed a consistency problem with + channel snapshot and endpoint state. When channels are added to + an endpoint, the code originally posted a channel snapshot to the + endoint's topic directly. Turns out, this is a bad idea. This + causes the endpoint to see an inconsistent view of the channel, + since it will later receive in-flight messages with old channel + snapshots. This patch instead just publishes channel state + immediately after setting up the forward to the endpoint's topic. + This gives the endpoints a consistent view of the channel's + state. + +2013-06-04 22:55 +0000 [r390439-390440] Richard Mudgett + + * bridges/bridge_native_rtp.c: Add BUGBUG comment. + + * bridges/bridge_native_rtp.c: Simple lock, assignment, unlock + sandwich optimization. + +2013-06-04 15:55 +0000 [r390352-390398] David M. Lee + + * include/asterisk/manager.h: Corrected the docs on + ast_manager_event_blob_create + + * configure, include/asterisk/autoconfig.h.in, main/Makefile, + configure.ac, makeopts.in: Correct autoconf script for finding + UUID support. The library that provides UUID support varies + greatly from system to system. On most Linux distros, it's in + libuuid. On OpenBSD, it's in libe2fs-uuid. On OS X, it is in + libsystem. This patch plays hide-and-seek with UUID support, + looking for it in the three places we know about. It also + corrects the Makefile so that it uses the configured library name + and include path. (closes issue ASTERISK-21816) Reported by: Brad + Latus (snuffy) Tested by: Brad Latus (snuffy) + +2013-05-31 19:00 +0000 [r390317] Kinsey Moore + + * main/stasis_channels.c, main/pbx.c, apps/app_userevent.c: + Refactor code and fix a reference leak Refactor some channel blob + publishing code to use ast_channel_publish_blob now that it is + available and fix a JSON reference leak that was occurring during + varset publishing. + +2013-05-31 16:15 +0000 [r390289-390291] Richard Mudgett + + * main/channel_internal_api.c, include/asterisk/channel.h, + main/channel.c, main/manager.c: Remove ast_channel_bridge() and + associated code called only by it. * Added some more BUGBUG + notes. + + * main/bridging.c, main/channel.c, + include/asterisk/stasis_channels.h, + bridges/bridge_builtin_features.c, include/asterisk/bridging.h, + main/stasis_channels.c: Fixup hold/unhold with attended and blind + transfers. * DTMF attended and blind transfers have hold/unhold + behavior restored. * External attended and blind transfers unhold + the transfered party when the transfer is initiated. * Made + prohibit blind transferring a bridge marked as masquerade only. + (ConfBridge bridges) * Made running an application or playing a + file inside a bridge post the hold/unhold messages if MOH is + requested. Review: https://reviewboard.asterisk.org/r/2574/ + +2013-05-31 14:36 +0000 [r390268] Jason Parker + + * include/asterisk/manager.h, main/asterisk.c, main/manager.c: + Replace ast_manager_publish_message() with a more useful version. + It's much easier to just create a blob of the message. Convert + some AMI events to use it. Review: + https://reviewboard.asterisk.org/r/2577/ + +2013-05-31 12:41 +0000 [r390249-390250] Kinsey Moore + + * apps/app_confbridge.c, include/asterisk/stasis_bridging.h, + apps/confbridge/include/confbridge.h, main/stasis_bridging.c, + apps/confbridge/confbridge_manager.c: Remove remnant of snapshot + blob JSON types Remove usage of the once-mandatory snapshot blob + type field, refactor confbridge stasis messages accordingly, and + remove ast_bridge_blob_json_type(). Review: + https://reviewboard.asterisk.org/r/2575/ + + * include/asterisk/stasis_channels.h, main/stasis_channels.c: Add + snapshot cache that indexes by channel name This adds a new + channel snapshot cache in parallel to the existing cache; the + difference being that it indexes the channel snapshots by channel + name instead of channel uniqueid. Review: + https://reviewboard.asterisk.org/r/2576 + +2013-05-31 10:42 +0000 [r390230] Alexandr Anikin + + * /, addons/chan_ooh323.c: Multiple revisions 390228-390229 + ........ r390228 | may | 2013-05-31 14:19:52 +0400 (Fri, 31 May + 2013) | 14 lines reject call attempts when gatekeeper is + configured but not registered (closes issue ASTERISK-21800) + Reported by: Dmitry Melekhov Patches: ASTERISK-21800-1.patch + Tested by: Dmitry Melekhov ........ Merged revisions 390181 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 390223 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ r390229 + | may | 2013-05-31 14:34:20 +0400 (Fri, 31 May 2013) | 4 lines + remove unnecessary declarations (issue ASTERISK-21800) ........ + Merged revisions 390228-390229 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-31 07:57 +0000 [r390180] Walter Doekes + + * Makefile: Let find do its own globbing. Previously a stray .c + file would cause xmldocs to not get built. + +2013-05-30 19:23 +0000 [r390122-390154] David M. Lee + + * main/app.c: Missed a line from a bad merge in r390122 + + * include/asterisk/stasis_channels.h, main/stasis_bridging.c, + main/test.c, main/app.c, main/stasis_channels.c, + include/asterisk/security_events.h, main/asterisk.c, + main/bridging.c, main/stasis_cache.c, include/asterisk.h, + main/security_events.c, include/asterisk/stasis.h, + main/devicestate.c, main/named_acl.c, + include/asterisk/stasis_bridging.h, main/presencestate.c, + main/stasis.c, main/channel.c: Avoid unnecessary cleanups during + immediate shutdown This patch addresses issues during immediate + shutdowns, where modules are not unloaded, but Asterisk atexit + handlers are run. In the typical case, this usually isn't a big + deal. But the introduction of the Stasis message bus makes it + much more likely for asynchronous activity to be happening off in + some thread during shutdown. During an immediate shutdown, + Asterisk skips unloading modules. But while it is processing the + atexit handlers, there is a window of time where some of the core + message types have been cleaned up, but the message bus is still + running. Specifically, it's still running module subscriptions + that might be using the core message types. If a message is + received by that subscription in that window, it will attempt to + use a message type that has been cleaned up. To solve this + problem, this patch introduces ast_register_cleanup(). This + function operates identically to ast_register_atexit(), except + that cleanup calls are not invoked on an immediate shutdown. All + of the core message type and topic cleanup was moved from atexit + handlers to cleanup handlers. This ensures that core type and + topic cleanup only happens if the modules that used them are + first unloaded. This patch also changes the ast_assert() when + accessing a cleaned up or uninitialized message type to an error + log message. Message type functions are actually NULL safe across + the board, so the assert was a bit heavy handed. Especially for + anyone with DO_CRASH enabled. Review: + https://reviewboard.asterisk.org/r/2562/ + +2013-05-29 20:24 +0000 [r390068] Richard Mudgett + + * main/channel.c, /: Fix segfault when dealing with chan_agent + channels. Check the returned bridged pointer for NULL to avoid a + crash. It looks like chan_agent is returning a NULL pointer when + it probably should be returning a pointer to the channel the + Agent channel is pretending to be. (closes issue ASTERISK-21793) + Reported by: Rodrigo P. Telles Patches: + jira_asterisk_21793_v1.8.patch (license #5621) patch uploaded by + rmudgett Tested by: Rodrigo P. Telles ........ Merged revisions + 390044 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 390047 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-29 19:54 +0000 [r390042] Jason Parker + + * main/channel.c: Remove unused RAII vars. + +2013-05-29 03:22 +0000 [r389990] Matthew Jordan + + * res/res_fax.c: Pack the right number of items into the status and + receive fax blobs The code was still attempting to pack an + additional item into the blobs that didn't exist. Crashes ensued. + This patch modifies the publishing of these messages so that the + correct number of items are packed in the JSON. + +2013-05-29 02:26 +0000 [r389974] Kinsey Moore + + * include/asterisk/stasis_channels.h, res/res_fax.c, + apps/app_fax.c, main/stasis_channels.c, res/res_musiconhold.c, + res/res_monitor.c: Resolve a merge conflict When + ast_channel_cached_blob_create was merged, + ast_channel_blob_create_from_cache was partially removed in an + unresolved merge conflict. This restores + ast_channel_blob_create_from_cache and refactors usage of + ast_channel_cached_blob_create (requires an ast_channel) to use + ast_channel_blob_create_from_cache (requires a channel uniqueid) + instead. + +2013-05-28 17:47 +0000 [r389897] Jonathan Rose + + * /, main/slinfactory.c: Fix a memory copying bug in slinfactory + which was causing mixmonitor issues. Reported by: Michael Walton + Tested by: Jonathan Rose Patches: + slinfactory.c.ASTERISK-21799.patch uploaded by Michael Walton + (license 6502) (closes issue ASTERISK-21799) ........ Merged + revisions 389895 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 389896 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-28 15:54 +0000 [r389848-389870] Mark Michelson + + * main/bridging.c: Add missing NULL check to acquire_bridge() + function. + + * channels/sip/include/sip.h, channels/chan_sip.c: Add attended + transfer support for chan_sip.c This now uses the core API for + performing attended transfers. Review + https://reviewboard.asterisk.org/r/2513 (Closes issue + ASTERISK-21520) reported by Matt Jordan + + * apps/confbridge/confbridge_manager.c, + include/asterisk/bridging.h, main/features.c, + include/asterisk/channel.h, CHANGES, main/bridging.c, + channels/chan_mgcp.c, main/channel.c, main/pbx.c, + bridges/bridge_builtin_features.c, channels/chan_sip.c: Adds + support for a core attended transfer function plus adds some + hiding of masquerades. The attended transfer API call can + complete the attended transfer in a number of ways depending on + the current bridged states of the channels involved. The hiding + of masquerades is done in some bridging-related functions, such + as the manager Bridge action and the Bridge dialplan application. + In addition, call pickup was edited to "move" a channel rather + than masquerade it. Review: + https://reviewboard.asterisk.org/r/2511 (closes issue + ASTERISK-21334) Reported by Matt Jordan (closes issue + Asterisk-21336) Reported by Matt Jordan + +2013-05-27 01:33 +0000 [r389770-389827] Matthew Jordan + + * res/res_fax.c, res/res_fax_spandsp.c: Fix some more fax test + errors due to needing the peer in a bridge In r389799, a number + of fax errors in gateway mode were fixed by using the appropriate + function to get a channel's peer while in a bridge. This patch + does two things: (1) It uses the same function in res_fax_spandsp + while starting the fax gateway. Without this, the fax gateway + will not actually start up, as res_fax_spandsp also must inspect + the channel's peer in a two-party bridge (2) It refactors some + ao2 objects in sendfax_exec to use RAII_VAR. This was reverted in + r389799 as some off nominal paths were getting hit without the + fix in (1) that indicated an ao2 object issue; this turned out to + be a red herring (which is an odd phrase) + + * main/stasis_endpoints.c: Initialize the message type before the + topic Caching topics will during initialization attempt to + reference their message type. The message type therefore has to + be initialized prior to the topic to prevent the dreaded + assertion. + + * res/res_fax.c: Fix a few fax gateway failures Fax gateway + requires knowledge of a channel's peer in a bridge. This patch + now uses the supported mechanisms to get this information. This + is acceptable for a few reasons: * Fax gateway can only ever work + in a 2-party bridge * Fax gateway cannot work when not in a + bridge * Fax gateway cannot work without knowledge of the + capabilities of both channels in the fax operation (it is, after + all, a gateway) + + * res/res_fax.c, main/devicestate.c, main/asterisk.c: Fix a variety + of memory corruption/assertion errors * Initialize a Stasis-Core + message type prior to initializing a caching topic. The caching + topic will attempt to use the message type. * Don't attempt to + publish Stasis-Core messages from remote console connections. + They aren't the main process; they shouldn't attempt to behave as + it (they also don't have the infrastructure to do so) * Don't + treat a JSON object as an ao2 object (whoops) * In asterisk.c, + ref bump the JSON even package that is distributed with the event + meta data. The callers assume that they own the reference, and + the packing routine steals references. + + * main/asterisk.c: Restore initialization of security topics During + a merge the security topic initialization got blown away. This + patch restores it. + +2013-05-24 21:23 +0000 [r389746-389748] Jason Parker + + * /: grr, props. + + * channels/sig_pri.c, channels/chan_iax2.c, CHANGES, + res/res_sip_sdp_rtp.c, main/channel.c, channels/chan_dahdi.c, + include/asterisk/stasis_channels.h, channels/sig_analog.c, + channels/chan_misdn.c, channels/chan_skinny.c, + channels/chan_motif.c, channels/chan_h323.c, + main/stasis_channels.c, main/manager_channels.c, + channels/chan_mgcp.c, channels/chan_unistim.c, /, + channels/chan_sip.c, include/asterisk/channel.h: Split Hold event + into Hold/Unhold, and move it into core. (closes issue + ASTERISK-21487) Review: https://reviewboard.asterisk.org/r/2565/ + +2013-05-24 21:01 +0000 [r389738] Kinsey Moore + + * res/res_stasis.c: Remove a junk define BLOB_HANDLER_BUCKETS is a + remnant of using "type" fields in JSON/snapshot blobs and is no + longer used. + +2013-05-24 20:44 +0000 [r389680-389733] Matthew Jordan + + * main/dnsmgr.c, channels/chan_sip.c, res/res_fax.c, + include/asterisk/_private.h, res/res_xmpp.c, CHANGES, + channels/chan_iax2.c, res/res_jabber.c, res/res_monitor.c, + main/cli.c, main/cdr.c, main/json.c, main/manager.c, + channels/chan_skinny.c, main/app.c, main/stasis_channels.c, + res/parking/parking_manager.c, main/asterisk.c, + channels/chan_mgcp.c, channels/chan_unistim.c, main/pbx.c, + apps/app_fax.c, include/asterisk/json.h, res/res_musiconhold.c, + include/asterisk/manager.h, channels/sig_pri.c, main/enum.c, + main/loader.c, include/asterisk/app.h, channels/chan_dahdi.c, + include/asterisk/stasis_channels.h, apps/app_minivm.c, + apps/app_chanspy.c, main/manager_channels.c, res/res_sip_mwi.c, + main/manager_mwi.c (added), apps/app_voicemail.c: Migrate a large + number of AMI events over to Stasis-Core This patch moves a + number of AMI events over to the Stasis-Core message bus. This + includes: * ChanSpyStart/Stop * MonitorStart/Stop * + MusicOnHoldStart/Stop * FullyBooted/Reload * All Voicemail/MWI + related events In addition, it adds some Stasis-Core and AMI + support for generic AMI messages, refactors the message router in + AMI to use a single router with topic forwarding for the topics + that AMI cares about, and refactors MWI message types and topics + to be more name compliant. Review: + https://reviewboard.asterisk.org/r/2532 (closes issue + ASTERISK-21462) + + * /, main/logger.c: Print all logger messages on shutdown When + Asterisk shuts down and shuts down the loggin gsubsystem, any + messages currently in flight will not get logged. This patch + prevents the loop writing messages from breaking out prematurely, + such that all of the messages are logged. (closes issue + ASTERISK-21716) Reported by: Corey Farrell patches: + logger-process-all-messages.patch uploaded by Corey Farrell + (license 5909) ........ Merged revisions 389676 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 389677 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-24 10:23 +0000 [r389663] Igor Goncharovskiy + + * channels/chan_unistim.c, /: Fix several problems caused by + multiple line usage with i2004 phones. Reported by: Daniel + Bohling, MihaiMircea (closes issue ASTERISK-21061) (closes issue + ASTERISK-21120) ........ Merged revisions 389661 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-23 21:46 +0000 [r389639] David M. Lee + + * res/stasis_http/resource_channels.c, + include/asterisk/stasis_http.h, res/res_stasis_http.c, + res/res_stasis_playback.c: stasis-http: Provide a response body + for 201 created responses + +2013-05-23 21:11 +0000 [r389618-389623] Jonathan Rose + + * res/parking/parking_bridge.c: res_parking: Add a verbose message + when a channel is parked + + * res/parking/parking_bridge.c: res_parking: Fix some simple bugs + Both of them are covered in the dynamic parking review on + https://reviewboard.asterisk.org/r/2550 - Remove unref against + parking lot that the bridge did on dissolve since the reference + wasn't taken in the first place. On a swap, reapply bridge roles + in order to get music on hold and such playing on the channel + that swaps into the bridge. + +2013-05-23 20:25 +0000 [r389609] Joshua Colp + + * res/res_sip_session.c: Fix a crash due to the INVITE session + being destroyed before the session. This change ensures that the + INVITE session remains valid for the lifetime of the session + object itself by increasing the session count on the dialog that + the INVITE session is allocated from. Once this reaches zero + (normally as a result of decrementing it within the session + destructor) the dialog, and INVITE session, are destroyed. + +2013-05-23 20:21 +0000 [r389587-389603] David M. Lee + + * include/asterisk/app.h, res/res_stasis_playback.c, + res/stasis/control.c, res/stasis_http/resource_channels.c, + rest-api/api-docs/playback.json, res/res_stasis_http_channels.c, + include/asterisk/stasis_app.h, main/app.c, + include/asterisk/channel.h, res/stasis_http/resource_channels.h, + rest-api/api-docs/channels.json, + include/asterisk/stasis_app_playback.h, + res/stasis_http/resource_playback.c: This patch adds support for + controlling a playback operation from the Asterisk REST + interface. This adds the /playback/{playbackId}/control resource, + which may be POSTed to to pause, unpause, reverse, forward or + restart the media playback. Attempts to control a playback that + is not currently playing will either return a 404 Not Found + (because the playback object no longer exists) or a 409 Conflict + (because the playback object is still in the queue to be played). + This patch also adds skipms and offsetms parameters to the + /channels/{channelId}/play resource. (closes issue + ASTERISK-21587) Review: https://reviewboard.asterisk.org/r/2559 + + * include/asterisk/app.h, include/asterisk/stasis_channels.h, + res/stasis_json/resource_channels.h, + res/stasis_http/resource_channels.c, + res/stasis_http/resource_channels.h, main/stasis_channels.c, + rest-api/api-docs/channels.json, + res/res_stasis_playback.exports.in (added), + res/res_stasis_http.c, res/stasis_json/resource_events.h, + res/res_stasis_json_events.exports.in, res/res_stasis_playback.c + (added), rest-api/api-docs/events.json, res/stasis/control.c, + main/channel_internal_api.c, include/asterisk/stasis_http.h, + res/res_stasis_http_channels.c, res/res_stasis_json_events.c, + include/asterisk/stasis_app_playback.h (added), + res/stasis_http/resource_playback.c: This patch implements the + REST API's for POST /channels/{channelId}/play and GET + /playback/{playbackId}. This allows an external application to + initiate playback of a sound on a channel while the channel is in + the Stasis application. /play commands are issued asynchronously, + and return immediately with the URL of the associated /playback + resource. Playback commands queue up, playing in succession. The + /playback resource shows the state of a playback operation as + enqueued, playing or complete. (Although the operation will only + be in the 'complete' state for a very short time, since it is + almost immediately freed up). (closes issue ASTERISK-21283) + (closes issue ASTERISK-21586) Review: + https://reviewboard.asterisk.org/r/2531/ + +2013-05-23 18:40 +0000 [r389569] Richard Mudgett + + * main/features.c: Fix inverted test preventing DTMF disconnect + from working. + +2013-05-23 18:39 +0000 [r389551-389568] Joshua Colp + + * res/res_sip_sdp_rtp.c: Fix a bug where the DTMF mode was not set + on newly created RTP instances in the res_sip_sdp_rtp module. + + * res/res_sip_sdp_rtp.c: Fix a bug with applying the end result of + the codec negotiation to the Asterisk channel. + + * res/res_sip_session.c: Fix a bug where the codec order as + configured was not being obeyed. + +2013-05-22 19:15 +0000 [r389519] David M. Lee + + * main/app.c: Fixed startup race condition which caused occasional + stasis_mwi_state_type assertions. The caching topic (which refers + to the message type) was created before the message type. If the + initial subscription message gets processed before the type can + be initialized, the assertion about using an uninitialized type + fires. + +2013-05-22 18:20 +0000 [r389492-389505] Jason Parker + + * /: Remove bad props, before anybody notices. + + * include/asterisk/dial.h, apps/app_followme.c, apps/app_queue.c, + apps/app_dial.c, main/dial.c, /: Add dial events to app_queue and + app_followme. Also fixes an issue in app_dial, where the channels + were swapped on dial events. (closes issue ASTERISK-21551) + (closes issue ASTERISK-21550) Review: + https://reviewboard.asterisk.org/r/2549/ + +2013-05-21 22:49 +0000 [r389454] David M. Lee + + * main/stasis_bridging.c: Fix destruction order assert for + stasis_bridging + +2013-05-21 21:08 +0000 [r389426] Richard Mudgett + + * apps/app_queue.c: Conditional out more app_queue logging that + needs to be reworked. Fixes crash because app_queue was + unconditionally freeing a datastore that was still on a channel. + +2013-05-21 18:45 +0000 [r389402] Matthew Jordan + + * apps/confbridge/confbridge_manager.c, apps/app_confbridge.c: + Raise the ConfBridgeMute/Unmute events when a CLI or AMI action + triggers the change New in 12 are the ConfBridgeMute/Unmute + events, which are triggered when a user changes their mute/unmute + state. This was typically triggered when a user hit a DTMF key + that triggered the mute/unmute menu handler. Forgotten in this is + when an AMI action or CLI command triggers the mute/unmute. This + patch now raises the events in those situations as well. (closes + issue ASTERISK-21802) Reported by: Birger "WIMPy" Harzenetter + +2013-05-21 18:00 +0000 [r389378] Richard Mudgett + + * apps/confbridge/confbridge_manager.c (added), + main/manager_bridging.c (added), channels/chan_h323.c, + include/asterisk/bridging_roles.h (added), apps/app_chanspy.c, + apps/confbridge/conf_chan_announce.c (added), + include/asterisk/core_unreal.h (added), addons/chan_ooh323.c, + main/frame.c, main/parking.c (added), bridges/bridge_holding.c + (added), channels/chan_sip.c, main/channel_internal_api.c, + channels/chan_agent.c, bridges/bridge_softmix.c, UPGRADE.txt, + res/Makefile, res/res_stasis_json_events.c, + include/asterisk/_private.h, channels/chan_iax2.c, + bridges/bridge_multiplexed.c (removed), + include/asterisk/abstract_jb.h, channels/chan_gulp.c, + apps/confbridge/conf_config_parser.c, main/channel.c, + res/parking/res_parking.h, main/manager.c, channels/chan_misdn.c, + main/stasis_bridging.c (added), include/asterisk/bridging.h, + include/asterisk/bridging_basic.h (added), + bridges/bridge_builtin_interval_features.c (added), + rest-api-templates/stasis_json_resource.h.mustache, + bridges/bridge_native_rtp.c (added), apps/app_mixmonitor.c, + apps/app_parkandannounce.c (removed), res/parking/parking_ui.c, + main/bridging_roles.c (added), rest-api/api-docs/events.json, + include/asterisk/core_local.h (added), + configs/res_parking.conf.sample (added), + apps/confbridge/conf_chan_record.c (added), main/core_unreal.c + (added), configs/features.conf.sample, channels/chan_jingle.c, + include/asterisk/config_options.h, apps/app_channelredirect.c, + bridges/bridge_builtin_features.c, funcs/func_channel.c, + main/features.c, apps/app_dumpchan.c, channels/chan_motif.c, + main/abstract_jb.c, apps/app_confbridge.c, + include/asterisk/rtp_engine.h, include/asterisk/ccss.h, + main/manager_channels.c, main/bridging.c, main/bridging_basic.c + (added), apps/app_dial.c, res/res_stasis_json_events.exports.in, + channels/chan_vpb.cc, bridges/bridge_simple.c, + funcs/func_jitterbuffer.c, main/core_local.c (added), CHANGES, + res/parking/parking_bridge_features.c, + res/parking/parking_bridge.c, main/cli.c, + include/asterisk/bridging_technology.h, res/res_parking.c + (added), apps/confbridge/include/confbridge.h, + channels/chan_skinny.c, include/asterisk/bridging_features.h, + funcs/func_frame_trace.c, res/parking (added), + main/config_options.c, + rest-api-templates/res_stasis_json_resource.c.mustache, + include/asterisk/frame.h, include/asterisk/parking.h (added), + res/stasis_json/resource_events.h, main/asterisk.c, + res/parking/parking_manager.c, channels/chan_mgcp.c, + channels/chan_unistim.c, main/pbx.c, main/strings.c, + channels/chan_local.c (removed), main/rtp_engine.c, + channels/chan_bridge.c (removed), + res/parking/parking_controller.c, apps/app_bridgewait.c (added), + res/parking/parking_applications.c, include/asterisk/channel.h, + apps/app_followme.c, include/asterisk/manager.h, + apps/app_queue.c, include/asterisk/stasis_bridging.h (added), + include/asterisk/framehook.h, channels/chan_dahdi.c: Merge in the + bridge_construction branch to make the system use the Bridging + API. Breaks many things until they can be reworked. A partial + list: chan_agent chan_dahdi, chan_misdn, chan_iax2 native + bridging app_queue COLP updates DTMF attended transfers Protocol + attended transfers + +2013-05-21 14:17 +0000 [r389343] David M. Lee + + * apps/app_userevent.c, main/stasis_channels.c: Fixed some extra + field assertion when the event WebSocket is connected + +2013-05-20 19:24 +0000 [r389306] Matthew Jordan + + * main/pbx.c: Set the AST_CDR_FLAG_ORIGINATED flag on originated + channel's CDRs This may alleviate some of the CDR woes with + originated channels, as CDRs do like to know when a channel was + originated. Eventually this will get converted to be a channel + flag, so its location is still good to know post the great CDR + shakeup of 2013. + +2013-05-20 18:03 +0000 [r389247-389251] Richard Mudgett + + * tests/test_json.c, utils/refcounter.c, tests/test_dlinklists.c, + pbx/pbx_lua.c, res/stasis_http/resource_bridges.c, main/cel.c, + res/stasis_http/resource_bridges.h, + res/res_stasis_http_endpoints.c, + res/stasis_http/resource_asterisk.c, funcs/func_realtime.c, + main/json.c, main/stasis_message_router.c, + res/stasis_http/resource_asterisk.h, funcs/func_channel.c, + utils/ael_main.c, codecs/codec_dahdi.c, funcs/func_iconv.c, + res/res_stasis_http.c, tests/test_stasis.c, res/res_stasis.c, + res/res_stasis_http_asterisk.c, cel/cel_pgsql.c, + cel/cel_radius.c, funcs/func_rand.c, res/res_stasis_websocket.c, + tests/test_gosub.c, tests/test_res_stasis.c, res/ael/pval.c, + tests/test_time.c, cel/cel_custom.c, + res/stasis_http/resource_channels.c, + res/stasis_http/resource_recordings.c, + res/stasis_http/resource_channels.h, + res/stasis_http/resource_endpoints.c, + res/stasis_http/resource_recordings.h, + res/stasis_http/resource_events.c, main/manager_channels.c, + res/res_clioriginate.c, res/stasis_http/resource_endpoints.h, + main/stasis_cache.c, funcs/func_version.c, + tests/test_astobj2_thrash.c, res/stasis_http/resource_events.h, + cel/cel_tds.c, tests/test_xml_escape.c, + res/res_stasis_http_channels.c, res/res_ael_share.c, + res/res_stasis_http_recordings.c, res/res_srtp.c, + res/res_stasis_http_events.c, main/hashtab.c, res/ael/ael_lex.c, + cel/cel_sqlite3_custom.c, main/event.c, + res/res_stasis_http_bridges.c, contrib/utils/eagi_proxy.c, + main/udptl.c, funcs/func_dialgroup.c, main/sha1.c, + main/threadstorage.c, tests/test_hashtab_thrash.c, + res/res_pktccops.c, main/stasis.c, cel/cel_odbc.c, + main/stasis_message.c, res/res_smdi.c, res/ael/ael.tab.c, + cel/cel_manager.c, funcs/func_odbc.c, res/ael/ael.tab.h, + formats/format_h264.c, tests/test_stasis_http.c, res/res_curl.c: + Fixup svn:keywords in all *.c and *.h files. + + * include/asterisk/json.h, + include/asterisk/stasis_message_router.h, + include/asterisk/hashtab.h, + channels/sip/include/dialplan_functions.h, + include/asterisk/paths.h, include/asterisk/event.h, + apps/app_setcallerid.c, include/asterisk/event_defs.h, + channels/sip/include/globals.h, apps/app_celgenuserevent.c, + channels/sip/dialplan_functions.c, include/asterisk/pktccops.h, + channels/sip/include/sdp_crypto.h, + include/asterisk/ael_structs.h, include/asterisk/udptl.h, + channels/sip/include/srtp.h, include/asterisk/frame_defs.h, + apps/app_stasis.c, include/asterisk/sha1.h, + include/asterisk/smdi.h, include/asterisk/stringfields.h, + channels/sip/sdp_crypto.c, channels/sip/include/dialog.h, + include/asterisk/res_srtp.h, channels/sip/srtp.c, + include/asterisk/cel.h, include/asterisk/stasis_http.h, + include/asterisk/stasis_app.h, include/asterisk/stasis.h, + apps/app_morsecode.c, apps/app_waituntil.c: Fixup svn:keywords in + all *.c and *.h files. + +2013-05-20 17:44 +0000 [r389246] Jason Parker + + * /: Add doxygen.log to svn:ignore property. ........ Merged + revisions 389244 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 389245 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-20 14:21 +0000 [r389217] Kinsey Moore + + * res/res_stasis_answer.exports.in (added): Add missing exports + file This exposes stasis_app_control_answer and allows + res_stasis_http_channels to load properly. + +2013-05-20 14:02 +0000 [r389204] Joshua Colp + + * main/sorcery.c: In Sorcery pass the name of the object being + allocated to the allocator. + +2013-05-20 13:45 +0000 [r389202] Kinsey Moore + + * apps/confbridge/conf_config_parser.c: Add documentation for + record_file_append When this option was added, it was noted in + CHANGES, but was missing the XML documentation that this patch + adds. (closes issue ASTERISK-21780) Patch-by: Brad Latus (snuffy) + +2013-05-19 20:52 +0000 [r389180] Alexandr Anikin + + * addons/chan_ooh323.c, addons/chan_ooh323.h: add + ast_publish_channel_state according new event framework + +2013-05-19 19:45 +0000 [r389164] Damien Wedhorn + + * channels/chan_skinny.c: Add transfer softkey to ringout state to + enable blond transfers. (closes issue ASTERISK-21327) Reported + by: wedhorn Tested by: myself Patches: skinny-blindxfer01.diff + uploaded by wedhorn (license 5019) + +2013-05-19 17:45 +0000 [r389148] Kinsey Moore + + * res/res_sip_outbound_registration.c, + res/res_sip_endpoint_identifier_ip.c, res/res_sip_acl.c, + res/res_sip.c: Add base XML documentation for res_sip Thanks to + Brad Latus, this patch adds a significant amount much-needed + documentation to res_sip. It should cover all existing + configuration options currently in Asterisk trunk. Patch-by: Brad + Latus (snuffy) Review: https://reviewboard.asterisk.org/r/2471/ + +2013-05-19 02:21 +0000 [r389116-389132] Joshua Colp + + * main/pbx.c: Don't hold the outgoing lock for a prolonged period + of time as it may block the originator. + + * main/pbx.c: If the caller of the originate API calls wants the + channel ensure it has been requested and dialed. + +2013-05-18 23:20 +0000 [r389097] Damien Wedhorn + + * configs/skinny.conf.sample, channels/chan_skinny.c: Add call + forward no answer to skinny and cleanup general callfwd handling. + CallforwardNoAnswer uses a sched to determine when to forward the + call. Defaults to 20secs but configurable in skinny.conf. Adds + dialType to each subchannel structure to be used to differentiate + between normal dials that result in a call being placed (default) + and other uses for the skinny_dialer (such as cfwd digit + collection). Restructured all cfwd handling to use this new + arrangement. (closes issue ASTERISK-21292) Reported by: wedhorn + Tested by: myself Patches: skinny-callfwdnoans03.diff uploaded by + wedhorn (license 5019) + +2013-05-18 22:49 +0000 [r389053-389085] Joshua Colp + + * main/pbx.c: Fix a bug where synchronous origination (oddly enough + triggered by doing an async manager Originate) would not work + properly. + + * include/asterisk/dial.h, main/manager_channels.c, main/dial.c, + main/pbx.c: Move origination to use the dialing API and send + Stasis messages on dial begin and end. (closes issue + ASTERISK-21549) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2512/ + +2013-05-17 21:10 +0000 [r389011] David M. Lee + + * main/manager.c, funcs/func_presencestate.c, + main/stasis_message_router.c, main/app.c, main/stasis_channels.c, + res/res_stasis.c, main/manager_channels.c, apps/app_voicemail.c, + main/stasis_cache.c, main/pbx.c, main/stasis_endpoints.c, + channels/chan_sip.c, include/asterisk/stasis.h, + main/devicestate.c, res/res_jabber.c, apps/app_queue.c, + channels/chan_iax2.c, main/endpoints.c, + include/asterisk/stasis_message_router.h, res/res_chan_stats.c, + main/stasis.c: Fix shutdown assertions in stasis-core In r388005, + macros were introduced to consistently define message types. This + added an assert if a message type was used either before it was + initialized or after it had been cleaned up. It turns out that + this assertion fires during shutdown. This actually exposed a + hidden shutdown ordering problem. Since unsubscribing is + asynchronous, it's possible that the message types used by the + subscription could be freed before the final message of the + subscription was processed. This patch adds + stasis_subscription_join(), which blocks until the last message + has been processed by the subscription. Since joining was most + commonly done right after an unsubscribe, a + stasis_unsubscribe_and_join() convenience function was also + added. Similar functions were also added to the + stasis_caching_topic and stasis_message_router, since they wrap + subscriptions and have similar problems. Other code in trunk was + refactored to join() where appropriate, or at least verify that + the subscription was complete before being destroyed. Review: + https://reviewboard.asterisk.org/r/2540 + +2013-05-17 20:24 +0000 [r389009] Michael L. Young + + * channels/chan_iax2.c: Remove Character Limit On "inkeys" For IAX2 + Currently, the buffer for processing "inkeys" is limited to 256 + characters. If the user has many keys and the names of those key + files are long, the 256 character limit is not enough. * Change + inkeys buffer to be dynamic (closes issue ASTERISK-21398) + Reported by: Pavel Kopchyk Tested by: Pavel Kopchyk, Michael L. + Young Patches: asterisk-21398-iax2-inkeys-dynamic-buffer_v3.diff + by Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2501/ + +2013-05-17 17:43 +0000 [r388976] Matthew Jordan + + * main/stasis_channels.c, apps/app_dial.c, main/channel.c, + main/dial.c, include/asterisk/stasis_channels.h: Publish the + outbound channel's application/data when dialing This patch does + two things: * It fixes a bug where the outbound channel's + application/data set by the dialing API/app_dial is not + communicated until the channel is hung up. If that happens, AMI + would incorrectly send a NewExten event immediately after a + Hangup. This isn't really AMI's fault, as the dialing APIs never + communicated the 'helpful' app/data on the outbound channel until + it was hungup. * It makes public sending a stasis message about a + change in channel state. This is useful enough that - for now at + least - it should be public. If operations on a channel go to + being more coarse-grained, this function could be made private + again. Review: https://reviewboard.asterisk.org/r/2548 Note that + this problem was found and reported by Matt DiMeo. + +2013-05-17 17:36 +0000 [r388975] Jonathan Rose + + * channels/sip/dialplan_functions.c, include/asterisk/netsock2.h, + res/res_sip_outbound_registration.c, + channels/sip/config_parser.c, include/asterisk/security_events.h, + channels/sip/include/sip.h, + include/asterisk/security_events_defs.h, main/asterisk.c, + res/res_security_log.c, include/asterisk/acl.h, + res/res_sip/config_transport.c, channels/chan_sip.c, + main/security_events.c, channels/sip/security_events.c, + include/asterisk/res_sip.h, include/asterisk/json.h, + main/named_acl.c, CHANGES, channels/chan_iax2.c, + tests/test_security_events.c, res/res_sip.c, main/json.c, + main/manager.c, channels/sip/include/config_parser.h, + res/res_sip_nat.c: Stasis: Update security events to use Stasis + Also moves ACL messages to the security topic and gets rid of the + ACL topic (closes issue ASTERISK-21103) Reported by: Matt Jordan + Review: https://reviewboard.asterisk.org/r/2496/ + +2013-05-15 21:13 +0000 [r388896] David M. Lee + + * res/stasis/app.c, res/stasis/app.h: Fixed inverted logic in + app_add_channel(). Also added some missing doc comments for + stasis/app.h. + +2013-05-15 15:58 +0000 [r388840] Kevin Harwell + + * /, main/lock.c: Fix for segfault in __ast_rwlock_destroy with + DEBUG_THREADS If DEBUG_THREADS is enabled __ast_rwlock_destroy + causes a segfault while trying to access a possible NULL t->track + object. A NULL check has been added before trying to access the + memory. (closes issue ASTERISK-21724) Reported by: Corey Farrell + Fixed by: Corey Farrell Patches: ast_rwlock_destroy-segv.patch + uploaded by Corey Farrell (license 5909) ........ Merged + revisions 388838 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 388839 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-15 15:03 +0000 [r388818] Jason Parker + + * apps/app_voicemail.c, /: Fix VM snapshot handling for combined + INBOX. The snapshot API contains an option that allow for + combining of new and old messages within a single snapshot. New + messages, however, include options beyond just 'INBOX' - it also + includes the Urgent folder. A previous patch that combined INBOX + and Urgent accidentally impacted snapshots that attempted to gain + messages from just the Old folder. This patch fixes the snapshot + gathering such that the API returns the appropriate messages for + the folder selected, with and without the combine option. This + should make it more clear about what's happening. Review: + https://reviewboard.asterisk.org/r/2539/ ........ Merged + revisions 388816 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-15 12:42 +0000 [r388770] Kinsey Moore + + * res/res_srtp.c, /, configure, include/asterisk/autoconfig.h.in, + configure.ac: Use srtp_shutdown when available This allows the + SRTP library to be shut down properly when the functionality is + offered by libsrtp. Review: + https://reviewboard.asterisk.org/r/2538/ (closes issue + ASTERISK-21719) ........ Merged revisions 388768 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 388769 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-15 02:37 +0000 [r388729-388751] David M. Lee + + * main/asterisk.c, main/presencestate.c, main/stasis.c, + main/stasis_cache.c, main/stasis_endpoints.c, + include/asterisk/stasis.h, main/test.c, main/app.c, + main/devicestate.c, main/named_acl.c, res/res_stasis_test.c: + Refactored the rest of the message types to use the + STASIS_MESSAGE_TYPE_* macros. + + * res/stasis (added), include/asterisk/module.h, + include/asterisk/stasis_app.h, include/asterisk/stasis_app_impl.h + (added), res/Makefile, res/res_stasis_answer.c (added), + res/res_stasis.c, apps/app_stasis.c: Break res_stasis into + smaller files. When implementing playback for stasis-http, the + monolithicedness of res_stasis really started to get in my way. + This patch breaks the major components of res_stasis.c into + individual files. * res/stasis/app.c - Stasis application + tracking * res/stasis/control.c - Channel control objects * + res/stasis/command.c - Channel command object This refactoring + also allows res_stasis applications to be loaded as independent + modules, such as the new res_stasis_answer module. The bulk of + this patch is simply moving code from one file to another, + adjusting names and adding accessors as necessary. Review: + https://reviewboard.asterisk.org/r/2530/ + +2013-05-14 19:03 +0000 [r388701] Richard Mudgett + + * /, include/asterisk/astobj2.h, main/astobj2.c: Make ao2 global + objects not always use the debug version of the ao2_ref() calls. + The debug versions of ao2_ref() should only be used if REF_DEBUG + is enabled so nothing is written to /tmp/refs unexpectedly. + (closes issue ASTERISK-21785) Reported by: abelbeck Patches: + jira_asterisk_21785_v11.patch (license #5621) patch uploaded by + rmudgett Tested by: abelbeck ........ Merged revisions 388700 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-14 12:47 +0000 [r388668] Kinsey Moore + + * rest-api-templates/stasis_json_resource.h.mustache (added), + res/res_stasis_json_channels.exports.in (added), + res/stasis_json/resource_recordings.h (added), + res/res_stasis_json_asterisk.c (added), + rest-api-templates/res_stasis_json_resource.c.mustache (added), + res/res_stasis_json_recordings.exports.in (added), + res/stasis_json/resource_events.h (added), + res/stasis_http/resource_endpoints.h, + res/stasis_json/resource_sounds.h (added), + tests/test_res_stasis.c, res/res_stasis_json_sounds.exports.in + (added), res/res_stasis_json_endpoints.c (added), + rest-api-templates/res_stasis_json_resource.exports.mustache + (added), res/stasis_http/resource_bridges.h, + res/stasis_json/resource_asterisk.h (added), + res/res_stasis_http_events.c, + res/res_stasis_json_asterisk.exports.in (added), + res/res_stasis_json_playback.exports.in (added), + res/stasis_http/resource_playback.h, + res/res_stasis_json_bridges.c (added), + res/stasis_http/resource_channels.h, res/stasis_json (added), + res/stasis_json/resource_endpoints.h (added), + res/res_stasis_json_playback.c (added), res/res_stasis.c, + rest-api-templates/make_stasis_http_stubs.py, + res/stasis_http/resource_recordings.h, + rest-api-templates/stasis_http_resource.h.mustache, + res/res_stasis_json_endpoints.exports.in (added), + res/res_stasis_json_events.exports.in (added), + res/res_stasis_json_channels.c (added), + rest-api-templates/res_stasis_http_resource.c.mustache, + res/stasis_http/resource_events.h, + res/res_stasis_json_recordings.c (added), + res/stasis_json/resource_bridges.h (added), + res/stasis_http/resource_sounds.h, res/res_stasis_json_events.c + (added), res/res_stasis_json_bridges.exports.in (added), + res/stasis_json/resource_playback.h (added), + res/res_stasis_json_sounds.c (added), + res/stasis_http/resource_asterisk.h, + res/stasis_json/resource_channels.h (added): Move JSON event + generators into separate modules This moves the JSON event + generators out of the Stasis-HTTP modules and into standalone + JSON-related counterparts so that Stasis-HTTP and res_stasis can + depend on them without creating dependency cycles. This also + provides a future location for Swagger Model validator functions + once the generators for that code are written. Review: + https://reviewboard.asterisk.org/r/2534/ + +2013-05-13 21:21 +0000 [r388602-388617] Michael L. Young + + * /, main/logger.c: Fix Missing CALL-ID When Logging Through Syslog + The CALL-ID (ie [C-00000074]) is missing when logging to syslog. + This was just an oversight when this feature was added. * Add + CALL-IDs when using syslog (closes issue ASTERISK-21430) Reported + by: Nikola Ciprich Tested by: Nikola Ciprich, Michael L. Young + Patches: asterisk-21430-syslog-callid_trunk.diff by Michael L. + Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2526/ ........ Merged + revisions 388605 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: Fix Crash Caused By One-way Audio With + auto_* NAT Settings Fix The prior code committed, r385473, failed + to take into consideration that not all outgoing calls will be to + a peer. My fault. This patch does the following: * Check if there + is a related peer involved. If there is, check and set NAT + settings according to the peer's settings. * Fix a problem with + realtime peers. If the global setting has auto_force_rport set + and we issued a "sip reload" while a peer is still registered, + the peer's flags for NAT are reset to off. When this happens, we + were always setting the contact address of the peer to that of + the full contact info that we had. (closes issue ASTERISK-21374) + Reported by: jmls Tested by: Michael L. Young Patches: + asterisk-21374-fix-crash-and-rt-peers.diff by Michael L. Young + (license 5026) Review: https://reviewboard.asterisk.org/r/2524/ + ........ Merged revisions 388601 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-13 20:37 +0000 [r388598] Kinsey Moore + + * res/res_srtp.c, /: Revert r388529 for now Adding the cleanup + function needs some deeper thought since it apparently doesn't + exist for all variants of libsrtp. ........ Merged revisions + 388596 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 388597 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-13 19:29 +0000 [r388579] Jonathan Rose + + * /, main/pbx.c: pbx: Fix lack of cleanup on macrolock and + context_table (closes issue ASTERISK-21723) Reported by: Corey + Farrell Patches: core-pbx-cleanup.patch uploaded by Correy + Farrell (license 5909) ........ Merged revisions 388532 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 388578 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-13 18:10 +0000 [r388531] Kinsey Moore + + * /, res/res_srtp.c: Close libsrtp properly Ensure that libsrtp is + shutdown properly when res_srtp is unloaded. (closes issue + ASTERISK-21719) Reported by: Corey Farrell Patches: + res_srtp-library-shutdown.patch uploaded by Corey Farrell + ........ Merged revisions 388529 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 388530 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-13 17:20 +0000 [r388526] Jonathan Rose + + * channels/chan_gulp.c: chan_gulp: Minor readability Improvements + to chan_gulp (closes issue ASTERISK-21670) Reported by: Snuffy + Review: https://reviewboard.asterisk.org/r/2473/ Patches: + gulp-coding-guide.diff uploaded by snuffy (license 5024) + +2013-05-13 14:28 +0000 [r388479] Richard Mudgett + + * main/manager.c, /: Fix SendText AMI action to never return + non-zero. AMI actions must never return non-zero unless they + intend to close the AMI connection. (Which is almost never.) + (closes issue ASTERISK-21779) Reported by: Paul Goldbaum ........ + Merged revisions 388477 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 388478 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-10 22:12 +0000 [r388427] Richard Mudgett + + * channels/misdn/isdn_msg_parser.c, /: Allow mISDN to send PROGRESS + messsage. * Made isdn_msg_parser.c build a progress message with + the mandatory progress indicator IE. (The mISDNuser NT state + machine rejected sending the incomplete message.) Note: The + associated mISDN and mISDNuser patches respectively are viewable + here: http://svnview.digium.com/svn/thirdparty?view=rev&rev=200 + http://svnview.digium.com/svn/thirdparty?view=rev&rev=201 (closes + issue AST-1153) Reported by: Guenther Kelleter Patches: + progress-chan_misdn.diff (license #6372) patch uploaded by + Guenther Kelleter progress-misdn.diff (license #6372) mISDN patch + uploaded by Guenther Kelleter progress-misdnuser.diff (license + #6372) mISDNuser patch uploaded by Guenther Kelleter ........ + Merged revisions 388425 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 388426 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-10 20:50 +0000 [r388380] Mark Michelson + + * /, pbx/pbx_dundi.c: Fix memory leak in pbx_dundi pbx_dundi added + an io context without removing it. This caused a memory leak when + the module was unloaded. (closes ASTERISK-21718) Reported by + Corey Farrell Patches: pbx_dundi-ast_io_remove.patch uploaded by + Corey Farrell (License #5909) ........ Merged revisions 388376 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 388378 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-10 20:28 +0000 [r388375] Michael L. Young + + * res/res_config_odbc.c: Fix Finding Extensions With Patterns Using + ODBC Realtime After the merge of support for the realtime sorcery + module, extensions that contained a pattern were not being found + through odbc realtime. It was tracked down to this one line that + was advancing to the next variable list before it should have + been. The removal of this one line fixes this. Tested this fix on + my machine. Received confirmation that this is the right fix from + file on IRC. + +2013-05-10 17:12 +0000 [r388318-388350] David M. Lee + + * res/res_stasis_http_events.c, res/res_stasis_http_sounds.c, + res/res_stasis_http_bridges.c, res/res_stasis_http.c, + res/res_stasis.c, apps/app_stasis.c, + res/res_stasis_http_asterisk.c, + rest-api-templates/res_stasis_http_resource.c.mustache, + res/res_stasis_http_playback.c, res/res_stasis_websocket.c, + tests/test_res_stasis.c, res/res_stasis_http_channels.c, + include/asterisk/stasis_app.h, res/res_stasis_http_recordings.c, + res/res_stasis_http_endpoints.c, main/loader.c: Address unload + order issues for res_stasis* modules I've noticed when doing a + graceful shutdown that the res_stasis_http.so module gets + unloaded before the modules that use it, which causes some + asserts during their unload. While r386928 was a quick hack to + get it to not assert and die, this patch increases the use counts + on res_stasis.so and res_stasis_http.so properly. It's a bigger + change than I expected, hence the review instead of just + committing it. Review: https://reviewboard.asterisk.org/r/2489/ + + * include/asterisk/stasis.h: Avoided __ast names for the private + variables created by the STASIS_MESSAGE_TYPE_*() macros. + +2013-05-10 13:13 +0000 [r388275] Kinsey Moore + + * main/stasis_channels.c, rest-api-templates/swagger_model.py, + res/res_stasis.c, main/manager_channels.c, + rest-api-templates/stasis_http_resource.h.mustache, + res/stasis_http/resource_recordings.h, + rest-api-templates/asterisk_processor.py, + rest-api-templates/res_stasis_http_resource.c.mustache, + res/stasis_http/resource_endpoints.h, + rest-api/api-docs/events.json, res/stasis_http/resource_events.h, + res/res_stasis_websocket.c, apps/app_userevent.c, + rest-api-templates/event_function_decl.mustache (added), + res/stasis_http/resource_sounds.h, CHANGES, + res/res_stasis_http_events.c, include/asterisk/stasis_channels.h: + Add channel events for res_stasis apps This change adds a + framework in res_stasis for handling events from channel topics. + JSON event generation and validation code is created from event + documentation in rest-api/api-docs/events.json to assist in JSON + event generation, ensure consistency, and ensure that accurate + documentation is available for ALL events that are received by + res_stasis applications. The userevent application has been + refactored along with the code that handles userevent channel + blob events to pass the headers as key/value pairs in the JSON + blob. As a side-effect, app_userevent now handles duplicate keys + by overwriting the previous value. Review: + https://reviewboard.asterisk.org/r/2428/ (closes issue + ASTERISK-21180) Patch-By: Kinsey Moore + +2013-05-10 11:47 +0000 [r388254] Sean Bright + + * /, channels/chan_sip.c: Fix copy/paste error in + one-touch-recording implementation. ........ Merged revisions + 388253 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-09 14:41 +0000 [r388175] Matthew Jordan + + * apps/app_userevent.c: Don't expect to pack three tuples when you + only have two + +2013-05-09 04:11 +0000 [r388110-388113] Michael L. Young + + * res/res_rtp_asterisk.c, /: Fix The Payload Being Set On CN + Packets And Do Not Set Marker Bit When we send out a CN packet + (for instance, in the case of using rtpkeepalives), we are not + setting the payload code properly. Also, we are setting the + marker bit when we shouldn't be according to RFC 3389, section 4. + AST_RTP_CN is not defined by AST_FORMAT codes. Therefore, we + should be using ast_rtp_codecs_payload_code() rather than + ast_rtp_codecs_payload_lookup(). 11 and trunk already use the + appropriate function. * In 1.8, use ast_rtp_codecs_payload_code() + * Remove the setting of the marker bit * Fix the debug message by + incrementing the seqno after the debug message is set in order to + display the correct seqno that was sent out (closes issue + ASTERISK-21246) Reported by: Peter Katzmann Tested by: Peter + Katzmann, Michael L. Young Patches: + asterisk-21246-rtp-cng-payload-error_1.8_v2.diff uploaded by + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2500/ ........ Merged + revisions 388111 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 388112 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_queue.c, /: Fix Segfault In app_queue When + "persistentmembers" Is Enabled And Using Realtime When the + "ignorebusy" setting was deprecated, we added some code to allow + us to be compatible with older setups that are still using the + "ignorebusy" setting instead of "ringinuse". We set a char + *variable with the column name to use, which helps the realtime + functions to use the correct column in their SQL queries. When + "persistentmembers" is enabled, we are not setting this variable + before the realtime functions were called to load members. This + results in the variable being NULL and therefore causing a + segfault when loading members during the module's process of + loading. The solution was to move the code that sets that + variable to be before these realtime functions are called during + the loading of the module. (closes issue ASTERISK-21738) Reported + by: JoshE Tested by: JoshE Patches: + asterisk-21738-rt-ringinuse-field-not-set.diff uploaded by + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2499/ ........ Merged + revisions 388108 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-08 22:00 +0000 [r388014-388075] David M. Lee + + * res/res_stasis_websocket.c: Fixed MODFLAG for + res_stasis_websocket + + * include/asterisk/inline_api.h, build_tools/cflags.xml: Add + development flag to disable the inline API. A GCC bug[1] can, in + some cases, pop up an unsuppressible pedwarn when using a static + inline standard library function from a non-static inline + function. This normally doesn't show up, but can occur if you're + running an upgrade version of GCC (such as GCC 4.8 on OS X, which + normally runs GCC 4.2). [1]: + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816 + + * main/enum.c, main/srv.c: Removed #if checks for crazy old + versions of OS X. The was introduced way + back in OS X Panther, which itself was end-of-lifed back in 2007. + We can assume that any OS X machine we build on will need that + header file :-) Why bother removing it? The flag we're checking + (__APPLE_CC__) is actually Apple's build number. Self-compiled + versions of GCC (such as installing the latest version of GCC + from homebrew) sets the value to 0, making it useless for this + sort of compile flaggery. + + * tests/test_stasis_endpoints.c: Fixed set-but-not-used warning + caught by newer GCC + +2013-05-08 18:36 +0000 [r388008] Matthew Jordan + + * apps/app_directory.c: Don't perform a realtime lookup with a NULL + keyword Previously, a call to ast_load_realtime_multientry could + get away with passing a NULL parameter to the function, even + though it really isn't supposed to do that. After the change over + to using ast_variable instead of variadic arguments, the realtime + engine gets unhappy if you do this. This was always an unintended + function call in app_directory anyway - now, we just don't call + into the realtime function calls if we don't have anything to + query on. + +2013-05-08 18:34 +0000 [r388005] David M. Lee + + * main/channel.c, include/asterisk/stasis_channels.h, + tests/test_stasis_channels.c, apps/app_userevent.c, + include/asterisk/stasis.h, main/stasis_channels.c, + res/res_stasis.c, main/manager_channels.c: Remove required type + field from channel blobs When we first introduced the channel + blob types, the JSON blobs were self identifying by a required + "type" field in the JSON object itself. This, as it turns out, + was a bad idea. When we introduced the message router, it was + useless for routing based on the JSON type. And messages had two + type fields to check: the stasis_message_type() of the message + itself, plus the type field in the JSON blob (but only if it was + a blob message). This patch corrects that mistake by removing the + required type field from JSON blobs, and introducing first class + stasis_message_type objects for the actual message type. Since we + now will have a proliferation of message types, I introduced a + few macros to help reduce the amount of boilerplate necessary to + set them up. Review: https://reviewboard.asterisk.org/r/2509 + +2013-05-08 16:58 +0000 [r387974] Richard Mudgett + + * utils: Add version.c to list of ignored files in the utils + directory. + +2013-05-08 13:39 +0000 [r387932] David M. Lee + + * rest-api/api-docs/endpoints.json, + res/stasis_http/resource_endpoints.h, main/stasis_cache.c, + main/stasis_endpoints.c (added), channels/chan_sip.c, + include/asterisk/endpoints.h (added), include/asterisk/astobj2.h, + main/channel_internal_api.c, include/asterisk/stasis_test.h + (added), include/asterisk/stasis.h, main/endpoints.c (added), + main/astobj2.c, res/res_stasis_http_endpoints.c, + tests/test_stasis_endpoints.c (added), + res/res_stasis_test.exports.in (added), tests/test_endpoints.c + (added), include/asterisk/stasis_endpoints.h (added), + res/res_stasis_test.c (added), + res/stasis_http/resource_endpoints.c, channels/sip/include/sip.h, + main/asterisk.c: Initial support for endpoints. An endpoint is an + external device/system that may offer/accept channels to/from + Asterisk. While this is a very useful concept for end users, it + is surprisingly not a core concept within Asterisk itself. This + patch defines ast_endpoint as a separate object, which channel + drivers may use to expose their concept of an endpoint. As the + channel driver creates channels, it can use + ast_endpoint_add_channel() to associate channels to the endpoint. + This updated the endpoint appropriately, and forwards all of the + channel's events to the endpoint's topic. In order to avoid + excessive locking on the endpoint object itself, the mutable + state is not accessible via getters. Instead, you can create a + snapshot using ast_endpoint_snapshot_create() to get a consistent + snapshot of the internal state. This patch also includes a set of + topics and messages associated with endpoints, and + implementations of the endpoint-related RESTful API. chan_sip was + updated to create endpoints with SIP peers, but the state of the + endpoints is not updated with the state of the peer. Along for + the ride in this patch is a Stasis test API. This is a + stasis_message_sink object, which can be subscribed to a Stasis + topic. It has functions for blocking while waiting for conditions + in the message sink to be fulfilled. (closes issue + ASTERISK-21421) Review: https://reviewboard.asterisk.org/r/2492/ + +2013-05-08 07:21 +0000 [r387885] Alec L Davis + + * /, channels/chan_sip.c: chan_sip: NOTIFYs for BLF start queuing + up and fail to be sent out after retries fail RFC6665 4.2.2: ... + after a failed State NOTIFY transaction remove the subscription + The problem is that the State Notify requests rely on the 200OK + reponse for pacing control and to not confuse the notify + susbsystem. The issue is, the pendinginvite isn't cleared if a + response isn't received, thus further notify's are never sent. + The solution, follow RFC 6665 4.2.2's 'SHOULD' and remove the + subscription after failure. (closes issue ASTERISK-21677) + Reported by: Dan Martens Tested by: alecdavis alecdavis (license + 585) Review https://reviewboard.asterisk.org/r/2475/ ........ + Merged revisions 387875 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387880 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-07 18:32 +0000 [r387803-387825] David M. Lee + + * include/asterisk/lock.h: Fixed up \example marker in lock.h + Doxygen comment. The \example tags marks an entire file as an + example, not a code snippet. + + * res/res_config_pgsql.c, main/manager.c, /: Minor fixups to + Doxygen comments. The \example tags marks an entire file as an + example, not a code snippet. ........ Merged revisions 387823 + from http://svn.asterisk.org/svn/asterisk/branches/11 + + * include/asterisk/json.h: Better explained the depths of reference + stealing. + +2013-05-07 17:53 +0000 [r387802] Jason Parker + + * include/asterisk.h: Fix build breakage, from LOW_MEMORY fix. + +2013-05-06 17:15 +0000 [r387740-387741] Richard Mudgett + + * include/asterisk/astobj2.h: Update ao2_destructor_fn doxygen. + + * channels/chan_dahdi.c: Make a log NOTICE more explicit that the + event comes from DAHDI and not PRI. + +2013-05-06 17:01 +0000 [r387738] Jason Parker + + * main/asterisk.c: Fix building with LOW_MEMORY defined. + +2013-05-06 15:58 +0000 [r387690] Russell Bryant + + * /, apps/app_meetme.c: Make SLA reload more paranoid. Reload + support was originally not included for SLA. It was added later, + but in a fairly non-traditional way. It basically sets a flag + indicating that a reload is pending, and then waits for a time + where it thinks everything SLA related is idle and unused, and + *then* executes the reload. It does this because the reload + process is destructive. It starts by throwing everything away and + starting over. There are a number of problems with this approach. + One of them is that the check to see if anything in use was + incomplete. This patch makes it more complete and thus less + likely for a crash to occur during reload processing. However, + this approach still has problems so some much more significant + reworking of this code will need to come in as a next step. Patch + credit and testing by CoreDial, LLC. ........ Merged revisions + 387688 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 387689 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-06 13:04 +0000 [r387662] Joshua Colp + + * res/res_sorcery_astdb.c, tests/test_sorcery.c, main/sorcery.c, + include/asterisk/sorcery.h: Add support for observers and JSON + objectset creation to sorcery. This change adds the ability for + modules to add themselves as observers to sorcery object types. + Observers can be notified when objects are created, updated, or + deleted as well as when the object type is loaded or reloaded. + Observer notifications are done using a thread pool in a + serialized fashion so the caller of the sorcery API calls is + minimally impacted. This also adds the ability to create JSON + changesets of a sorcery object. Tests are also present to confirm + all of the above functionality. Review: + https://reviewboard.asterisk.org/r/2477/ + +2013-05-04 16:00 +0000 [r387630-387633] Matthew Jordan + + * include/asterisk.h, main/asterisk.c: Clean up documentation; + prevent ref leak on exit This patch: * Cleans up some doxygen * + Prevents leaking the system level Stasis topics and messages on + exit (users of valgrind will be happier) + + * funcs/func_global.c: Migrate SHARED's use of the VarSet AMI event + to Stasis-Core This patch removes the direct call to AMI from the + SHARED function and instead call Stasis-Core. Stasis-Core + delivers the notification that a shared variable has changed on a + channel to all interested consumers. (issue ASTERISK-21462) + +2013-05-03 18:03 +0000 [r387594] Jonathan Rose + + * res/res_stun_monitor.c, main/event.c, channels/chan_iax2.c, + main/asterisk.c, include/asterisk.h, channels/chan_sip.c: Stasis: + Convert network change events into network change stasis messages + (issue ASTERISK-21103) Review: + https://reviewboard.asterisk.org/r/2490/ + +2013-05-03 11:35 +0000 [r387545] Joshua Colp + + * res/res_sip_sdp_rtp.c, channels/chan_gulp.c: Use the configured + formats for Gulp sessions if there are no joint formats between + requested formats and configured formats. (closes issue + ASTERISK-21756) + +2013-05-02 20:59 +0000 [r387519] Matthew Jordan + + * build_tools/post_process_documentation.py, apps/app_stack.c: + Migrate AMI VarSet events raised by GoSub local variables This + patch moves VarSet events for local variables raised by GoSub + over to Stasis-Core. It also tweaks up the post-processing + documentation scripts to not combine parameters if both + parameters are already documented. (issue ASTERISK-21462) + +2013-05-02 19:06 +0000 [r387482] Richard Mudgett + + * main/channel.c: Remove the ABI compatability ast_channel_alloc(). + It is no longer needed. + +2013-05-02 17:15 +0000 [r387423] Matthew Jordan + + * utils/Makefile, /: Update utils Makefile to handle r387294 Alec's + patch that added the Asterisk version to 'core show locks' + angered the items in utils, as they exist somewhat outside of the + Asterisk build system. Some day, this Makefile should get nuked + from high orbit, but for now, include version.c in its list of + stuff to pile in. ........ Merged revisions 387421 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387422 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-02 16:39 +0000 [r387420] Jonathan Rose + + * include/asterisk/event_defs.h, main/event.c: Putting all event + defs and names back for now due to res_corosync dependency + +2013-05-02 08:24 +0000 [r387296-387369] Alec L Davis + + * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip: + Session-Expires: Set timer to correctly expire at (~2/3) of the + interval when not the refresher RFC 4028 Section 10 if the side + not performing refreshes does not receive a session refresh + request before the session expiration, it SHOULD send a BYE to + terminate the session, slightly before the session expiration. + The minimum of 32 seconds and one third of the session interval + is RECOMMENDED. Prior to this asterisk would refresh at 1/2 the + Session-Expires interval, or if the remote device was the + refresher, asterisk would timeout at interval end. Now, when not + refresher, timeout as per RFC noted above. (closes issue + ASTERISK-21742) Reported by: alecdavis Tested by: alecdavis + alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2488/ ........ Merged + revisions 387344 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387345 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: chan_sip: Honor Session-Expires in 200OK + response when it's a RE-INVITE when asterisk is the refresher. + RFC 4028 Section 7.2 "UACs MUST be prepared to receive a + Session-Expires header field in a response, even if none were + present in the request." What changed After ASTERISK-20787, + inbound calls to asterisk with no Session-Expires in the INVITE + are now are offered a Session-Expires (1800 asterisk default) in + the response, with asterisk as the refresher. Symptom: After 900 + seconds (asterisk default refresher period 1800), asterisk + RE-INVITEs the device, the device may respond with a much lower + Session-Expires (180 in our case) value that it is now using. + Asterisk ignores this response, as it's deemed both an INBOUND + CALL, and a RE-INVITE. After 180 seconds the device times out and + sends BYE (hangs up), asterisk is still working with the + refresher period of 1800 as it ignored the 'Session Expires: 180' + in the previous 200OK response. Fix: handle_response_invite() + when 200OK, remove check for outbound and reinvite. (closes issue + ASTERISK-21664) Reported by: alecdavis Tested by: alecdavis + alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2463/ ........ Merged + revisions 387312 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387319 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_dahdi.c, /: chan_dahdi: fix lower bound check with + -ve integer conversion from a float Lower bound of a 16bit signed + int is -32768 not -32767 (closes issue ASTERISK-21744) Reported + by: alecdavis Tested by: alecdavis alecdavis (license 585) + ........ Merged revisions 387297 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387298 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/utils.c: Add Asterisk Version to core show locks Assist + with reporting 'core show locks' when submitting bug reports. + Example below: =========================== == SVN-branch-1.8-... + == Currently Held Locks =========================== (closes issue + ASTERISK-21743) Reported by: alecdavis Tested by: alecdavis + alecdavis (license 585) ........ Merged revisions 387294 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387295 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-01 21:55 +0000 [r387260-387261] Richard Mudgett + + * channels/chan_local.c: Simplify + chan_local.c:manager_optimize_away() using ao2_find(). + + * channels/chan_local.c: Cleanup chan_local.c:local_new(). * Remove + t and ama local variables. There is no way they could be anything + other than default because p->owner can only be NULL at this + point. * Rename tmp and tmp2 to owner and chan respectively. * + Remove redundant initialization of channel context, exten, + priority. + +2013-05-01 21:18 +0000 [r387220] Matthew Jordan + + * /, res/res_rtp_asterisk.c: Clear the DTMF sending digit tracking + on off nominal paths In certain situations, when the RTP engine + goes to send a DTMF end digit it may be in a situation where the + remote address is no longer available, or the digit that was + supposed to be sent is invalid. In such cases, we need to clear + the RTP counters appropriately. Otherwise, when the RTP source is + set again, we'll continue to think that we're in the middle of + sending a DTMF digit, which can confuse the remote party + (signficantly). (closes issue ASTERISK-21522) Reported by: Corey + Farrell patches: rtp_dtmf_process_end.patch uploaded by Corey + Farrell (License 5909) ........ Merged revisions 387213 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387216 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-01 21:09 +0000 [r387181-387212] Richard Mudgett + + * channels/chan_local.c: Trivial changes. Comments, parentheses, + spelling, wording. + + * channels/chan_local.c: Make chan_local locals container an + explicit list container. Pretending that chan_local locals + container can have more than one bucket is silly. The container + has no key to help search. + + * channels/chan_local.c: Whitespace changes. + + * main/loader.c: Make mod_load_cmp() not as klunky. There is a + reason the heap comparison functions like qsort(), and other + comparison functions specify <0, >0, and =0 for the return + values. + + * channels/chan_unistim.c: Remove some unnecessary calls to + ast_bridged_channel() in chan_unistim.c + + * channels/chan_mgcp.c: Remove some unnecessary calls to + ast_bridged_channel() in chan_mgcp.c + + * channels/chan_skinny.c: Remove some unnecessary calls to + ast_bridged_channel() in chan_skinny.c + + * channels/chan_iax2.c: Remove some unnecessary calls to + ast_bridged_channel() in chan_iax2.c + + * channels/chan_dahdi.c, channels/sig_analog.c: Remove some + unnecessary calls to ast_bridged_channel() in + chan_dahdi.c/sig_analog.c + +2013-05-01 18:38 +0000 [r387135] Matthew Jordan + + * /, channels/chan_sip.c: Prevent crash in 'sip show peers' when + the number of peers on a system is large When you have lots of + SIP peers (according to the issue reporter, around 3500), the + 'sip show peers' CLI command or AMI action can crash due to a + poorly placed string duplication that occurs on the stack. This + patch refactors the command to not allocate the string on the + stack, and handles the formatting of a single peer in a separate + function call. (closes issue ASTERISK-21466) Reported by: + Guillaume Knispel patches: + fix_sip_show_peers_stack_overflow_asterisk_11.3.0-v2.patch + uploaded by gknispel (License 6492) ........ Merged revisions + 387134 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-05-01 17:15 +0000 [r387108] Richard Mudgett + + * channels/chan_dahdi.c: Move some annoying chan_dahdi debug + messages to level 5. + +2013-04-30 22:50 +0000 [r387039] Matthew Jordan + + * main/features.c, /: Fix CDR not being created during an + externally initiated blind transfer Way back when in the dark + days of Asterisk 1.8.9, blind transferring a call in a context + that included the 'h' extension would inadvertently execute the + hangup code logic on the transferred channel. This was a "bad + thing". The fix was to properly check for the softhangup flags on + the channel and only execute the 'h' extension logic (and, in + later versions, hangup handler logic) if the channel was well and + truly dead (Jim). Unfortunately, CDRs are fickle. Setting the + softhangup flag when we detected that the channel was leaving the + bridge (but not to die) caused some crucial snippet of CDR code, + lying in ambush in the middle of the bridging code, to not get + executed. This had the effect of blowing away one of the CDRs + that is typically created during a blind transfer. While we live + and die by the adage "don't touch CDRs in release branches", this + was our bad. The attached patch restores the CDR behavior, and + still manages to not run the 'h' extension during a blind + transfer (at least not when it's supposed to). Thanks to Steve + Davies for diagnosing this and providing a fix. Review: + https://reviewboard.asterisk.org/r/2476 (closes issue + ASTERISK-21394) Reported by: Ishfaq Malik Tested by: Ishfaq + Malik, mjordan patches: fix_missing_blindXfer_cdr2 uploaded by + one47 (License 5012) ........ Merged revisions 387036 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 387038 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-30 22:37 +0000 [r387035-387037] Jonathan Rose + + * main/manager.c, channels/chan_sip.c, + include/asterisk/event_defs.h, main/event.c, + include/asterisk/json.h, channels/chan_iax2.c, main/named_acl.c, + include/asterisk/acl.h, main/json.c: Stasis Core: Refactor ACL + Change events to go out over the stasis core msg bus (issue + ASTERISK-21103) Reported by: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2481/ + + * /, main/event.c: Add forgotten event types to event_names array + ........ Merged revisions 387030 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-30 18:12 +0000 [r386990] Jason Parker + + * channels/chan_gulp.c: Fix a log message. + +2013-04-30 13:48 +0000 [r386931] Sean Bright + + * include/asterisk/utils.h, /: Use the proper lower bound when + doing saturation arithmetic. 16 bit signed integers have a range + of [-32768, 32768). The existing code was using the interval + (-32768, 32768) instead. This patch fixes that. Review: + https://reviewboard.asterisk.org/r/2479/ ........ Merged + revisions 386929 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 386930 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-30 13:37 +0000 [r386928] David M. Lee + + * tests/test_stasis_http.c, res/res_stasis_http.c: Just a couple of + Stasis-HTTP nitpick fixes. * Fixed crash when res_stasis_http is + unloaded before the implementation modules. * Cleaned up test + initialization for test_stasis_http.so. + +2013-04-29 23:36 +0000 [r386879] Rusty Newton + + * sounds/Makefile, /: Modifying sounds/Makefile to pull down 1.4.24 + core sounds 1.4.24 core sounds includes a full set of Italian + prompts for core sounds and a fix for the missing voicemail + prompts in the Russian language. (closes issue ASTERISK-19431) + (closes issue ASTERISK-19721) ........ Merged revisions 386877 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 386878 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-29 13:38 +0000 [r386793-386841] Olle Johansson + + * CHANGES, apps/app_queue.c, /: Play periodic prompts for first + call in a call queue Review: + https://reviewboard.asterisk.org/r/2263/ ........ Merged + revisions 386792 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 386794 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * include/asterisk/doxygen/commits.h: Change pointer to existing + wiki page instead of non-existing page + +2013-04-28 03:32 +0000 [r386774] Kinsey Moore + + * rest-api-templates/swagger_model.py: Fix spelling error in python + doc + +2013-04-27 19:03 +0000 [r386731-386760] Joshua Colp + + * res/res_sip.c: Tweak res_sip priority so it gets loaded first + before all other SIP stuff. + + * res/res_config_sqlite.c: Update res_config_sqlite to use the + ast_variable lists. + + * include/asterisk/config.h, CHANGES, res/res_config_ldap.c, + main/config.c, tests/test_sorcery_realtime.c (added), + main/sorcery.c, res/res_sorcery_realtime.c (added), + addons/res_config_mysql.c, res/res_config_sqlite3.c, + res/res_config_curl.c, res/res_config_pgsql.c, + res/res_config_odbc.c: Add support for a realtime sorcery module. + This change does the following: 1. Adds the sorcery realtime + module 2. Adds unit tests for the sorcery realtime module 3. + Changes the realtime core to use an ast_variable list instead of + variadic arguments 4. Changes all realtime drivers to accept an + ast_variable list Review: + https://reviewboard.asterisk.org/r/2424/ + +2013-04-26 21:52 +0000 [r386685-386686] Matthew Jordan + + * res/res_sip_dtmf_info.c, + res/res_sip_outbound_authenticator_digest.c, + res/res_sip_rfc3326.c, res/res_sip_outbound_registration.c, + res/res_sip_endpoint_identifier_ip.c, + res/res_sip_endpoint_identifier_constant.c, res/res_sip_mwi.c, + res/res_sip_acl.c, res/res_sip_logger.c, + res/res_sip_endpoint_identifier_user.c, res/res_sip_pubsub.c, + res/res_sip_nat.c, res/res_sip_registrar.c: Add missing module + dependencies to various res_sip* modules This patch updates the + various res_sip modules with their proper menuselect options and + proper dependencies, such that Asterisk still has a snowball's + chance in hell of compiling without pjproject. Much thanks to + snuffy(-home|-work) for making everyone's life easier with this + patch. Review: https://reviewboard.asterisk.org/r/2472/ (closes + issue ASTERISK-21669) Reported by: snuffy patches: + xml-depends.diff uploaded by snuffy (license 5024) + + * main/config.c, /: Clean up memory leak in config file on off + nominal paths when glob is allowed If a system allows for its + usage, Asterisk will use glob to help parse Asterisk .conf files. + The config file loading routine was leaking the memory allocated + by the glob() routine when the config file was in an unmodified + or invalid state. This patch properly calls globfree in those off + nominal paths. (closes issue ASTERISK-21412) Reported by: Corey + Farrell patches: config_glob_leak.patch uploaded by Corey Farrell + (license 5909) ........ Merged revisions 386672 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 386677 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-26 21:31 +0000 [r386684] David M. Lee + + * main/loader.c: By popular demand, putting the + about-to-load-module printf back. But now it only prints during + the initial startup, and prints at verbose 1 level. + +2013-04-26 21:27 +0000 [r386676] Matthew Jordan + + * /, main/features.c: Clean up resources in features on exit This + patch cleans up two things features: * It properly unregisters + the CLI commands that features registered * It cancels and + performs a pthread_join on the created parking thread. This not + only properly joins a non-detached thread, but also prevents + disposing of the parking lots prior to the parking thread + completely exiting. (closes issue ASTERISK-21407) Reported by: + Corey Farrell patches: features_shutdown-r2.patch uploaded by + Corey Farrell (License 5909) ........ Merged revisions 386641 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 386642 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-26 21:00 +0000 [r386640] David M. Lee + + * main/loader.c: Removing stray printf from r386540 + +2013-04-26 20:32 +0000 [r386638] Mark Michelson + + * main/uuid.c: Add an \extref doxygen pointer for libuuid. Thanks + to Olle Johansson for suggesting this. + +2013-04-26 20:05 +0000 [r386623-386624] David M. Lee + + * res/res_statsd.c (added), res/res_chan_stats.c (added), + res/res_statsd.exports.in (added), configs/statsd.conf.sample + (added), include/asterisk/utils.h, include/asterisk/statsd.h + (added): Example of how to use the Stasis message bus In order to + get people familiar with the Stasis message bus, it would be + useful to have something of a tutorial. Since I'm not clever + enough to think of some cool integration we could do with + Twitter, I settled for something that might actually be useful. + This patch adds a res_statsd.so module, which implements a basic + statsd[1] client. Statsd is a very simple statistics gathering + server, which can publish its results to a backend graphing + engine, like Graphite[2]. There are several different Statsd + server implementations[3], so you can pick what works best for + your environment. The actual example of how to use the Stasis + message bus is in res_chan_stats.so. This module demonstrates how + to use subscriptions and the message router by monitoring + messages and posting channels stats to the statsd server. A wiki + page walking through res_chan_stats.so is forthcoming. [1]: + https://github.com/etsy/statsd/ [2]: + http://graphite.readthedocs.org/en/latest/ [3]: + http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/ + Review: https://reviewboard.asterisk.org/r/2460/ + + * res/res_sip: Ignore *.[oi] files in res/res_sip + +2013-04-25 21:32 +0000 [r386577] Joshua Colp + + * configs/res_sip.conf.sample: Don't bind to anything in the sample + configuration so we don't clash with chan_sip on a "make samples" + right now. + +2013-04-25 18:28 +0000 [r386540-386541] Mark Michelson + + * /: REmove automerge properties. + + * res/res_sip_registrar.c (added), + include/asterisk/autoconfig.h.in, include/asterisk/res_sip.h + (added), res/res_sip/sip_distributor.c, + res/res_sip/config_auth.c, res/res_sip.exports.in (added), + res/Makefile, res/res_sip_authenticator_digest.c (added), + main/taskprocessor.c, res/res_sip_session.exports.in (added), + channels/Makefile, main/astobj2.c, + res/res_sip/config_domain_aliases.c, channels/chan_gulp.c + (added), res/res_sip_logger.c (added), res/res_sip.c (added), + include/asterisk/res_sip_pubsub.h (added), + res/res_sip_outbound_authenticator_digest.c (added), + res/res_sip_outbound_registration.c (added), main/sorcery.c, + res/res_sip_acl.c (added), configs/res_sip.conf.sample (added), + res/res_sip/sip_configuration.c, /, res/res_sip_dtmf_info.c + (added), res/res_sip/include/res_sip_private.h, + include/asterisk/res_sip_session.h (added), main/threadpool.c, + res/res_sip_endpoint_identifier_ip.c (added), + tests/test_sorcery.c, res/res_sip_sdp_rtp.c (added), + res/res_sip/sip_outbound_auth.c, main/loader.c, + res/res_sip_caller_id.c (added), + res/res_sip_endpoint_identifier_user.c (added), + res/res_sip/include, res/res_sip_nat.c (added), configure, + res/res_sip_session.c (added), res/res_sip/sip_options.c, + include/asterisk/sorcery.h, res/res_sip_pubsub.exports.in + (added), res/res_sip_rfc3326.c (added), res/res_sip/location.c, + res/res_sip_endpoint_identifier_constant.c (added), + res/res_sip_mwi.c (added), res/res_sip (added), + res/res_sip_pubsub.c (added), res/res_sorcery_config.c, + res/res_sip/config_transport.c, include/asterisk/threadpool.h: + Merge the pimp_my_sip branch into trunk. The pimp_my_sip branch + is being merged at this point because it offers basic + functionality, and from an API standpoint, things are complete. + SIP work is *not* feature-complete; however, with the completion + of the SUBSCRIBE/NOTIFY API, all APIs (except a PUBLISH API) have + been created, and thus it is possible for developers to attempt + to create new SIP work. API documentation can be found in the + doxygen in the code, but usability documentation is still + lacking. + +2013-04-25 03:04 +0000 [r386485-386487] Michael L. Young + + * /, channels/chan_sip.c: Fix Displaying Symmetric RTP Global + Setting * Use comedia_string() to display correctly the symmetric + rtp setting when running "sip show settings" ........ Merged + revisions 386486 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: Change Case On Forcerport For Consistency + * Change "ForcerPort" to "Forcerport" to match everywhere else it + is displayed ........ Merged revisions 386483 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 386484 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-24 21:47 +0000 [r386461-386462] David M. Lee + + * res/stasis_http/resource_endpoints.h, + res/stasis_http/resource_events.h, + res/stasis_http/resource_asterisk.h, + res/stasis_http/resource_playback.h, + res/stasis_http/resource_channels.h, + res/stasis_http/resource_sounds.h, + res/stasis_http/resource_bridges.h, + res/stasis_http/resource_recordings.h, + rest-api-templates/stasis_http_resource.h.mustache: Document JSON + models in resource_*.h + + * rest-api-templates/swagger_model.py: Oops. Mustache doesn't like + dictionaries + +2013-04-23 20:18 +0000 [r386375] Richard Mudgett + + * apps/app_confbridge.c, apps/confbridge/conf_config_parser.c: + confbridge: Make search the conference bridges container using + OBJ_KEY. * Make confbridge config parsing user profile, bridge + profile, and menu container hash/cmp functions correctly check + the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags. * Made + confbridge load_module()/unload_module() free all resources on + failure conditions. + +2013-04-23 18:57 +0000 [r386352] Kinsey Moore + + * res/res_stasis.c: Fix some bad whitespace This crept in with the + RESTful HTTP interface merge. + +2013-04-22 16:44 +0000 [r386289] Richard Mudgett + + * /, main/channel.c: Fix crash when AMI redirect action redirects + two channels out of a bridge. The two party bridging loops were + changing the bridge peer pointers without the channel locks held. + Thus when ast_channel_massquerade() tested and used the pointer + there is a small window of opportunity for the pointers to become + NULL even though the masquerade code has the channels locked. + (closes issue ASTERISK-21356) Reported by: William luke Patches: + jira_asterisk_21356_v11.patch (license #5621) patch uploaded by + rmudgett Tested by: William luke ........ Merged revisions 386256 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 386286 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-22 16:22 +0000 [r386266] Andrew Latham + + * include/asterisk/srv.h: Doxygen - Markup Guidelines Expand on a + commit by OEJ to use the Coding-Guidelines (issue ASTERISK-20259) + +2013-04-22 14:58 +0000 [r386232] David M. Lee + + * res/res_stasis_http.exports.in (added), rest-api-templates + (added), res/stasis_http/resource_channels.c, + res/res_stasis_http_sounds.c (added), rest-api (added), + main/http.c, res/res_stasis_http_bridges.c (added), + tests/test_stasis_http.c (added), include/asterisk/strings.h, + res/res_stasis_http.c (added), tests/test_stasis.c, + res/res_stasis.c, res/res_stasis_http_asterisk.c (added), + res/res_stasis_http_playback.c (added), res/stasis_http (added), + configs/stasis_http.conf.sample (added), + include/asterisk/stasis_http.h (added), + res/res_stasis_http_channels.c (added), + include/asterisk/stasis_app.h, res/Makefile, + include/asterisk/json.h, res/res_stasis_http_recordings.c + (added), res/stasis_http.make (added), tests/test_strings.c, + res/res_stasis_http_endpoints.c (added), + res/res_stasis_http_events.c (added), include/asterisk/http.h, + Makefile, main/json.c: This patch adds a RESTful HTTP interface + to Asterisk. The API itself is documented using Swagger, a + lightweight mechanism for documenting RESTful API's using JSON. + This allows us to use swagger-ui to provide executable + documentation for the API, generate client bindings in different + languages, and generate a lot of the boilerplate code for + implementing the RESTful bindings. The API docs live in the + rest-api/ directory. The RESTful bindings are generated from the + Swagger API docs using a set of Mustache templates. The code + generator is written in Python, and uses Pystache. Pystache has + no dependencies, and be installed easily using pip. Code + generation code lives in rest-api-templates/. The generated code + reduces a lot of boilerplate when it comes to handling HTTP + requests. It also helps us have greater consistency in the REST + API. (closes issue ASTERISK-20891) Review: + https://reviewboard.asterisk.org/r/2376/ + +2013-04-22 12:45 +0000 [r386211] Olle Johansson + + * include/asterisk/srv.h: Fix mistake in Doxygen. Doxygen is only + *ONE* comment that applies to the NEXT piece of code. + +2013-04-22 01:05 +0000 [r386190] Russell Bryant + + * apps/app_meetme.c: sla: remove redundant locking. sla.lock was + already locked in the only place that sla_check_reload() was + called. Remove the redundant locking of sla.lock done in this + function. Less recursive locking is A Good Thing. + +2013-04-19 22:27 +0000 [r386160] Matthew Jordan + + * /, res/res_timing_pthread.c: Prevent res_timing_pthread from + blocking callers There were several reports of deadlock when + using res_timing_pthread. Backtraces indicated that one thread + was blocked waiting for the write to the pipe to complete and + this thread held the container lock for the timers. Therefore any + thread that wanted to create a new timer or read an existing + timer would block waiting for either the timer lock or the + container lock and deadlock ensued. This patch changes the way + the pipe is used to eliminate this source of deadlocks: 1) The + pipe is placed in non-blocking mode so that it would never block + even if the following changes someone fail... 2) Instead of + writing bytes into the pipe for each "tick" that's fired the pipe + now has two states--signaled and unsignaled. If signaled, the + pipe is hot and any pollers of the read side filedescriptor will + be woken up. If unsigned the pipe is idle. This eliminates even + the chance of filling up the pipe and reduces the potential + overhead of calling unnecessary writes. 3) Since we're tracking + the signaled / unsignaled state, we can eliminate the exta poll + system call for every firing because we know that there is data + to be read. (closes issue ASTERISK-21389) Reported by: Matt + Jordan Tested by: Shaun Ruffell, Matt Jordan, Tony Lewis patches: + 0001-res_timing_pthread-Reduce-probability-of-deadlocking.patch + uploaded by sruffell (License 5417) (closes issue ASTERISK-19754) + Reported by: Nikola Ciprich (closes issue ASTERISK-20577) + Reported by: Kien Kennedy (closes issue ASTERISK-17436) Reported + by: Henry Fernandes (closes issue ASTERISK-17467) Reported by: + isrl (closes issue ASTERISK-17458) Reported by: isrl Review: + https://reviewboard.asterisk.org/r/2441/ ........ Merged + revisions 386109 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 386159 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-19 05:20 +0000 [r386019-386054] David M. Lee + + * main/cli.c, /: cli.c: Properly initialize debug_modules and + verbose_modules. This avoids some lock errors on the core set + {debug,verbose} commands. ........ Merged revisions 386049 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 386051 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * include/asterisk/http_websocket.h, res/res_http_websocket.c: + Allow WebSocket connections on more URL's This patch adds the + concept of ast_websocket_server to res_http_websocket, allowing + WebSocket connections on URL's more more than /ws. The existing + funcitons for managing the WebSocket subprotocols on /ws still + work, so this patch should be completely backward compatible. + (closes issue ASTERISK-21279) Review: + https://reviewboard.asterisk.org/r/2453/ + + * /, main/message.c: Fix lock errors on startup. In messages.c, + there are several places in the code where we create a + tmp_tech_holder and pass that into an ao2_find call. + Unfortunately, we weren't initializing the rwlock on the + tmp_tech_holder, which the hash function was locking. It's + apparently harmless, but still not the best code. This patch + extracts all that copy/pasted code into two functions, + msg_find_by_tech and msg_find_by_tech_name, which properly + initialize and destroy the rwlock on the tmp_tech_holder. Review: + https://reviewboard.asterisk.org/r/2454/ ........ Merged + revisions 386006 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-16 23:44 +0000 [r385939] Alec L Davis + + * /, res/res_xmpp.c, res/res_jabber.c: res_xmpp and res_jabber need + to search 'cachable' in the attrib section of the received IE, + not data. (issue ASTERISK-20175) (closes issue ASTERISK-21429) + (closes issue ASTERISK-21069) (closes issue ASTERISK-21164) + Reported by: alecdavis Tested by: alecdavis alecdavis (license + 585) Review https://reviewboard.asterisk.org/r/2452/ + +2013-04-16 17:50 +0000 [r385860-385886] Kinsey Moore + + * res/res_corosync.c: Allow res_corosync to build + ast_enable_distributed_devstate is no longer applicable to how + the distributed device state system works and is no longer + necessary. + + * main/presencestate.c, main/pbx.c, funcs/func_presencestate.c, + include/asterisk/presencestate.h: Move presence state + distribution to Stasis-core Convert presence state events to + Stasis-core messages and remove redundant serializers where + possible. Review: https://reviewboard.asterisk.org/r/2410/ + (closes issue ASTERISK-21102) Patch-by: Kinsey Moore + + + * main/asterisk.c, include/asterisk/devicestate.h, main/pbx.c, + main/ccss.c, include/asterisk/xmpp.h, tests/test_devicestate.c, + main/devicestate.c, res/res_xmpp.c, apps/app_queue.c, + res/res_jabber.c: Move device state distribution to Stasis-core + In the move from Asterisk's event system to Stasis, this makes + distributed device state aggregation always-on, removes + unnecessary task processors where possible, and collapses + aggregate and non-aggregate states into a single cache for ease + of retrieval. This also removes an intermediary step in device + state aggregation. Review: + https://reviewboard.asterisk.org/r/2389/ (closes issue + ASTERISK-21101) Patch-by: Kinsey Moore + +2013-04-16 14:09 +0000 [r385835] David M. Lee + + * include/asterisk/stasis_channels.h: Fixed a typo + +2013-04-15 17:26 +0000 [r385782] Jason Parker + + * Makefile, /: Don't unnecessarily rebuild things on every run of + 'make'. Review: https://reviewboard.asterisk.org/r/2449/ ........ + Merged revisions 385745 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385768 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-15 16:47 +0000 [r385718-385743] David M. Lee + + * res/res_stasis_websocket.c: Avoid unused variable warning when + not in devmode + + * tests/test_res_stasis.c (added), tests/test_stasis_channels.c, + include/asterisk/app_stasis.h (removed), + include/asterisk/stasis_app.h (added), include/asterisk/json.h, + main/json.c, include/asterisk/stasis_channels.h, + res/res_stasis.exports.in (added), apps/Makefile, + apps/app_stasis.exports.in (removed), apps/stasis_json.c + (removed), main/stasis_channels.c, tests/test_app_stasis.c + (removed), res/res_stasis.c (added), main/manager_channels.c, + apps/app_stasis.c, tests/test_json.c, res/res_stasis_websocket.c: + Moved core logic from app_stasis to res_stasis After some + discussion on asterisk-dev, it was decided that the bulk of the + logic in app_stasis actually belongs in a resource module instead + of the application module. This patch does that, leaves the app + specific stuff in app_stasis, and fixes up everything else to be + consistent with that change. * Renamed test_app_stasis to + test_res_stasis * Renamed app_stasis.h to stasis_app.h * This is + still stasis application support, even though it's no longer in + an app_ module. The name should never have been tied to the type + of module, anyways. * Now that json isn't a resource module + anymore, moved the ast_channel_snapshot_to_json function to + main/stasis_channels.c, where it makes more sense. Review: + https://reviewboard.asterisk.org/r/2430/ + + * include/asterisk/cli.h, include/asterisk/strings.h, + apps/app_stasis.c, main/manager_channels.c, main/channel.c: DTMF + events are now published on a channel's stasis_topic. AMI was + refactored to use these events rather than producing the events + directly in channel.c. Finally, the code was added to app_stasis + to produce DTMF events on the WebSocket. The AMI events are + completely backward compatible, including sending events on + transmitted DTMF, and sending DTMF start events. The Stasis-HTTP + events are somewhat simplified. Since DTMF start and DTMF send + events are generally less useful, Stasis-HTTP will only send + events on received DTMF end. (closes issue ASTERISK-21282) + (closes issue ASTERISK-21359) Review: + https://reviewboard.asterisk.org/r/2439 + + * contrib/realtime/mysql/queue_log.sql, + channels/sip/include/security_events.h, channels/sig_ss7.c, + channels/chan_multicast_rtp.c, channels/sig_ss7.h, /, + tests/test_expr.c, apps/app_saycounted.c, + channels/sip/security_events.c, + contrib/realtime/mysql/voicemail_messages.sql, BSDmakefile, + contrib/realtime/mysql/voicemail_data.sql, + build_tools/sha1sum-sh, res/res_mutestream.c, + configs/res_curl.conf.sample, tests/test_func_file.c, + res/res_rtp_multicast.c, include/asterisk/select.h, + include/asterisk/bridging_technology.h, + include/asterisk/bridging_features.h, tests/test_locale.c, + doc/Makefile, tests/test_poll.c, + contrib/realtime/mysql/musiconhold.sql, res/res_timing_kqueue.c: + Fix the svn:keywords property on several files. Normally I think + keyword expansion is silly, but the one time it would have been + good, it didn't work because the property had quotes in it. This + patch fixes obviously busted svn:keywords properties. ........ + Merged revisions 385683 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385689 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-14 03:01 +0000 [r385635-385638] Matthew Jordan + + * res/res_rtp_multicast.c, /: Calculate the timestamp for outbound + RTP if we don't have timing information This patch calculates the + timestamp for outbound RTP when we don't have timing information. + This uses the same approach in res_rtp_asterisk. Thanks to both + Pietro and Tzafrir for providing patches. (closes issue + ASTERISK-19883) Reported by: Giacomo Trovato Tested by: Pietro + Bertera, Tzafrir Cohen patches: rtp-timestamp-1.8.patch uploaded + by tzafrir (License 5035) rtp-timestamp.patch uploaded by + pbertera (License 5943) ........ Merged revisions 385636 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385637 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_alsa.c: Don't attempt to create a voice frame on + a read error Prior to this patch, a read error in snd_pcm_readi + would still be treated as a nominal result when constructing a + voice frame from the expected data. Since the value returned is + negative, as opposed to the number of samples read, this could + result in a crash. With this patch, we now return a null frame + when a read error is detected. Note that the patch on + ASTERISK-21329 was modified slightly for this commit, in that we + bail immediately on detecting the read error, rather than + bypassing the construction of the voice frame. (closes issue + ASTERISK-21329) Reported by: Keiichiro Kawasaki patches: + chan_alsa.diff uploaded by kawasaki (License 6489) ........ + Merged revisions 385633 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385634 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-12 22:38 +0000 [r385595] Michael L. Young + + * /, apps/app_queue.c: Fix Manager Segfault When app_queue Is + Unloaded When app_queue is unloaded, some manager commands are + not being unregistered which result in a segfault. This patch + corrects this. (closes issue ASTERISK-21397) Reported by: Peter + Katzmann, Corey Farrell Tested by: Corey Farrell Patches: + asterisk-21397-missing-unreg-manager-cmd_1.8.diff Michael L. + Young (license 5026) + asterisk-21397-missing-unreg-manager-cmd_11.diff Michael L. Young + (license 5026) Review: https://reviewboard.asterisk.org/r/2444/ + ........ Merged revisions 385593 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385594 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-12 22:26 +0000 [r385585] Kinsey Moore + + * codecs/codec_resample.c, /: Allow codec_resample to be unloaded + Ensure that trans_size is correct to prevent uninitialized + entries from preventing reload. (closes issue ASTERISK-21401) + Reported by: Corey Farrell Tested by: Corey Farrell Patches: + codec_resample-unload.patch uploaded by Corey Farrell ........ + Merged revisions 385582 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-12 22:22 +0000 [r385573] Michael L. Young + + * /, apps/app_voicemail.c: Fix app_voicemail Segfault And A Few + Memory Leaks The original report was that app_voicemail would + crash. This was caused by ast_config_load() returning + CONFIG_STATUS_FILEINVALID but no checks being performed for that + return status. After adding the initial patch to fix this issue, + Jaco Kroon (jkroon) added some fixes to memory leaks he had + discovered. During review, Walter Doekes (wdoekes) suggested + adding a helper function in order to determine if we had a valid + configuration or not. This patch does the following: * Creates a + helper function to check if the configuration is valid * Adds + calls to the new helper function where appropiate * Fixes memory + leaks where the code returned without running + ast_config_destroy() on the configuration that was loaded (closes + issue ASTERISK-21302) Reported by: Jaco Kroon Tested by: Jaco + Kroon, Michael L. Young Patches: + asterisk-11.3.0-app_voicemail-ast_config-fixes.patch Jaco Kroon + (license 5671) asterisk-21302-valid_cfg_and_mem_leaks_v3-1.8.diff + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2443/ ........ Merged + revisions 385551 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385557 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-12 21:48 +0000 [r385548] Jason Parker + + * include/asterisk/sorcery.h: Fix documentation. + +2013-04-12 21:11 +0000 [r385522] Kinsey Moore + + * main/manager_channels.c, include/asterisk/manager.h: Expose + channel snapshot manager blob generation These functions are + already used in one branch (jrose's parking branch) and will soon + be used in other branches as well. + +2013-04-12 15:06 +0000 [r385474] Michael L. Young + + * /, channels/chan_sip.c: Fix One-Way Audio With auto_* NAT + Settings When SIP Calls Initiated By PBX When we reload Asterisk + or chan_sip, the flags force_rport and comedia that are turned on + and off when using the auto_force_rport and auto_comedia nat + settings go back to the default setting off. These flags are + turned on when needed or off when not needed at the time that a + peer registers, re-registers or initiates a call. This would + apply even when only the default global setting + "nat=auto_force_rport" is being used, which in this case would + only affect the force_rport flag. Everything is good except for + the following: The nat setting is set to auto_force_rport and + auto_comedia. We reload Asterisk and the peer's registration has + not expired. We load in the settings for the peer which turns + force_rport and comedia back to off. Since the peer has not + re-registered or placed a call yet, those flags remain off. We + then initiate a call to the peer from the PBX. The force_rport + and comedia flags stay off. If NAT is involved, we end up with + one-way audio since we never checked to see if the peer is behind + NAT or not. This patch does the following: * Moves the checking + of whether a peer is behind NAT into its own function * Create a + function to set the peer's NAT flags if they are using the auto_* + NAT settings * Adds calls in sip_request_call() to these new + functions in order to setup the dialog according to the peer's + settings (closes issue ASTERISK-21374) Reported by: Michael L. + Young Tested by: Michael L. Young Patches: + asterisk-21374-auto-nat-outgoing-fix_v2.diff Michael L. Young + (license 5026) Review: https://reviewboard.asterisk.org/r/2421/ + ........ Merged revisions 385473 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-12 08:52 +0000 [r385406-385431] Alec L Davis + + * channels/chan_iax2.c, /: IAX2 defer_full_frames fail to get sent + Ensure iax2_process_thread is signalled when a deferred frame is + queued to it. (closes issue ASTERISK-18827) Reported by: + alecdavis Tested by: alecdavis alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2426/ ........ Merged + revisions 385429 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385430 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_iax2.c, /: IAX2, prevent network thread starting + before all helper threads are ready On startup, it's possible for + a frame to arrive before the processing threads were ready. In + iax2_process_thread() the first pass through falls into + ast_cond_wait, should a frame arrive before we are at + ast_cond_wait, the signal will be ignored. The result + iax2_process_thread stays at ast_cond_wait forever, with deferred + frames being queued. Fix: When creating initial idle + iax2_process_threads, wait for init_cond to be signalled after + each thread is started. (issue ASTERISK-18827) Reported by: + alecdavis Tested by: alecdavis alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2427/ ........ Merged + revisions 385402 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385403 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-11 16:53 +0000 [r385277-385314] Richard Mudgett + + * /, configs/cli_aliases.conf.sample: Fix 'pri intense debug span' + alias. ........ Merged revisions 385313 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/features.c: Eliminated dial_features_destroy() since it is + equivalent to ast_free_ptr() + + * main/manager.c, main/features.c: * Fix unlocked accesses to + feature_list. The feature_list is now also protected by the + features_lock. * Made all calls to ast_find_call_feature() have + the features_lock held. * Fixed set_config_flags() to actually + use find_group() to look for feature groups in DYNAMIC_FEATURES. + The code originally assumed all feature groups were listed in + DYNAMIC_FEATURES. * Make everyone use ast_rdlock_call_features(), + ast_unlock_call_features(), and new ast_wrlock_call_features() + instead of directly calling the rwlock API on features_lock. + +2013-04-10 15:34 +0000 [r385236] David M. Lee + + * main/stasis_channels.c: Fixed manager channelvars support. For + the events that have been ported to Stasis, this was broken in + r384910, when a couple of lines of code was lost in a merge. + +2013-04-10 14:26 +0000 [r385174-385202] Matthew Jordan + + * /, res/res_config_ldap.c: Use LDAP memory management functions + instead of Asterisk's When MALLOC_DEBUG is enabled with + res_config_ldap, issues (munmap_chunk: invalid pointer errors) + can occur as the memory is being allocated with Asterisk's + wrappers around malloc/calloc/free/strdup, as opposed to the LDAP + library's wrappers. This patch uses the LDAP library's wrappers + where appropriate, so that compiling with MALLOC_DEBUG doesn't + cause more problems than it solves. Note that the patch listed + below was modified slightly for this commit to account for some + additional memory allocation/deallocations. (closes issue + ASTERISK-17386) Reported by: John Covert Tested by: Andrew Latham + patches: issue18789-1.8-r316873.patch uploaded by seanbright + (License 5060) ........ Merged revisions 385190 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385199 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: Fix crash in chan_sip when a core + initiated op occurs at the same time as a BYE When a BYE request + is processed in chan_sip, the current SIP dialog is detached from + its associated Asterisk channel structure. The tech_pvt pointer + in the channel object is set to NULL, and the dialog persists for + an RFC mandated period of time to handle re-transmits. While this + process occurs, the channel is locked (which is good). + Unfortunately, operations that are initiated externally have no + way of knowing that the channel they've just obtained (which is + still valid) and that they are attempting to lock is about to + have its tech_pvt pointer removed. By the time they obtain the + channel lock and call the channel technology callback, the + tech_pvt is NULL. This patch adds a few checks to some channel + callbacks that make sure the tech_pvt isn't NULL before using it. + Prime offenders were the DTMF digit callbacks, which would crash + if AMI initiated a DTMF on the channel at the same time as a BYE + was received from the UA. This patch also adds checks on + sip_transfer (as AMI can also cause a callback into this + function), as well as sip_indicate (as lots of things can queue + an indication onto a channel). Review: + https://reviewboard.asterisk.org/r/2434/ (closes issue + ASTERISK-20225) Reported by: Jeff Hoppe ........ Merged revisions + 385170 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 385173 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-09 19:58 +0000 [r385142] Richard Mudgett + + * main/features.c: Rename struct feature_ds to struct + feature_datastore. Because "struct feature_ds *feature_ds" is not + a good thing. + +2013-04-09 18:22 +0000 [r385116] David M. Lee + + * apps/app_stasis.c: Backported app_stasis fix from stasis-http + branch. The hash and compare functions for the control container + was reusing the wrong ones, causing some problems. I fixed it, + but in the wrong branch. Oh well, it happens. + +2013-04-09 06:16 +0000 [r385088] Russell Bryant + + * main/features.c, CHANGES: Add inheritance support to + FEATURE()/FEATUREMAP(). The settings saved on the channel for + FEATURE()/FEATUREMAP() were only for that channel. This patch + adds the ability to have these settings inherited to child + channels if you set FEATURE(inherit)=yes. Closes issue + ASTERISK-21306. Review: https://reviewboard.asterisk.org/r/2415/ + +2013-04-08 23:38 +0000 [r385049] Rusty Newton + + * /, configs/extconfig.conf.sample: Modified the list of keys for + the driver backends for sake of sample clarity Added a line + showing the mapping of "mysql" to res_config_mysql available in + add-ons. We used "mysql" as an example driver key in the sample, + but didn't show what module it mapped too. Also added a subtitle + above the list of keys for driver backends. ........ Merged + revisions 385047 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 385048 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-08 18:24 +0000 [r384989] Walter Doekes + + * build_tools/make_buildopts_h, + build_tools/make_linker_version_script, Makefile, + build_tools/mkpkgconfig, build_tools/make_version: Clean up + Makefile "warning" clutter when makeopts doesn't exist. Review: + https://reviewboard.asterisk.org/r/2304 + +2013-04-08 15:38 +0000 [r384910-384942] Matthew Jordan + + * res/res_http_websocket.c, res/res_stasis_websocket.c: Don't + attempt a websocket protocol removal if res_http_websocket isn't + there This patch sets the protocols container provided by + res_http_websocket to NULL when the module gets unloaded and adds + the necessary checks when adding/ removing a websocket protocol. + This prevents some FRACKing on an invalid pointer to the disposed + container if a module that uses res_http_websocket is unloaded + after it. + + * apps/app_stasis.c, main/manager_channels.c, apps/app_dial.c, + main/pbx.c, main/channel_internal_api.c, + tests/test_stasis_channels.c (added), + include/asterisk/app_stasis.h, apps/app_userevent.c, + include/asterisk/channel.h, CHANGES, main/channel.c, main/dial.c, + include/asterisk/stasis_channels.h (added), main/features.c, + apps/stasis_json.c, pbx/pbx_realtime.c, main/stasis_channels.c + (added): Add multi-channel Stasis messages; refactor Dial AMI + events to Stasis This patch does the following: * A new Stasis + payload has been defined for multi-channel messages. This payload + can store multiple ast_channel_snapshot objects along with a + single JSON blob. The payload object itself is opaque; the + snapshots are stored in a container keyed by roles. APIs have + been provided to query for and retrieve the snapshots from the + payload object. * The Dial AMI events have been refactored onto + Stasis. This includes dial messages in app_dial, as well as the + core dialing framework. The AMI events have been modified to send + out a DialBegin/DialEnd events, as opposed to the subevent type + that was previously used. * Stasis messages, types, and other + objects related to channels have been placed in their own file, + stasis_channels. Unit tests for some of these objects/messages + have also been written. + +2013-04-08 13:27 +0000 [r384879] David M. Lee + + * tests/test_json.c, main/json.c, res/res_stasis_websocket.c + (added), main/frame.c, apps/Makefile, tests/test_abstract_jb.c, + apps/app_stasis.exports.in (added), apps/stasis_json.c (added), + include/asterisk/app_stasis.h (added), include/asterisk/json.h, + include/asterisk/localtime.h, tests/test_app_stasis.c (added), + include/asterisk/frame.h, apps/app_stasis.c (added): Stasis + application WebSocket support This is the API that binds the + Stasis dialplan application to external Stasis applications. It + also adds the beginnings of WebSocket application support. This + module registers a dialplan function named Stasis, which is used + to put a channel into the named Stasis app. As a channel enters + and leaves the Stasis diaplan application, the Stasis app + receives a 'stasis-start' and 'stasis-end' events. Stasis apps + register themselves using the stasis_app_register and + stasis_app_unregister functions. Messages are sent to an + application using stasis_app_send. Finally, Stasis apps control + channels through the use of the stasis_app_control object, and + the family of stasis_app_control_* functions. Other changes along + for the ride are: * An ast_frame_dtor function that's RAII_VAR + safe * Some common JSON encoders for name/number, timeval, and + context/extension/priority Review: + https://reviewboard.asterisk.org/r/2361/ + +2013-04-06 16:00 +0000 [r384857] Joshua Colp + + * tests/test_sorcery_astdb.c (added), res/res_sorcery_astdb.c + (added): Add a res_sorcery_astdb module which uses the astdb to + persist objects. Review: https://reviewboard.asterisk.org/r/2420/ + +2013-04-05 20:41 +0000 [r384828] Michael L. Young + + * /, channels/chan_sip.c, UPGRADE-11.txt: Fix For Not Overriding + The Default Settings In chan_sip The initial report was that the + "nat" setting in the [general] section was not having any effect + in overriding the default setting. Upon confirming that this was + happening and looking into what was causing this, it was + discovered that other default settings would not be overriden as + well. This patch works similar to what occurs in build_peer(). We + create a temporary ast_flags structure and using a mask, we + override the default settings with whatever is set in the + [general] section. In the bug report, the reporter who helped to + test this patch noted that the directmedia settings were being + overriden properly as well as the nat settings. This issue is + also present in Asterisk 1.8 and a separate patch will be applied + to it. (issue ASTERISK-21225) Reported by: Alexandre Vezina + Tested by: Alexandre Vezina, Michael L. Young Patches: + asterisk-21225-handle-options-default-prob_v4.diff Michael L. + Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2385/ ........ Merged + revisions 384827 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-04 18:15 +0000 [r384696-384760] Richard Mudgett + + * main/event.c: Separate some event struct definitions from + instantiation. + + * UPGRADE.txt, channels/chan_dahdi.c, + configs/chan_dahdi.conf.sample: chan_dahdi: Change + inband_on_proceeding option default to no/disabled. (issue + ASTERISK-21151) + + * channels/sig_pri.h, channels/chan_dahdi.c, + configs/chan_dahdi.conf.sample, /, channels/sig_pri.c: + chan_dahdi: Add inband_on_proceeding compatibility option. The + new inband_on_proceeding option causes Asterisk to assume inband + audio may be present when a PROCEEDING message is received. Q.931 + Section 5.1.2 says the network cannot assume that the CPE side + has attached to the B channel at this time without explicitly + sending the progress indicator ie informing the CPE side to + attach to the B channel for audio. However, some non-compliant + ISDN switches send a PROCEEDING without the progress indicator ie + indicating inband audio is available and assume that the CPE + device has connected the media path for listening to ringback and + other messages. ASTERISK-17834 which causes this issue was + dealing with a non-compliant network switch. (closes issue + ASTERISK-21151) Reported by: Gianluca Merlo Tested by: rmudgett + ........ Merged revisions 384685 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 384689 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-03 17:17 +0000 [r384642] Matthew Jordan + + * /, funcs/func_channel.c: Update documentation for CHANNEL + function Document that you can read/write the 'accountcode' and + 'amaflags' on a channel. ........ Merged revisions 384640 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 384641 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-03 16:01 +0000 [r384616] Richard Mudgett + + * main/astobj2.c: astobj2: Fix rbtree duplicate handling. + OBJ_PARTIAL_KEY searching a rbtree did not find all possible + matches if the container did not accept duplicates. Added + matching node bias to indicate which matching node is being + searched for: first, last, any. + +2013-04-02 17:35 +0000 [r384546] David M. Lee + + * Makefile, /: Fixed spurious rebuilds of func_version. + func_version.so was being rebuilt every time, because build.h was + changing every build, because of the cleantest dependency that + was added in r384410 to fix parallel make bugs. Now build.h will + only be created if it does not exist, which was the original + behavior of the Makefile. ........ Merged revisions 384544 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 384545 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-02 12:18 +0000 [r384518] Joshua Colp + + * main/sorcery.c: Pass the object type name to the configuration + framework. + +2013-04-02 11:40 +0000 [r384514] Matthew Jordan + + * main/xmldoc.c, include/asterisk/app.h: Make things work again + Sorry folks. ',' are still greater than '|'. Thanks for playing + along :-) + +2013-04-01 20:10 +0000 [r384488] David M. Lee + + * contrib/scripts/install_prereq: install_prereq: Build jansson + from source, when necessary When r383579 was committed, it made + Jansson a required dependency. While libjansson-dev and + jansson-devel are available on recent distros, some older (but + still supported) distros don't have it. There's a pull request[1] + to get it into repoforge, but that still doesn't help everyone. + (And helps no one until the pull request is merged and packages + are built). This patch adds Jansson install from source to the + install_unpackaged() function. There are a few gotcha's, which + makes this change not completely trivial. * Since Jansson may be + installed by a package, don't install from source if a package + installation can be found * libresample may also be installed via + package, so I added a similar check to that. * Since Jansson + installs into /usr/local, this patch also adds /usr/local/lib to + /etc/ld.so.conf.d so that the library can be found. * The + alternative was to install into /usr, but then it gets + complicated having to deal with EL's /usr/lib{32,64} shenanigans. + [1]: https://github.com/repoforge/rpms/pull/250 Review: + https://reviewboard.asterisk.org/r/2414/ + +2013-04-01 14:44 +0000 [r384452] Matthew Jordan + + * main/xmldoc.c, include/asterisk/app.h: Make appropriate items + parse using '|' instead of ',' This patch fixes a bug introduced + in r76703, wherein Asterisk could only parse arguments in the + so-called 'recommended' way, e.g., NoOp(foo,bar). The proper + syntax of NoOp,foo|bar is now parsed correctly. + +2013-04-01 14:10 +0000 [r384416] Joshua Colp + + * /, apps/app_voicemail.c: Remove silly use of strncmp. ........ + Merged revisions 384414 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-04-01 13:37 +0000 [r384412-384413] David M. Lee + + * tests/test_stasis.c, main/stasis.c: stasis: Fixed message + ordering issues when forwarding This patch fixes an issue of + message ordering that occurs when multiple topics are forwarded + to an aggregator topic (such as ast_channel_topic_all()). It is + (very reasonably) expected that the rules governing message + dispatch order still apply, so long as the messages start from + the same thread, and are received by the same subscription. + Because the existing code had an additional layer of dispatching + via the Stasis thread pool for forwards, those promises couldn't + be kept. Forwarding subscriptions no longer have their own + mailbox, and now dispatch directly from the forwarding topic's + stasis_publish() call. This means that the topic's lock is held + for the duration of not only a message's dispatch, but the + dispatch of all the forwards. This shouldn't be a problem right + now, but if an aggregator topic had many subscribers, it could + become a problem. But I figure we can write more clever code when + the time comes, if necessary. Review: + https://reviewboard.asterisk.org/r/2419/ + + * Makefile, /: Fix parallel make problems. Occasionally, make -j + would fail due to missing includes, or other unusual errors. This + was due to the 'cleantest' target, which was designed to force a + make clean when some change in the code would cause the typical + depedency checking to fail. Several targets in the main Makefile + did not depend upon cleantest, hence would run in parallel to it. + By adding the dependency, make -j runs happily now. Review: + https://reviewboard.asterisk.org/r/2418/ ........ Merged + revisions 384410 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 384411 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-30 05:15 +0000 [r384389-384390] Matthew Jordan + + * main/manager.c: Properly format an intmax_t value + + * main/test.c, apps/app_voicemail.c, include/asterisk/test.h, + main/manager.c: Convert TestEvent AMI events over to Stasis Core + This patch migrates the TestEvent AMI events to first be + dispatched over the Stasis-Core message bus. This helps to + preserve the ordering of the events with other events in the AMI + system, such as the various channel related events. + +2013-03-29 16:37 +0000 [r384327] Jonathan Rose + + * apps/app_voicemail.c: app_voicemail: Add blank argument to + externnotify if no context argument At least one call to + run_externnotify provides a NULL context parameter and because + the snprintf statement doesn't account for a NULL context + parameter, it simply writes '(null)' to the arguments string + instead. This patch makes it write two quotes back to back for + that argument instead in the event of a NULL context. (closes + issue ASTERISK-18207) Reported by: Barry L. Kline Patches: + modified from patch-20130306 uploaded by Karsten Wemheuer + (License 5930) ........ Merged revisions 384325 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 384326 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-28 23:59 +0000 [r384302] Richard Mudgett + + * res/res_calendar_exchange.c, res/res_sorcery_config.c, + include/asterisk/uuid.h, tests/test_uuid.c, main/sorcery.c, + main/stasis.c, main/uuid.c: Add uuid wrapper API call + ast_uuid_generate_str(). * Updated test_uuid.c to test the new + API call. * Made system use the new API call to eliminate "10's + of lines" where used. * Fixed untested ast_strdup() return in + stasis_subscribe() by eliminating the need for it. struct + stasis_subscription now contains the uniqueid[] string. * Fixed + some issues in exchangecal_write_event(): Create uid with enough + space for a UUID string to avoid a realloc. Fix off by one error + if the calendar event provided a UUID string. There is no need to + check for NULL before calling ast_free(). + +2013-03-28 15:45 +0000 [r384219-384261] Kinsey Moore + + * main/stasis.c, apps/app_voicemail.c, main/channel.c, main/pbx.c, + main/stasis_cache.c, include/asterisk/stasis.h, main/app.c, + pbx/pbx_realtime.c, include/asterisk/channel.h, + tests/test_stasis.c, main/manager_channels.c: Break the world. + Stasis message type accessors should now all be named correctly. + + * channels/chan_mgcp.c, channels/chan_unistim.c, + channels/chan_dahdi.c, include/asterisk/app.h, + channels/chan_sip.c, channels/chan_skinny.c, main/app.c, + res/res_xmpp.c, channels/chan_iax2.c, channels/sig_pri.c, + res/res_jabber.c: Convert MWI state message type to the new + stasis naming convention + +2013-03-27 21:52 +0000 [r384201] David M. Lee + + * include/asterisk/channel.h, include/asterisk/app.h, + include/asterisk/stasis.h: Added a doxygen group for Stasis + messages and topics + +2013-03-27 19:52 +0000 [r384164] Kinsey Moore + + * main/format_pref.c, /, channels/chan_sip.c: Address uninitialized + conditional that valgrind found ........ Merged revisions 384162 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 384163 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-27 18:52 +0000 [r384120] Matthew Jordan + + * main/http.c, /: Fix a file descriptor leak in off nominal path + While looking at the security vulnerability in ASTERISK-20967, + Walter noticed a file descriptor leak and some other issues in + off nominal code paths. This patch corrects them. Note that this + patch is not related to the vulnerability in ASTERISK-20967, but + the patch was placed on that issue. (closes issue ASTERISK-20967) + Reported by: wdoekes patches: + issueA20967_file_leak_and_unused_wkspace.patch uploaded by + wdoekes (License 5674) ........ Merged revisions 384118 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 384119 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-27 17:07 +0000 [r384050] Kinsey Moore + + * res/res_rtp_asterisk.c, /: Fix white noise on SRTP decryption + When res_rtp_asterisk.c was altered to avoid attempting to apply + unprotect algorithms to non-audio RTP packets, the test used was + incorrect. This caused the audio packets to not be decrypted and + resulted in loud white noise on the other endpoint (or both + endpoints depending on the call legs involved). The test now + properly checks the version field in the RTP header to ensure + that RTP and RTCP are decrypted while other types of packets are + not. (closes issue ASTERISK-21323) Reported by: andrea Tested by: + Kinsey Moore, andrea, John Bigelow Patches: whitenoise_fix.diff + uploaded by Kinsey Moore ........ Merged revisions 384048 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 384049 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-27 15:27 +0000 [r383975-384019] Matthew Jordan + + * channels/sip/include/sip.h, /, channels/chan_sip.c, + channels/sip/security_events.c: AST-2013-003: Prevent username + disclosure in SIP channel driver When authenticating a SIP + request with alwaysauthreject enabled, allowguest disabled, and + autocreatepeer disabled, Asterisk discloses whether a user exists + for INVITE, SUBSCRIBE, and REGISTER transactions in multiple + ways. The information is disclosed when: * A "407 Proxy + Authentication Required" response is sent instead of a "401 + Unauthorized" response * The presence or absence of additional + tags occurs at the end of "403 Forbidden" (such as "(Bad Auth)") + * A "401 Unauthorized" response is sent instead of "403 + Forbidden" response after a retransmission * Retransmission are + sent when a matching peer did not exist, but not when a matching + peer did exist. This patch resolves these various vectors by + ensuring that the responses sent in all scenarios is the same, + regardless of the presence of a matching peer. This issue was + reported by Walter Doekes, OSSO B.V. A substantial portion of the + testing and the solution to this problem was done by Walter as + well - a huge thanks to his tireless efforts in finding all the + ways in which this setting didn't work, providing automated + tests, and working with Kinsey on getting this fixed. (closes + issue ASTERISK-21013) Reported by: wdoekes Tested by: wdoekes, + kmoore patches: AST-2013-003-1.8 uploaded by kmoore, wdoekes + (License 6273, 5674) AST-2013-003-10 uploaded by kmoore, wdoekes + (License 6273, 5674) AST-2013-003-11 uploaded by kmoore, wdoekes + (License 6273, 5674) ........ Merged revisions 384003 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/http.c: AST-2013-002: Prevent denial of service in HTTP + server AST-2012-014, fixed in January of this year, contained a + fix for Asterisk's HTTP server for a remotely-triggered crash. + While the fix put in place fixed the possibility for the crash to + be triggered, a denial of service vector still exists with that + solution if an attacker sends one or more HTTP POST requests with + very large Content-Length values. This patch resolves this by + capping the Content-Length at 1024 bytes. Any attempt to send an + HTTP POST with Content-Length greater than this cap will not + result in any memory allocation. The POST will be responded to + with an HTTP 413 "Request Entity Too Large" response. This issue + was reported by Christoph Hebeisen of TELUS Security Labs (closes + issue ASTERISK-20967) Reported by: Christoph Hebeisen patches: + AST-2013-002-1.8.diff uploaded by mmichelson (License 5049) + AST-2013-002-10.diff uploaded by mmichelson (License 5049) + AST-2013-002-11.diff uploaded by mmichelson (License 5049) + ........ Merged revisions 383978 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_format_attr_h264.c, /: AST-2013-001: Prevent buffer + overflow through H.264 format negotiation The format attribute + resource for H.264 video performs an unsafe read against a media + attribute when parsing the SDP. The value passed in with the + format attribute is not checked for its length when parsed into a + fixed length buffer. This patch resolves the vulnerability by + only reading as many characters from the SDP value as will fit + into the buffer. (closes issue ASTERISK-20901) Reported by: Ulf + Harnhammar patches: h264_overflow_security_patch.diff uploaded by + jrose (License 6182) ........ Merged revisions 383973 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-27 07:24 +0000 [r383948] Damien Wedhorn + + * channels/chan_skinny.c: Fix skinny encall button to not blind + xfer. The softbutton endcall should not turn a transfer into a + blind transfer but hangup the exten being called and leave the + original call on hold. This does that. (closes issue + ASTERISK-21321) Reported by: wedhorn Tested by: snuffy, myself + Patches: skinny-xferendcall01.diff uploaded by wedhorn (license + 5019) + +2013-03-26 23:34 +0000 [r383925] Joshua Colp + + * main/sorcery.c: Remove the noop handler from sorcery so it does + not produce an empty value. + +2013-03-26 02:30 +0000 [r383841-383879] Matthew Jordan + + * /, channels/chan_sip.c: Resolve deadlock between SIP registration + and channel based functions In r373424, several reentrancy + problems in chan_sip were addressed. As a result, the SIP channel + driver is now properly locking the channel driver private + information in certain operations that it wasn't previously. This + exposed two latent problems either in register_verify or by + functions called by register_verify. This includes: * Holding the + private lock while calling sip_send_mwi_to_peer. This can create + a new sip_pvt via sip_alloc, which will obtain the channel + container lock. This is a locking inversion, as any channel + related lock must be obtained prior to obtaining the SIP channel + technology private lock. Note that this issue was already fixed + in Asterisk 11. * Holding the private lock while calling + sip_poke_peer. In the same vein as sip_send_mwi_to_peer, + sip_poke_peer can create a new SIP private, causing the same + locking inversion. Note that this locking inversion typically + occured when CLI commands were run while a SIP REGISTER request + was being processed, as many CLI commands (such as 'sip show + channels', 'core show channels', etc.) have to obtain the channel + container lock. (issue ASTERISK-21068) Reported by: Nicolas + Bouliane (issue ASTERISK-20550) Reported by: David Brillert + (issue ASTERISK-21314) Reported by: Badalian Vyacheslav (issue + ASTERISK-21296) Reported by: Gabriel Birke ........ Merged + revisions 383863 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383878 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/cdr.c, /: Resolve deadlock between pending CDR and batch CDR + locks r375757 attempted to resolve a race condition between + multiple submissions of CDRs while in batch mode from attempting + to destroy the scheduled batch submission by extending the batch + CDR lock. Unfortunately, this causes a deadlock between the + pending CDR lock and the batch CDR lock. This patch resolves the + intent of r375757 by simply providing a new lock that protects + the scheduling of the batches. The original batch CDR lock is + kept to protect manipulation of the batch CDR settings, but has + been placed such that it is not held when the pending lock is + held. Thanks to Chase Venters for providing lock analysis on the + issue. (issue ASTERISK-21162) Reported by: Chase Venters ........ + Merged revisions 383839 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383840 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-26 01:46 +0000 [r383837-383838] Russell Bryant + + * channels/chan_skinny.c: Suppress compiler warning. This code + caused a compiler warning when --enable-dev-mode was not used. + The warning was that this variable was set but not used. That was + indeed the case as the only place this is used is as an argument + to SKINNY_DEBUG which is compiled out when not in dev mode. + + * /, apps/app_meetme.c: Fix multi-station answer race condition. + When an SLA trunk is ringing (inbound call on the trunk) Asterisk + will make outbound calls to the stations that have that trunk. If + more than one station answers the call at the same time, all + channels other than the first one to answer are left in a bad + state. The channel gets leaked, is not connected to anything, and + there's no way to get rid of it. We now properly clean up these + losing channels by hanging up on them. Since they lost the race, + as we process their answer, there is no ringing trunk for them to + answer. ........ Merged revisions 383835 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383836 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-25 23:25 +0000 [r383799] Richard Mudgett + + * /, channels/sig_pri.c: Set the CALLERID(dnid-num-plan) for + incoming ISDN calls. The CALLEDTON channel variable is set for + incoming ISDN calls to the lower 7 bits of the Q.931 + type-of-number/numbering-plan octet. The CALLERID(dnid-num-plan) + should have the same value. (closes issue ASTERISK-21248) + Reported by: rmudgett ........ Merged revisions 383796 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383798 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-25 20:15 +0000 [r383753-383754] Kinsey Moore + + * main/manager_channels.c: Fix typo + + * main/stasis.c: Fix missing ' ' around '=' + +2013-03-25 19:28 +0000 [r383726-383747] David M. Lee + + * contrib/scripts/install_prereq: install_prereq: removed some + out-of-date comments + + * contrib/scripts/install_prereq: install_prereq: Adding + jansson-devel to RH packages + + * include/asterisk/channel.h, CHANGES, main/manager_channels.c, + main/channel.c, main/manager.c, main/channel_internal_api.c: Move + NewCallerid, HangupRequest and SoftHangupRequest to Stasis + HangupRequest and SoftHangupRequest are now ast_channel_blob + Stasis messages, with the cause code as an optional field in the + blob. NewCallerid now simply watches for changes in the callerid + information in channel snapshots, and creates the AMI event + appropriately. Since the original NewCallerid event honored the + channelvars setting in manager.conf, the channel variables + configured there had to become a part of the channel snapshot. + These are now a part of every snapshot based event, making the + configuration description "every time a channel-oriented event is + emitted" less of a lie. There a a few other changes wrapped up in + here as well. * When ast_channel_topic() is given NULL for a + channel, it returns the ast_channel_topic_all() topic instead of + NULL. This can clean up a lot of NULL checking we're doing + currently. * The fields Cause and Cause-txt were removed from the + base channel information and put only on the Hangup events, since + those fields are meaningless outside of a Hangup event. * Removed + the pipe-delimiter processing of the channelvars field, since + that's been deprecated forever. (closes issue ASTERISK-21096) + Review: https://reviewboard.asterisk.org/r/2405/ + +2013-03-25 12:38 +0000 [r383669] Sean Bright + + * /, res/res_config_curl.c: Properly delimit post data in + res_config_curl. ........ Merged revisions 383667 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383668 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-22 20:51 +0000 [r383633] David M. Lee + + * main/json.c, main/Makefile: Fixed another issue from r383579. + Core modules don't honor flags in MODULEINFO, which + broke jansson if specified --with-jansson to configure. + +2013-03-22 20:43 +0000 [r383632] Michael L. Young + + * apps/app_mixmonitor.c, /: Fix StopMixMonitor Hanging Up When + Unable To Stop MixMonitor On A Channel A regression was + accidentally introduced when allowing an optional ID to be used + when calling StopMixMonitor. When we are unable to stop + MixMonitor on a channel, -1 is being returned which triggers the + hangup of the channel. This patch restores the prior behavior by + returning 0 whether we were successful or not. It also allows the + call from the manager to use the return code when the action + fails. (closes issue ASTERISK-21294) Reported by: daroz Tested + by: daroz Patches: asterisk-21294-stop_mixmonitor_hangingup.diff + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2404/ ........ Merged + revisions 383631 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-22 19:26 +0000 [r383579-383611] David M. Lee + + * main/json.c, include/asterisk/json.h, main/asterisk.c: Corrected + some module issues introduced by r383579. When I moved res_json.c + to json.c, I left the MODULE_INFO stuff in there, which was + interesting if you ran module show. I also forgot to call what + was in module_load() from asterisk main(). + + * main/pbx.c, include/asterisk/autoconfig.h.in, configure.ac, + apps/app_userevent.c, include/asterisk/channel.h, CHANGES, + include/asterisk/manager.h, main/channel.c, main/json.c (added), + main/manager.c, configure, res/res_json.exports.in (removed), + pbx/pbx_realtime.c, main/manager_channels.c (added), + tests/test_json.c, res/res_json.c (removed): Move more channel + events to Stasis; move res_json.c to main/json.c. This patch + started out simply as fixing the bouncing tests introduced in + r382685, but required some other changes to give it a decent + implementation. To fix the bouncing tests, the UserEvent and + Newexten AMI events needed to be refactored to dispatch via + Stasis. Dispatching directly to AMI resulted in those events + sometimes getting ahead of the associated Newchannel events, + which would understandably confuse anyone. I found that instead + of creating a zillion different message types and structures + associated with them, it would be preferable to define a message + type that has a channel snapshot and a blob of structured data + with a small bit of additional information. The JSON object model + provides a very nice way of representing structured data, so I + went with that. * Move JSON support from res_json.c to + main/json.c * Made libjansson-dev a required dependency * Added + an ast_channel_blob message type, which has a channel snapshot + and JSON blob of data. * Changed UserEvent and Newexten events so + that they are dispatched via ast_channel_blob messages on the + channel's topic. * Got rid of the ast_channel_varset message; + used ast_channel_blob instead. * Extracted the manager functions + converting Stasis channel events to AMI events into + manager_channel.c. (issue ASTERISK-21096) Review: + https://reviewboard.asterisk.org/r/2381/ + +2013-03-22 06:32 +0000 [r383560] Damien Wedhorn + + * channels/chan_skinny.c: Fix skinny voicemail indication issues. + Unsubscribe from MWI stasis event on channel reload. (closes + issue ASTERISK-21216) Reported by: wedhorn Tested by: snuffy, + myself Patches: skinny-mwiind02.diff uploaded by snuffy (license + 5024) + +2013-03-21 20:09 +0000 [r383541] David M. Lee + + * include/asterisk/stasis.h: Corrected doc error for Stasis. I + guess the mutex isn't necessary. Thanks, rmudgett! + +2013-03-21 17:41 +0000 [r383519] Richard Mudgett + + * include/asterisk/astobj2.h: Fix astobj2 doxygen comment. + +2013-03-20 20:27 +0000 [r383458-383462] Walter Doekes + + * funcs/func_curl.c, /: Have func_curl log a warning when a curl + request fails. Review: https://reviewboard.asterisk.org/r/2403/ + ........ Merged revisions 383460 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383461 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, funcs/func_curl.c: Minor cleanup in func_curl near hashcompat + code. Review: https://reviewboard.asterisk.org/r/2402/ ........ + Merged revisions 383457 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-20 16:01 +0000 [r383422] Kinsey Moore + + * main/stasis.c: Resolve a race condition in Stasis Because of the + way that topics were handled when publishing, it was possible to + dispatch a message to a subscription after that subscription had + been unsubscribed such that the dispatched message arrived at the + callback after the callback had received its final message. In + callbacks that cleaned up user data, this would often cause a + segfault. This has been resolved by locking the topic during the + entirety of dispatch. To prevent long publishing and topic + locking times, forwarding subscriptions have been made to be + standard subscriptions instead of mailboxless subscriptions which + were dispatched at publishing time. + +2013-03-20 14:52 +0000 [r383405] Joshua Colp + + * main/sorcery.c, res/res_sorcery_memory.c, + include/asterisk/sorcery.h, tests/test_sorcery.c: Pass the + sorcery instance to wizards for CUD operations as well as + retrieve. + +2013-03-19 19:07 +0000 [r383377] Kinsey Moore + + * main/stasis_message_router.c: Fix lock destruction/unlock + inversion When using scoped locks, the unref of an AO2 object + should happen after the unlock occurs which requires usage of + scoped refs. + +2013-03-19 16:00 +0000 [r383343] David M. Lee + + * codecs/Makefile, /: Multiple revisions 383341-383342 ........ + r383341 | dlee | 2013-03-19 10:57:29 -0500 (Tue, 19 Mar 2013) | 5 + lines Removed codecs/g722/*.i on make clean ........ Merged + revisions 383340 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + r383342 | dlee | 2013-03-19 10:58:33 -0500 (Tue, 19 Mar 2013) | 1 + line Remove codecs/speex/*.i on make clean ........ Merged + revisions 383341-383342 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-16 16:00 +0000 [r383284-383287] Kinsey Moore + + * res/res_jabber.c, channels/chan_mgcp.c: Make sure things + compile... + + * main/stasis.c, channels/sig_pri.h, main/channel.c, + include/asterisk/app.h, channels/chan_dahdi.c, + channels/chan_skinny.c, include/asterisk/xmpp.h, + apps/app_minivm.c, main/app.c, channels/sip/include/sip.h, + main/asterisk.c, channels/chan_mgcp.c, apps/app_voicemail.c, + channels/chan_unistim.c, channels/chan_sip.c, + include/asterisk/stasis.h, res/res_xmpp.c, channels/sig_pri.c, + channels/chan_iax2.c, res/res_jabber.c: Transition MWI to + Stasis-core Remove MWI's dependency on the event system by moving + it to Stasis-core. This also introduces forwarding topic pools in + Stasis-core which aggregate many dynamically allocated topics + into a single primary topic. Review: + https://reviewboard.asterisk.org/r/2368/ (closes issue + ASTERISK-21097) Patch-by: Kinsey Moore + +2013-03-16 15:40 +0000 [r383267-383283] Joshua Colp + + * res/res_xmpp.c, CHANGES: Add support for using XMPP buddy state + via device state. This change allows you to use XMPP buddy state + in places where device state can be used be used, such as + dialplan hints. If at least one resource is available the buddy + is considered available. Now your phone can reflect their IM + status too! + + * res/res_xmpp.c, /: Fix a bug where resources were not found due + to hashing on the priority itself. ........ Merged revisions + 383266 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-15 17:35 +0000 [r383225-383242] David M. Lee + + * include/asterisk/stasis_message_router.h (added), + tests/test_stasis.c, main/stasis.c, main/stasis_cache.c, + main/stasis_message_router.c (added), main/stasis_message.c: A + simplistic router for stasis_message's. Often times, when + subscribing to a topic, one wants to handle different message + types differently. While one could cascade if/else statements + through the subscription handler, it is much cleaner to specify a + different callback for each message type. The + stasis_message_router is here to help! A stasis_message_router is + constructed for a particular stasis_topic, which is subscribes + to. Call stasis_message_router_unsubscribe() to cancel that + subscription. Once constructed, routes can be added using + stasis_message_router_add() (or + stasis_message_router_set_default() for any messages not handled + by other routes). There may be only one route per + stasis_message_type. The route's callback is invoked just as if + it were a callback for a subscription; but it only gets called + for messages of the specified type. (issue ASTERISK-20887) + Review: https://reviewboard.asterisk.org/r/2390/ + + * configs/stasis_core.conf.sample (added): Sample config file for + stasis-core. (issue ASTERISK-20887) + +2013-03-15 13:04 +0000 [r383167-383169] Kinsey Moore + + * tests/test_stasis.c, main/manager.c, main/channel_internal_api.c: + Take advantage of the fact that stasis_unsubscribe now returns + NULL + + * main/stasis_cache.c, include/asterisk/stasis.h, main/stasis.c: + Make stasis unsubscription functions return NULL Unsubscribing + things in Asterisk seems to very commonly follow with NULLing out + the variable that was unsubscribed. This change makes that a bit + simpler. + + * main/manager.c, /, channels/chan_sip.c, main/http.c, + main/tcptls.c: tcptls: Prevent unsupported options from being set + AMI, HTTP, and chan_sip all support TLS in some way, but none of + them support all the options that Asterisk's TLS core is capable + of interpreting. This prevents consumers of the TLS/SSL layer + from setting TLS/SSL options that they do not support. This also + gets tlsverifyclient closer to a working state by requesting the + client certificate when tlsverifyclient is set. Currently, there + is no consumer of main/tcptls.c in Asterisk that supports this + feature and so it can not be properly tested. Review: + https://reviewboard.asterisk.org/r/2370/ Reported-by: John + Bigelow Patch-by: Kinsey Moore (closes issue AST-1093) ........ + Merged revisions 383165 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383166 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-15 01:38 +0000 [r383122-383126] Matthew Jordan + + * /, channels/chan_sip.c: When a session timer expires during a + T.38 call, re-invite with correct SDP When a session timer + expires during a dialog that has re-negotiated to T.38 and + Asterisk is the refresher, Asterisk will send a re-INVITE with an + SDP containing audio media only. This causes some hilarity with + the poor fax session under weigh. This patch corrects that by + sending T.38 parameters if we are in the middle of a T.38 + session. (closes issue ASTERISK-21232) Reported by: Nitesh Bansal + patches: + dont-send-audio-reinvite-for-sess-timer-in-t38-call.patch + uploaded by nbansal (License 6418) ........ Merged revisions + 383124 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 383125 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * pbx/pbx_spool.c, /: Fix processing of call files when using + KQueue on OS X In certain situations, call files are not + processed when using KQueue with pbx_spool. Asterisk was sending + an invalid timeout value when the spool directory is empty, + causing the call to kevent to error immediately. This can create + a tight loop, increasing the CPU load on the system. (closes + issue ASTERISK-21176) Reported by: Carlton O'Riley patches: + kqueue_osx.patch uploaded by coriley (License 6473) ........ + Merged revisions 383120 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383121 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-14 16:57 +0000 [r383063] Jason Parker + + * autoconf/ast_ext_lib.m4, /: Fix whitespace in AST_EXT_LIB_CHECK + macro. ........ Merged revisions 383061 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 383062 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-13 14:39 +0000 [r383008] Matthew Jordan + + * res/res_rtp_asterisk.c: Always set the RTP instance data in the + RTP engine Not informing the RTP engine of the instance data + creates shrapnel. + +2013-03-12 22:43 +0000 [r382989] Andrew Latham + + * res/res_config_ldap.c: Update Doxygen Push some cleanups upstream + before testing another ticket. (issue ASTERISK-20259) + +2013-03-12 21:19 +0000 [r382941-382954] Michael L. Young + + * /, addons/res_config_mysql.c: Fix Sorting Order For Parking Lots + Stored In Static Realtime When retrieving the parking lots from a + MySQL database table, the current order is "filename, cat_metric + desc, var_metric asc, category". If there are multiple parking + lots with the same cat_metric but different categories, + everything is being sorted on cat_metric first resulting in + errors when loading the parking lots. This patch fixes the + problem by sorting on the category field first, then the + cat_metric field. (closes issue ASTERISK-21035) Reported by: Alex + Epshteyn Patches: asterisk-21035-orderby.diff Michael L. Young + (license 5026) ........ Merged revisions 382942 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382943 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * contrib/realtime/mysql/sippeers.sql, /, + contrib/realtime/postgresql/realtime.sql: Update Contributed + Realtime Schema Files - IPv6 Addresses This commit updates some + fields in the contributed realtime schema files to handle IPv6 + addresses. (closes issue ASTERISK-21173) Reported by: Torrey + Searle Patches: realtime_sql.patch Torrey Searle (license 5334) + asterisk-21173-update-ip-fields.diff Michael L. Young (license + 5026) ........ Merged revisions 382939 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382940 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-12 20:07 +0000 [r382924] Joshua Colp + + * res/res_xmpp.c, /: Fix a crash when res_xmpp is configured using + a username without a domain. (closes issue ASTERISK-21156) + Reported by: amsoft2001 ........ Merged revisions 382923 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-12 19:08 +0000 [r382900] Jason Parker + + * build_tools/menuselect-deps.in, configure, + include/asterisk/autoconfig.h.in, configure.ac, res/Makefile, + CHANGES, makeopts.in, res/pjproject (removed), + res/res_rtp_asterisk.c: Switch to using external pjproject + libraries. ICE/STUN/TURN support in res_rtp_asterisk is also now + optional. + +2013-03-12 16:30 +0000 [r382852] Matthew Jordan + + * /, channels/chan_sip.c: Include the Username field in SIP + Registry events when Status is registered In ASTERISK-17888, the + AMI Registry event during SIP registrations was supposed to + include the Username field. Somehow, one of the events was + missed. This patch corrects that - the Username field should be + included in all AMI Registry events involving SIP registrations. + (issue ASTERISK-17888) (closes issue ASTERISK-21201) Reported by: + Dmitriy Serov patches: chan_sip.c.diff uploaded by Dmitriy Serov + (license 6479) ........ Merged revisions 382847 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382848 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-12 08:55 +0000 [r382828] Igor Goncharovskiy + + * channels/chan_unistim.c, /: Fix core dump on CLI usage Fix issue + with 'unistim show info' CLI command when device connected not + configured ........ Merged revisions 382827 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-11 15:22 +0000 [r382787] Kevin Harwell + + * channels/chan_sip.c, CHANGES, channels/sip/include/sip.h: Added + an option to disallow music on hold Added an option + "discard_remote_hold_retrieval" (default "no") that if set does + not trigger the music on hold event. This essentially stops + telling the peer to start music on hold. (issue ABE-2899) + Reported by: Denis Alberto Martinez Review: + https://reviewboard.asterisk.org/r/2336/ + +2013-03-09 00:21 +0000 [r382764] Richard Mudgett + + * apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c, + apps/confbridge/conf_state_empty.c, apps/confbridge/conf_state.c, + apps/confbridge/conf_config_parser.c, + apps/confbridge/conf_state_single.c, + apps/confbridge/conf_state_inactive.c, + apps/confbridge/conf_state_single_marked.c, + apps/confbridge/include/confbridge.h, + apps/confbridge/include/conf_state.h, + apps/confbridge/conf_state_multi.c: confbridge: Rename items for + clarity and consistency. struct conference_bridge_user -> struct + confbridge_user struct conference_bridge -> struct + confbridge_conference struct conference_state -> struct + confbridge_state struct conference_bridge_user + *conference_bridge_user -> struct confbridge_user *user struct + conference_bridge_user *cbu -> struct confbridge_user *user + struct conference_bridge *conference_bridge -> struct + confbridge_conference *conference The names are now generally + shorter, consistently used, and don't conflict with the struct + names. This patch handles the renaming part of the issue. (issue + ASTERISK-20776) Reported by: rmudgett + +2013-03-08 20:26 +0000 [r382746] Jonathan Rose + + * /, channels/chan_sip.c: chan_sip: Update the via header when + relaying SMS MESSAGE Prior to this change, certain conditions for + sending the message would result in an address of '(null)' being + used in the via header of the SIP message because a NULl value of + pvt->ourip was used when initially generating the via header. + This is fixed by adding a call to build_via when the address is + set before sending the message. (closes issue ASTERISK-21148) + Reported by: Zhi Cheng Patches: 700-sip_msg_send_via_fix.patch + uploaded by Zhi Cheng (license 6475) ........ Merged revisions + 382739 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-08 16:59 +0000 [r382721-382724] David M. Lee + + * include/asterisk/stasis.h, main/stasis_cache.c: Stasis + documentation updates. (issue ASTERISK-20887) (issue + ASTERISK-20959) + + * main/stasis.c, main/channel.c, main/channel_internal_api.c: + Ensure dummy channels get a stasis topic. Fixes test failure + introduced in r382685. (issue ASTERISK-20887) (issue + ASTERISK-20959) + +2013-03-08 16:00 +0000 [r382705] Kinsey Moore + + * include/asterisk/stasis.h, tests/test_stasis.c, + main/stasis_cache.c: Add message dump capability to stasis cache + layer The cache dump mechanism allows the developer to retreive + multiple items of a given type (or of all types) from the cache + residing in a stasis caching topic in addition to the existing + single-item cache retreival mechanism. This also adds to the + caching unit tests to ensure that the new cache dump mechanism is + functioning properly. Review: + https://reviewboard.asterisk.org/r/2367/ (issue ASTERISK-21097) + +2013-03-08 15:15 +0000 [r382685] David M. Lee + + * include/asterisk/channel.h, tests/test_stasis.c (added), + main/asterisk.c, main/stasis.c (added), main/channel.c, + main/stasis_cache.c (added), main/pbx.c, main/stasis_message.c + (added), main/manager.c, main/asterisk.exports.in, + include/asterisk/channel_internal.h, main/channel_internal_api.c, + include/asterisk/stasis.h (added): This patch adds a new message + bus API to Asterisk. For the initial use of this bus, I took some + work kmoore did creating channel snapshots. So rather than create + AMI events directly in the channel code, this patch generates + Stasis events, which manager.c uses to then publish the AMI + event. This message bus provides a generic publish/subscribe + mechanism within Asterisk. This message bus is: - Loosely + coupled; new message types can be added in seperate modules. - + Easy to use; publishing and subscribing are straightforward + operations. In addition to basic publish/subscribe, the patch + also provides mechanisms for message forwarding, and for message + caching. (issue ASTERISK-20887) (closes issue ASTERISK-20959) + Review: https://reviewboard.asterisk.org/r/2339/ + +2013-03-08 04:11 +0000 [r382670-382671] Matthew Jordan + + * channels/chan_sip.c: Remove unused function After r382670, + get_ip_and_port_from_sdp was no longer used. + + * channels/chan_sip.c: Don't reset the RTP address on a glare + re-INVITE Originally, way back in r201583, we added the alternate + RTP address so that the RTP engine would expect to receive audio + from a new source when a glare re-INVITE occurred. In r382589, we + remove the alternate RTP source, as the 'secret' probation mode + allows for switching to a new RTP source when a previous source + stops sending RTP. At the time, it seemed appropriate to set the + RTP source based on the information in the glared re-INVITE. + Unfortunately, that doesn't work so well - in a glared re-INVITE + that occurs with no SDP - such as in a connected line update that + glances - we'll set the RTP source to an invalid address. In + subsequent re-INVITE requests from this Asterisk instance, we'll + then send an invalid media address, which will result in the + remote side sending a 488. Whoops. There isn't any need to reset + the RTP source - if we're using strictrtp, we'll simply + synchronize to a new source when we stop getting packets from the + old one. If we aren't using strictrtp, then again there shouldn't + be a problem. Note that the Asterisk Test Suite's connectedline + test caught this error. + +2013-03-07 21:55 +0000 [r382648] David M. Lee + + * main/threadpool.c: Changing log level of "Not changing threadpool + size" from notice to debug. + +2013-03-07 21:14 +0000 [r382636] Jason Parker + + * res/res_sorcery_config.c, res/res_sorcery_memory.c: Load sorcery + modules earlier, so they can actually be used. + +2013-03-07 19:14 +0000 [r382621] Matthew Jordan + + * apps/app_voicemail.c, /: Let vm_mailbox_snapshot combine "Urgent" + when no folder is specified r381835 fixed a bug in + vm_mailbox_snapshot where combining INBOX and Old forgot that + Urgent also "counts" as new messages. This fixed the problem when + any of the three folders was specified and the combine option was + used. It missed the case where the folder isn't specified and we + build a snapshot of all folders. This patch corrects that. + ........ Merged revisions 382617 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-07 16:48 +0000 [r382600-382604] Kinsey Moore + + * main/xmldoc.c: Fix a memory leak in xmldoc Another instance of + attribute retrieval not being freed properly. + + * main/xmldoc.c: Resolve more memory leaks in xmldoc Many places + that allocated to pull out an attribute are now freed properly. + +2013-03-07 15:48 +0000 [r382589] Matthew Jordan + + * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, + main/rtp_engine.c, /, channels/chan_sip.c: Add a 'secret' + probation strictrtp mode to handle delayed changes in RTP source + Often, Asterisk may realize that a change in the source of an RTP + stream is about to occur and ask that the RTP engine reset it's + lock on the current RTP source. In certain scenarios, it may take + awhile for the new remote system to send RTP packets, while the + old remote system may continue providing RTP during that time + period. This causes Asterisk to re-lock onto the old source, + thereby rejecting the new source when the old source stops + sending RTP and the new source begins. This patch prevents that + by having a constant secondary, 'secret' probation mode enabled + when an RTP source has been chosen. RTP packets from other + sources are always considered, but never chosen unless the + current RTP source stops sending RTP. Review: + https://reviewboard.asterisk.org/r/2364 (closes issue AST-1124) + Reported by: John Bigelow Tested by: John Bigelow (closes issue + AST-1125) Reported by: John Bigelow Tested by: John Bigelow + ........ Merged revisions 382573 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-07 15:36 +0000 [r382489-382587] Kinsey Moore + + * main/xmldoc.c: Fix minor memory leak in xmldoc Strings retrieved + via ast_xml_get_text() must be freed with ast_xml_free_text(). + + * /, main/logger.c: Ensure that logmsgs are freed properly Messages + sent while the logger thread is shutting down will now have their + associated callid freed properly. ........ Merged revisions + 382574 from http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/threadpool.c: Fix ref leak in threadpool.c If + ast_threadpool_set_size with a size equal to the current size, a + reference to a set_size_data structure would be leaked. + + * main/threadpool.c: Resolve a ref leak in threadpool.c Ownership + of the listener reference is not transferred because the listener + is reffed when placed into the taskprocessor. Ensure that the + listener is dereffed properly. + +2013-03-05 13:14 +0000 [r382440] Matthew Jordan + + * configs/res_ldap.conf.sample, + contrib/realtime/postgresql/realtime.sql, + configs/sip.conf.sample, CHANGES, + contrib/scripts/asterisk.ldap-schema, + contrib/scripts/asterisk.ldif, channels/sip/include/sip.h, + CREDITS, contrib/realtime/mysql/sippeers.sql, + channels/chan_sip.c: Add RFC 3327 Path header support to chan_sip + This patch adds support for RFC 3327 "Path" headers. This can be + enabled in sip.conf using the 'supportpath' setting, either on a + global basis or on a peer basis. This setting enables Asterisk to + route outgoing out-of-dialog requests via a set of proxies by + using a pre-loaded route-set defined by the Path headers in the + REGISTER request. This patch also adds Realtime support for + dynamically updating the Path information for a peer. A huge + thank-you to Klaus Darillion and Olle E Johansson for their + efforts in writing this patch. Review: + https://reviewboard.asterisk.org/r/2235/ Review: + https://reviewboard.asterisk.org/r/991/ (closes issue + ASTERISK-16884) Reported by: klaus3000 Tested by: klaus3000, oej, + mjordan patches: path-1.8.0-patch.txt uploaded by klaus3000 + (License 5054) oolong-path-support-trunk in team branch by oej + (License 5267) + +2013-03-05 03:53 +0000 [r382411] Igor Goncharovskiy + + * channels/chan_unistim.c, /: Fix several unreleased mutex locks + that cause problem with processing calls Reported by: Daniel + Bohling Tested by: Daniel Bohling (Closes issue ASTERISK-21119) + ........ Merged revisions 382409 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382410 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-04 21:15 +0000 [r382392] Richard Mudgett + + * include/asterisk/format_cap.h, main/bridging.c: Fixup some bridge + and format capabilities comments and whitespace. + +2013-03-04 21:14 +0000 [r382391] Jason Parker + + * /, main/event.c: Fix comparison of presence state in event + subsystem. Several new IEs were not given types (or names), + causing the comparison function to improperly succeed. This adds + those. (closes issue AST-1128) ........ Merged revisions 382390 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-04 20:18 +0000 [r382386] Kevin Harwell + + * apps/app_confbridge.c, /: Confbridge CLI new record file name + check. This fix checks to make sure that if a confbridge record + start command is issued from the CLI it will always use the file + name given on the CLI even if it changes between start/stop + records for a conference. Previously it had been reusing the same + file between start/stops even if a new filename was given. (issue + AST-1088) Reported by: John Bigelow ........ Merged revisions + 382385 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-03-01 18:01 +0000 [r382340] Joshua Colp + + * main/sorcery.c, include/asterisk/sorcery.h, tests/test_sorcery.c: + Add support for registering a sorcery handler which supports + multiple fields using a regex. Review: + https://reviewboard.asterisk.org/r/2332/ + +2013-03-01 04:32 +0000 [r382323] Michael L. Young + + * contrib/realtime/mysql/sippeers.sql, /, channels/chan_sip.c, + contrib/realtime/postgresql/realtime.sql, CHANGES: Fix / Clean Up + Some Items To Handle The New auto_* NAT Options The original + report had to do with a realtime peer behind NAT being pruned and + the peer's private address being used instead of its external + address. Upon debugging, it was discovered that this was being + caused by the addition of the auto_force_rport and auto_comedia + settings. This patch does the following: * Adds a missing note to + the CHANGES file indicating that the default global nat setting + is auto_force_rport * Constify the 'req' parameter for + check_via() * Add calls to check_via() in a couple of places in + order for the auto_* settings to do their job in attempting to + determine if NAT is involved * Set the flags SIP_NAT_FORCE_RPORT + and SIP_PAGE2_SYMMETRICRTP if the auto_* settings are in use + where it was needed * Moves the copying of peer flags up in + build_peer() to before they are used; this fixes the realtime + prune issue * Update the contrib/realtime schemas to allow the + nat column to handle the different nat setting combinations we + have This patch received a review and "Ship It!" on the issue + itself. (closes issue ASTERISK-20904) Reported by: JoshE Tested + by: JoshE, Michael L. Young Patches: + asterisk-20904-nat-auto-and-rt-peersv2.diff Michael L. Young + (license 5026) ........ Merged revisions 382322 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-28 21:59 +0000 [r382297-382299] Joshua Colp + + * res/res_rtp_asterisk.c, /: While the ICE negotiation is occurring + leave strictrtp in an open state, media can and will come from + different places. ........ Merged revisions 382298 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, res/res_rtp_asterisk.c: Fix a bug with ICE and strictrtp where + media could get dropped. If the end result of the ICE negotiation + resulted in the path for media changing it was possible for the + strictrtp code to discard the RTP packets. This change causes + strictrtp to enter learning mode once again when the ICE + negotiation has completed successfully. ........ Merged revisions + 382296 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-28 21:31 +0000 [r382294-382295] Richard Mudgett + + * main/threadpool.c: threadpool: Make ast_threadpool_push() return + -1 if shutting_down + + * include/asterisk/threadpool.h, main/threadpool.c: threadpool: + Whitespace and comment corrections. + +2013-02-28 21:21 +0000 [r382292] Jason Parker + + * res/res_rtp_asterisk.c, include/asterisk.h: Don't undefine + bzero()/bcopy(). This was causing build failures against external + libraries that happened to use them, unless silly hacks were + added to the modules that used those headers. Review: + https://reviewboard.asterisk.org/r/2359/ + +2013-02-28 17:17 +0000 [r382232-382236] Matthew Jordan + + * channels/chan_iax2.c, /: Prevent deadlock in chan_iax2 when + attempting to set caller ID A deadlock can occur in chan_iax2 + when it attempts to set the caller ID, as it already holds the + iax2 private lock and improperly fails to obtain the channel lock + before calling ast_set_callerid. By not safely obtaining the + channel lock, a locking inversion can take place, causing a + deadlock. This patch solves this by calling the required deadlock + avoidance functions that obtain the channel lock before setting + the caller ID. Thanks to Pavel for fixing my syntax errors and + testing this patch out. (closes issue ASTERISK-21128) Reported + by: Pavel Troller Tested by: Pavel Troller patches: + ASTERISK-21128-1.8.diff uploaded by mjordan (license 6283) + ASTERISK-21128-modified-1.8.diff uploaded by Pavel Troller + (license 6302) ........ Merged revisions 382233 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382234 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * CHANGES, /, apps/app_meetme.c: Let channels joining a MeetMe + conference opt out of the denoiser For some channel drivers, + specifically those that have a varying rate in the number of + audio samples, the audio quality for a MeetMe conference can be + exceedingly poor. This is due to a unilateral application of the + DENOISE function in func_speex to channels joining the + conference. The denoiser function in the speex library is + initialized with the number of audio samples in each sample that + will be provided to it. If the number of audio samples changes, + the denoiser has to be thrown away and re-initialized. While this + could be worked around by removing func_speex, that doesn't help + if you actually use the denoiser with other channels on the + system. This patches does the following: * Checks for the + presence of func_speex as opposed to codec_speex when determining + if the DENOISE function is present (which is where the function + is actually implemented) * Adds an option to MeetMe 'n' that + causes the denoiser to not be applied to a channel when it joins. + This keeps the current behavior the default, but let's users + disable the denoiser if it causes problems on their system. + Review: https://reviewboard.asterisk.org/r/2358 (closes issue + AST-1062) Reported by: Thomas Arimont ........ Merged revisions + 382227 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 382230 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-27 20:31 +0000 [r382203-382204] Richard Mudgett + + * channels/chan_skinny.c: More places to eliminate the cast to argv + but were not giving warnings. + + * channels/chan_skinny.c: Fix compiler warning by eliminating the + need for a cast. + +2013-02-27 16:19 +0000 [r382182] Joshua Colp + + * /, channels/chan_sip.c: Relax dialog checking in + get_sip_pvt_byid_locked so it works when the dialog is forked. + (closes issue ASTERISK-20638) Reported by: eelcob Patches: + pedantic-call-pickup-from-tag.patch uploaded by eelcob (license + 6442) ........ Merged revisions 382171 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382174 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-26 20:05 +0000 [r382113] Tzafrir Cohen + + * /, configure, configure.ac: Consider linux-gnuspe as linux-gnu * + The powerpcspe Linux port uses linux-gnuspe as the OS string. * + Our build system shouldn't really care for that, so just call it + linux-gnu. * Original report: Roland Stigge , + http://bugs.debian.org/701505 Review: + https://reviewboard.asterisk.org/r/2357/ ........ Merged + revisions 382110 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382111 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-26 19:36 +0000 [r382109] Walter Doekes + + * /, channels/chan_sip.c: Correct RPID parsing for unquoted + display-name. Parsing Remote-Party-ID will now succeed if + display-name is of the *(token LWS) kind and not just the + quoted-string kind. Review: + https://reviewboard.asterisk.org/r/2341/ ........ Merged + revisions 382107 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382108 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-26 19:29 +0000 [r382106] Tzafrir Cohen + + * /, main/Makefile: Remove unneeded linux-gnueabi* As of r380522 + the configure scripts converts the value of linux-gnueabi* of + OSARCH to "linux-gnu". So no point in testing for those values. + ........ Merged revisions 382087 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382096 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-26 15:52 +0000 [r382067-382070] Matthew Jordan + + * /, apps/app_confbridge.c: Clean up ConfBridge commands to account + for wait_marked users When ConfBridge was refactored to better + handle the concept of marked, wait_marked, and normal users + co-existing in a conference (thereby implementing a state machine + for the conference), the wait_marked users were put into their + own list of conference participants, separate from the active + users. This list is used for wait_marked users when they are + waiting in a conference but no marked user has joined; normal + users may have joined at this point however. There are several + AMI/CLI commands that affect conference users that were not + checking the wait_marked users list: * CLI/AMI commands that + mute/unmute a participant. In this case, wait_marked users have + to remain in their particular state and should not be affected - + however, the commands would return "Channel not found" as opposed + to the appropriate error condition. * CLI/AMI commands that kick + a participant. An admin should always be able to kick a + participant out of the conference. This patch fixes both sets of + commands, and cleans up the CLI commands slightly by allowing + them to complete a participant name (this was supposed to have + been added, but the function call was commented out and wasn't + implemented). Review: https://reviewboard.asterisk.org/r/2346/ + (closes issue AST-1114) Reported by: John Bigelow Tested by: John + Bigelow ........ Merged revisions 382068 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/confbridge/conf_config_parser.c, + configs/confbridge.conf.sample, /: Ensure that the default + bridge/user profiles are always available ConfBridge and Page + require that there always be a default bridge and user profile + available. While properties of the default profiles can be + overriden in the configuration file, removing them can create + situations where neither application can function properly. This + patch ensures that if an administrator removes the profiles from + the confbridge.conf configuration file, the profiles are added + upon load. Documentation clarifying this has been added to the + confbridge.conf.sample file. Review: + https://reviewboard.asterisk.org/r/2356/ (closes issue AST-1115) + Reported by: John Bigelow Tested by: John Bigelow ........ Merged + revisions 382066 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-25 12:51 +0000 [r382023] Matthew Jordan + + * addons/res_config_mysql.c, /: Clean up use of va_end/va_args in + res_config_mysql There were several problems using variadic + argument macros in res_config_mysql. * Improper use of va_end. + Multiple calls to va_end were possible resulting in an unbalanced + matching of va_start/va_end. * Calls to va_arg after a possible + encounter of a SENTINEL value. This patch corrects those errors. + (closes issue ASTERISK-19451) Reported by: wdoekes patches: + ASTERISK-19451-1.8--2.diff uploaded by wdoekes (License 5674) + ........ Merged revisions 382021 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 382022 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-25 07:09 +0000 [r382007-382008] Damien Wedhorn + + * channels/chan_skinny.c: More called details fixup for skinny. + Basically sets the callerid and callername to the first device + talked to for the purposes of putting the the calls made log on + the device. Does not affect the device displaying who the device + is currently talking to. Also some minor changes to use + sub->exten in lieu of l->lastnumberdialed. (closes issue + ASTERISK-21095) Reported by: wedhorn Tested by: snuffy, myself + Patches: skinny-calllogsoutbound03.diff uploaded by wedhorn + (license 5019) + + * channels/chan_skinny.c: Add prinotify messages to skinny. Adds + both fixed and variable prinotify messages and clearprinotify + messages to skinny. Also adds cli function for pushing messages + to devices. i Initial code by snuffy, expanded by myself to + include fixed messages. (closes issue ASTERISK-21091) Reported + by: snuffy Tested by: snuffy, myself Patches: + skinny-prinotify02.diff uploaded by wedhorn (license 5019) + +2013-02-24 23:01 +0000 [r381918-381977] Matthew Jordan + + * channels/chan_jingle.c, /: Set the sin_family on the bind address + socket during initialization Somehow, chan_jingle has managed to + operate for years without setting the sin_family on its bindaddr + socket. This patch properly sets the field during initial module + load to AF_INET. Note that the patch on the issue was modified + slightly to change the initialization of the socket from + allocation of a chan_jingle private to the module initialization, + as the bindaddr object (which is static) only needs to have the + address set once. (closes issue ASTERISK-19341) Reported by: + andre valentin patches: 0105-chan_jingle.patch uploaded by + avalentin (License 6064) ........ Merged revisions 381975 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381976 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/manager.c, /: Don't display the AMI ALL class authorization + for users if they don't have it When converting AMI class + authorizations to a string representation, the method always + appends the ALL class authorization. This is especially important + for events, as they should always communicate that class + authorization - even if the event itself does not specify ALL as + a class authorization for itself. (Events have always assumed + that the ALL class authorization is implied when they are raised) + Unfortunately, this did mean that specifying a user with + restricted class authorizations would show up in the 'manager + show user' CLI command as having the ALL class authorization. + Rather then modifying the existing string manipulation function, + this patch adds a function that will only return a string if the + field being compared explicitly matches class authorization field + it is being compared against. This prevents ALL from being + returned unless it is actually specified for the user. (closes + issue ASTERISK-20397) Reported by: Johan Wilfer ........ Merged + revisions 381939 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381943 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_parkandannounce.c, /: Make ParkAndAnnounce return to + priority + 1 when return context is not defined The + ParkAndAnnounce application documentation for the optional + return_context parameter states the following: return_context The + goto-style label to jump the call back into after timeout. + Default 'priority+1'. Unfortunately, the application was sending + the channel back into the dialplan at 'priority', which is the + ParkAndAnnounce application call. This causes an infinite loop of + the channel constantly being parked, announced, timed out, + parked, announced, timed out... while fun, especially for those + callers you wish to drive to the end of madness, this was not the + intent of the application. (closes issue ASTERISK-20113) Reported + by: serginuez patches: app_parkandannounce.diff uploaded by + serginuez (License 6405) ........ Merged revisions 381916 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381917 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-22 19:40 +0000 [r381894] Michael L. Young + + * /, res/res_agi.c: Fix FastAGI To Properly Check For A Connection + When IPv6 support was added to FastAGI, the intent was to have + the ability to check all addresses resolved for a host since we + might receive an IPv4 address and an IPv6 address. The problem + with the current code, is that, since we are doing O_NONBLOCK, we + get EINPROGRESS when calling ast_connect() but are ignoring this + instead of handling it. We break out of the loop and continue on. + When we later call ast_poll(), it succeeds but we never check if + we have a connection or not on the socket level. We then attempt + to send data to the host address that we think is setup and it + fails. We then check the errno and see that we have "connection + refused" and then return with agi failed. This patch does the + following: * Handles EINPROGRESS by creating the function + handle_connection() - ast_poll() was moved into this function - + This function checks the results of the connection on the socket + level after calling ast_poll() * Continues to the next address if + the above fails to create a connection * Once all addresses + resolved are tried and we still are unable to establish a + connection, then we return that the FastAGI call failed (closes + issue ASTERISK-21065) Reported by: Jeremy Kister Tested by: + Jeremy Kister, Michael L. Young Patches: + asterisk-21065_poll_correctly_v4.diff Michael L. Young (license + 5026) Review: https://reviewboard.asterisk.org/r/2330/ ........ + Merged revisions 381893 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-22 15:51 +0000 [r381881] Jonathan Rose + + * apps/app_dial.c, /: app_dial: Honor the 'c' flag when the calling + party hangs up Apparently this feature became broken in 11, + probably as a result of the Hangup Cause project. (closes issue + ASTERISK-21113) Reprted by: Heiko Wundram Patches: app_dial.patch + uploaded by Heiko Wundram (license 5822) ........ Merged + revisions 381880 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-22 01:52 +0000 [r381869] Matthew Jordan + + * /, configure, configure.ac: Properly detect launchd Asterisk was + a little too pro-active in claiming that it found launchd. On + systems without launchd - such as FreeBSD - this resulted in + certain items in Asterisk that conflict with launchd to not be + selectable, such as res_timing_kqueue. (closes issue + ASTERISK-20749) Reported by: Oleg Baranov ........ Merged + revisions 381847 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381848 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-19 19:47 +0000 [r381792] Kevin Harwell + + * main/features.c: Write the correct callid to the data1 field in + queue_log for transfer events. The incorrect callid was being + written to the "data1" field in queue_log table for transfer + events. The callid of the queue was being written instead of the + transfer target's callid. This now gets the correct "transfer to" + number and places that in the "data1" field of the queue_log + table when a transfer event is triggered. (closes issue + ASTERISK-19960) Reported by: vladimir shmagin ........ Merged + revisions 381770 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381791 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-19 17:17 +0000 [r381749] Michael L. Young + + * main/loader.c, main/cli.c, channels/chan_motif.c, + include/asterisk/module.h, res/snmp/agent.c: Add The Status Of A + Module To The Output Of "CLI> module show" When a module's + configuration is not loadable, we still load the module but it is + not in a running state. When trying to troubleshoot, let's say, + why chan_motif is ignoring inbound XMPP traffic, there is no way + to indicate that a loaded module is not currently running. + (closes issue ASTERISK-21108) Reported by: Rusty Newton Tested + by: Michael L. Young Patches: asterisk-21108_add_status-v2.diff + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2331/ + +2013-02-19 16:23 +0000 [r381729-381741] Kevin Harwell + + * apps/app_confbridge.c: Confbridge channels staying active when + all participants leave. If you started/stopped recording of a + conference multiple times channels would remain active even when + all participants left the conference. This was due to the fact + that a reference to the confbridge was being added every time a + start record command was issued, but when the recording was + stopped there was no matching de-reference thus keeping the + conference alive. Made sure only a single reference is added for + the record thread no matter how many times recording is + started/stopped. A de-reference is issued upon thread ending. + Note, this issue is being fixed under AST-1088 since it relates + to it and should have been corrected along with those + modifications. (issue AST-1088) Reported by: John Bigelow + ........ Merged revisions 381737 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_confbridge.c, CHANGES, + apps/confbridge/conf_config_parser.c, + apps/confbridge/include/confbridge.h: Added Confbridge + record_file_append option. Currently, if one starts, stops, and + then starts a recording again for a conference the recorded data + is appended to the file originally created on the first record + start. An option record_file_append has been added that defaults + to "yes", but when set to "no" will force creation of a new file + between every record start/stop. (issue AST-1088) Reported by: + John Bigelow Review: http://reviewboard.digium.internal/r/374/ + +2013-02-19 06:54 +0000 [r381717-381718] Damien Wedhorn + + * channels/chan_skinny.c, configs/skinny.conf.sample: Add + serviceURL stuff to skinny. Patch adds all the packet and + structure stuff to skinny to enable setting service URLs in + skinny, such as corporate directories. This stuff is only + relevant during load/unload as when activated. Also some minor + changes removing duplicated counting of addons and speedials in + handle_skinny_show_devices. Review: + https://reviewboard.asterisk.org/r/2321/ + + * channels/chan_skinny.c: Fixup skinny CLI completion. Auto + complete for skinny debug allows multiple options and negation, + also add debug all option. Usage example: 'skinny debug all + -packets' (each can be autocompleted including -packet). Change + show device to use device name. Remove the duplicate ast_strdup's + from place calling device complete return immediately from + complete devicename and complete linename so that multiple + options are displayed on the CLI if more than one option + available. Review: https://reviewboard.asterisk.org/r/2333/ + +2013-02-18 22:23 +0000 [r381703] Kevin Harwell + + * apps/app_confbridge.c, /: Fixed Confbridge file recording + deadlock and appending. A deadlock occurred after + starting/stopping and then restarting a confbridge recording. + Upon starting a recording a record thread is created that holds a + lock until just before exiting. Stopping the recording does not + stop/exit the thread or release the lock. The thread waits until + recording begins again. Starting a stopped recording signals the + thread to continue and start recording again. However restarting + the recording also created another record thread resulting in a + deadlock. The fix was to make sure the record thread was only + created once. Also it was noted that filenames for the recordings + were being concatenated for each start/stop. This was fixed by + creating a new file for each conference session and appending the + actual recorded data within the file (e.g. passing the 'a' option + to MixMonitor). (issue AST-1088) Reported by: John Bigelow + Review: http://reviewboard.digium.internal/r/374/ ........ Merged + revisions 381702 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-18 20:31 +0000 [r381670] Walter Doekes + + * configs/sip.conf.sample, /: Remove "registertrying" and add + "rtp_engine" from/to sip.conf.sample The "registertrying" option + was removed in r343220. The "rtp_engine" option was added in + r186078 but erroneously named "engine" in the sample. Note that + there is no global sip setting for a different engine. ........ + Merged revisions 381668 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381669 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-18 19:48 +0000 [r381656] Jonathan Rose + + * funcs/func_presencestate.c, /: PRESENCE_STATE: Provide better + documentation for the 'e' option. Notes that the 'e' option + actually decodes data when used as a write function such as with + the SET application while it encodes data when used to read. + Review: https://reviewboard.asterisk.org/r/2335/ ........ Merged + revisions 381655 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-18 19:12 +0000 [r381644] Richard Mudgett + + * apps/app_confbridge.c: confbridge: Add flags column to CLI + "confbridge list " * Added the following flags to the + CLI "confbridge list " output: A - The user is an + admin M - The user is a marked user W - The user must wait for a + marked user to join E - The user will be kicked after the last + marked user leaves the conference w - The user is waiting for a + marked user to join * Added the following header to the AMI + ConfbridgeList events: WaitMarked, EndMarked, and Waiting. + (closes issue AST-1101) Reported by: John Bigelow Patches: + confbridge-show-admin3.txt (license #5091) patch uploaded by John + Bigelow Modified + +2013-02-16 20:44 +0000 [r381628] Richard Mudgett + + * apps/app_confbridge.c: confbridge: Rename i iterator variables to + iter. + +2013-02-16 16:28 +0000 [r381615] Matthew Jordan + + * /, channels/chan_sip.c: Don't send presencestate information if + the state is invalid Previously, presencestate information was + sent whenever the state was not NOT_SET. When r381594 actually + returned INVALID presence state in all the places it was supposed + to, it caused chan_sip to start adding presence state information + to NOTIFY requests that it previously would not have added. + chan_sip shouldn't be adding presence state information when the + provider is in an invalid state; users can't set the state to + invalid and an invalid state always implies that the provider is + in an error condition. (issue AST-1084) ........ Merged revisions + 381613 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-16 16:24 +0000 [r381614] Joshua Colp + + * res/res_sorcery_config.c, res/res_sorcery_memory.c, + include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c: + Add support for retrieving multiple objects from sorcery using a + regex on their id. Review: + https://reviewboard.asterisk.org/r/2329/ + +2013-02-15 23:29 +0000 [r381595] Matthew Jordan + + * funcs/func_presencestate.c, main/manager.c, /, + main/presencestate.c: Fix crash in PresenceState AMI action when + specifying an invalid provider This patch fixes a crash in + Asterisk that could be caused by using the PresenceState AMI + action while providing an invalid provider. This patch also adds + some additional warnings when a user attempts to provide the + PresenceState action with invalid data, and removes some NOTICE + statements that were still lurking in the code from testing. + (closes issue AST-1084) Reported by: John Bigelow Tested by: John + Bigelow ........ Merged revisions 381594 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-15 18:51 +0000 [r381568] Mark Michelson + + * /, channels/chan_sip.c: Fix a crash that occurred when a BYE was + received on a replaced dialog. Reference counting for the channel + and its tech_pvt got messed up at some point between 1.8 and 11. + The result was that if a BYE for a dialog that had been replaced + (via an INVITE with Replaces) was received, Asterisk would crash + due to trying to access data on a channel that was no longer + there. The fix I introduced is to remove code that both unrefs + the sip_pvt and sets the channel's tech_pvt to NULL when an + INVITE with Replaces is handled. This way when a BYE is received, + the tech_pvt will be non-NULL and so the BYE can be processed and + not cause a crash. (closes issue ASTERISK-20929) reported by + Kristopher Lalletti patches: ASTERISK-20929.patch uploaded by + Mark Michelson (License #5049) ........ Merged revisions 381566 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-15 18:44 +0000 [r381567] Matthew Jordan + + * include/asterisk/sorcery.h, main/config_options.c, + main/sorcery.c: Disable strict XML documentation config checking; + fix crash caused by sorcery This patch does two things: 1. It + disables (temporarily) strict XML documentation checking for + module configurations. We should re-enable it before making any + release from trunk. 2. Pass the module flag AST_MODULE through + sorcery. This means several of the API calls are now macros and + will do this automatically for you. The config framework needs + the module that objects are registering to so it can properly + construct the documentation. (This was already a required field, + but sorcery was getting by without it) + +2013-02-15 17:38 +0000 [r381557] Kevin Harwell + + * include/asterisk/logger.h, main/autoservice.c, main/logger.c: + Stopped spamming of debug messages during attended transfer. + While autoservice is running and servicing a channel the callid + is being stored and removed in the thread's local storage for + each iteration of the thread loop. If debug was set to a + sufficient level the log file would be spammed with callid thread + local storage debug messages. Added a new function that checks to + see if the callid to be stored is different than what is already + contained (if anything). If it is different then store/replace + and log, otherwise just leave as is. Also made it so all logging + of debug messages pertaining to the callid thread storage outputs + only when TEST_FRAMEWORK is defined. (issue ASTERISK-21014) + (closes issue ASTERISK-21014) Report by: Rusty Newton Review: + https://reviewboard.asterisk.org/r/2324/ + +2013-02-15 17:33 +0000 [r381556] Jonathan Rose + + * /, channels/chan_sip.c: chan_sip: Use video and text crypto + attributes to append RTP profiles to SDP Some bad copy/pasting + resulted in using the audio crypto attribute for both text and + video RTP. Also the audio crypto isn't set until after these, so + it was really just bad all around. (closes ASTERISK-20905) + Reported by: Kristopher Lalletti patches: + rtp_crypto_video_text.diff uploaded by Jonathan Rose (license + 6182) ........ Merged revisions 381553 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-15 15:26 +0000 [r381527-381543] Matthew Jordan + + * /: Remove automerge propertrties added in r381527 + + * main/asterisk.c, main/xmldoc.c, main/udptl.c, + include/asterisk/xml.h, /, main/xml.c, + include/asterisk/_private.h, res/res_xmpp.c, main/named_acl.c, + configs/motif.conf.sample, apps/confbridge/conf_config_parser.c, + Makefile, include/asterisk/config_options.h, + configs/xmpp.conf.sample, apps/app_skel.c, channels/chan_motif.c, + include/asterisk/xmldoc.h, main/config_options.c, + doc/appdocsxml.dtd: Add CLI configuration documentation This + patch allows a module to define its configuration in XML in + source, such that it can be parsed by the XML documentation + engine. Documentation is generated in a two-pass approach: 1. The + documentation is first generated from the XML pulled from the + source 2. The documentation is then enhanced by the registration + of configuration options that use the configuration framework + This patch include configuration documentation for the following + modules: * chan_motif * res_xmpp * app_confbridge * app_skel * + udptl Two new CLI commands have been added: * config show help - + show configuration help by module, category, and item * xmldoc + dump - dump the in-memory representation of the XML documentation + to a new XML file. Review: + https://reviewboard.asterisk.org/r/2278 Review: + https://reviewboard.asterisk.org/r/2058 patches: on review 2058 + uploaded by twilson + +2013-02-14 19:58 +0000 [r381470-381471] Damien Wedhorn + + * channels/chan_skinny.c: Remove extraneous stuff from r381470. + + * channels/chan_skinny.c: Add back sending dialnumber to skinny. + Don't know why it seemed to work during testing, but it really is + needed for protocol v17 (and probably above). + +2013-02-14 19:52 +0000 [r381469] Richard Mudgett + + * /, main/features.c: End stuck DTMF if AST_SOFTHANGUP_ASYNCGOTO + because it isn't a real hangup. It doesn't hurt to check + AST_SOFTHANGUP_UNBRIDGE either, but it should not be set outside + of a bridge. (issue ASTERISK-20492) ........ Merged revisions + 381466 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 381467 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-14 19:25 +0000 [r381465] Damien Wedhorn + + * channels/chan_skinny.c: Respect callerid presentation in skinny. + Fix chan_skinny so that it respects callerID presentation of + inbound calls to device and a couple of other minor fixes: 145 + packet (add OCTAL_FROM amd callerid), and dont send dialednumber + message if protocol >= 17. (closes issue ASTERISK-21066) Reported + by: snuffy Tested by: snuffy, myself Patches: + skinny-respect-clid-restrictions-v2.diff uploaded by snuffy + (license 5024) + +2013-02-14 18:47 +0000 [r381448] Kinsey Moore + + * main/logger.c, include/asterisk/term.h, apps/app_queue.c, + main/asterisk.c, main/term.c, main/data.c, main/pbx.c, + main/manager.c: Revamp of terminal color codes The core module + related to coloring terminal output was old and needed some love. + The main thing here was an attempt to get rid of the obscene + number of stack-local buffers that were allocated for no other + reason than to colorize some output. Instead, this uses a simple + trick to allocate several buffers within threadlocal storage, + then automatically rotates between them, so that you can make + multiple calls to the colorization routine within one function + and not need to allocate multiple buffers. Review: + https://reviewboard.asterisk.org/r/2241/ Patches: bug.patch + uploaded by Tilghman Lesher + +2013-02-14 17:06 +0000 [r381398-381427] Sean Bright + + * channels/chan_iax2.c: Use a shuffling algorithm to find unused + IAX2 call numbers. While adding red-black tree containers to + astobj2 in r376575, Richard pointed out the way chan_iax2 finds + unused call numbers will prevent ao2_container integrity checks + at runtime. This patch removes the ao2_container and instead uses + fixed sized arrays and a modified Fisher-Yates-Durstenfeld + shuffle to maintain the call number list. While the locking + semantics are similar to the ao2_container implementation, this + implementation should be faster and more memory efficient. + Review: https://reviewboard.asterisk.org/r/2288/ + + * include/asterisk/doxygen/asterisk-git-howto.h: Update the name of + the update_tags utility in the git mirror how-to. + +2013-02-14 03:49 +0000 [r381366] Matthew Jordan + + * apps/app_db.c, /: Don't throw a spurious error when using + DBdeltree The function call ast_db_deltree returns the number of + row deleted, or a negative number if it failed. DBdeltree was + treating any non-zero return as an error, causing a spurious + verbose error message to be displayed. This patch handles the + return code of ast_db_deltree correctly. (closes issue + ASTERISK-21070) Reported by: ianc patches: dbdeltree.diff + uploaded by ianc (License #5955) ........ Merged revisions 381364 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 381365 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-12 21:45 +0000 [r381326] David M. Lee + + * tests/test_threadpool.c, tests/test_taskprocessor.c, + main/threadpool.c, main/taskprocessor.c, + include/asterisk/threadpool.h: Add a serializer interface to the + threadpool This patch adds the ability to create a serializer + from a thread pool. A serializer is a ast_taskprocessor with the + same contract as a default taskprocessor (tasks execute serially) + except instead of executing out of a dedicated thread, execution + occurs in a thread from a ast_threadpool. Think of it as a + lightweight thread. While it guarantees that each task will + complete before executing the next, there is no guarantee as to + which thread from the pool individual tasks will execute. This + normally only matters if your code relys on thread specific + information, such as thread locals. This patch also fixes a bug + in how the 'was_empty' parameter is computed for the push + callback, and gets rid of the unused 'shutting_down' field. + Review: https://reviewboard.asterisk.org/r/2323/ + +2013-02-12 20:57 +0000 [r381307] Mark Michelson + + * main/rtp_engine.c, /: Do not allow native RTP bridging if + packetization of media streams differs. The RTP engine will no + longer allow for local and remote native RTP bridges if + packetization of streams differs. Allowing native bridging in + this scenario has been known to cause FAX failures. (closes + ASTERISK-20650) Reported by: Maciej Krajewski Patches: + ASTERISK-20659.patch uploaded by Mark Michelson (License #5049) + Review: https://reviewboard.asterisk.org/r/2319 ........ Merged + revisions 381281 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381306 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-12 20:18 +0000 [r381285] Kinsey Moore + + * /, channels/chan_sip.c, channels/sip/security_events.c, + channels/sip/include/sip.h: Fix some more REF_DEBUG-related build + errors When sip_ref_peer and sip_unref_peer were exported to be + usable in channels/sip/security_events.c, modifications to those + functions when building under REF_DEBUG were not taken into + account. This change moves the necessary defines into sip.h to + make them accessible to other parts of chan_sip that need them. + ........ Merged revisions 381282 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-12 03:31 +0000 [r381256] Michael L. Young + + * apps/app_confbridge.c: Adding Some More Manager Events To + ConfBridge Currently, ConfBridge does not send manager events for + ConfbridgeMute, ConfbridgeUnmute, ConfbridgeStartRecord and + ConfbridgeStopRecord. This patch adds these events to the + manager. The reporter's patch moves some other events up to the + beginning of the file. The patch being committed is based on the + patch contributed from the reporter of this issue. I have made a + lot of modifications to the patch in order for it to fit in + better with what we currently are doing in the code when it comes + to manager events. I also made a few changes to the + elements on some of the events. (closes issue ASTERISK-20827) + Reported by: Clint Davis Tested by: Clint Davis, Michael L. Young + Patches: 20827.diff uploaded by Clint Davis (license 6453) + asterisk-20827-confbridge-events.diff uploaded by Michael L. + Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2309/ + +2013-02-11 21:17 +0000 [r381219] Kevin Harwell + + * apps/app_playback.c, /: Properly load say.conf upon reload of + module app_playback. If say.conf did not exists prior to + originally loading module app_playback it would not load on + subsequent reloads of the module once it had been created. This + occurred because upon reload of the app_playback module it would + only load a new configuration if an old one had previously + existed. This fix simply removed the association between checking + if an old configuration existed and the loading of the new one. + (closes issue ASTERISK-20800) Reported by: pgoergler ........ + Merged revisions 381216 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 381217 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-11 21:10 +0000 [r381218] Kinsey Moore + + * include/asterisk/astobj2.h: Fix compilation error with REF_DEBUG + When the red/black tree work was committed, there was an extra ", + " in the REF_DEBUG definition of ao2_container_alloc_rbtree. + +2013-02-11 20:39 +0000 [r381214] David M. Lee + + * tests/test_json.c, res/res_json.c: Minor fixes to res_json and + test_json. * Made input checking more consistent with other + Asterisk code * Added validation to ast_json_dump_new_file * + Fixed tests for ownereship semantics (issue ASTERISK-20887) + +2013-02-11 18:54 +0000 [r381195] Damien Wedhorn + + * channels/chan_skinny.c: Fix some issues with skinny callid. Add + extra string to transmit_callinfo_var, Only set string2 to tonum + for outgoing calls and changes to send_callinfo and push_callinfo + to not set callid name to last number. (closes issue + ASTERISK-21063) Reported by: wedhorn Tested by: snuffy, myself + Patches: skinny-callinfoupdate03.diff uploaded by wedhorn + (license 5019) + +2013-02-11 18:00 +0000 [r381177] Richard Mudgett + + * main/features.c: features: Don't cache a struct ast_app pointer. + Caching a struct ast_app pointer is not a good idea because + someone could unload the application. After the applicaiton + unload the cached ast_app pointer is no longer valid. Only pbx.c + can cache the pointer because it knows when the application is + unloaded and removes the pointer. * Fixed one-touch Monitor and + MixMonitor to not cache the ast_app pointer and not use the silly + monitor_ok/mixmonitor_ok/stopmixmonitor_ok flags. * Extracted + bridge_check_monitor() from ast_bridge_call() and use propper + locking. + +2013-02-11 15:11 +0000 [r381160] Matthew Jordan + + * /, res/res_xmpp.c: Fix crash in res_xmpp when deleting pubsub + node from CLI An error existed in res_xmpp where it would attempt + to delete attributes from a node that itself was also deleted. + Per the iksemel documentation, attributes added using iks_insert + are copied to the parent node's stack, and will be reclaimed when + that node is itself destroyed. (closes issue ASTERISK-20982) + Reported by: marcelloceschia patches: delete-node-fix.diff + uploaded by marcelloceschia (License 6036) ........ Merged + revisions 381159 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-10 14:58 +0000 [r381134] Joshua Colp + + * include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c: + Add additional functionality to the Sorcery API. This commit adds + native implementation support for copying and diffing objects, as + well as the ability to load or reload on a per-object type level. + Review: https://reviewboard.asterisk.org/r/2320/ + +2013-02-09 20:58 +0000 [r381069-381118] Richard Mudgett + + * main/pbx.c: pbx: Fix regression caused by taking advantage of the + function name sort. Taking advantage of the sorted order of the + registered functions container requires that they are actually + inserted in the expected sort order. * Insert the registered + functions into the container in case sensitive position. As a + result, only the complete_functions() routine needs to search the + entire container because it does a case insensitive search for + convenience. Caught by the unit tests. + + * main/pbx.c: pbx: Make function and application containers take + advantage of being sorted. * Fixed "core show function" tab + completion and token count checking. * Refactored function and + application container handling code to reduce redundancy. * Made + __ast_pbx_run() return using the defines the caller should + expect. Doesn't change the returned values. Just made use the + defines. + + * main/channel.c, channels/chan_sip.c, include/asterisk/channel.h: + Make ast_do_masquerade() a void function. + + * /, apps/app_confbridge.c: app_confbridge: Fix crash from + receiving an AMI action after ConfBridge unloaded. Unloading + ConfBridge caused the next AMI action received to crash Asterisk. + * Add the missing unregister of AMI action + ConfbridgeSetSingleVideoSrc when ConfBridge is unloaded. (closes + issue ASTERISK-20994) Reported by: Jeremy Kister Patches: + jira_asterisk_20994_v11.patch (license #5621) patch uploaded by + rmudgett Tested by: Rusty Newton, Jeremy Kister ........ Merged + revisions 381067 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-08 17:36 +0000 [r381068] Jonathan Rose + + * CHANGES, configs/features.conf.sample, main/features.c: Call + Parking: Set PARKINGLOT and PARKINGSLOT variables on all parked + calls These two variables were previously not being set when + comebacktoorigin=yes and the example configs seemed to imply that + they should be. Since there is no harm in this and since calls + that are sent back to origin are capable of continuing in the + dialplan, this seemed like a no-brainer. Also it supports some + bridging tests I've been working on. + +2013-02-07 17:57 +0000 [r381037] Joshua Colp + + * res/res_sorcery_config.c: Fix a bug where a changed configuration + file might not be available to all sorcery object types. Since + res_sorcery_config used a static name of "res_sorcery_config" to + inform the configuration file API that it asked for the + configuration file it was possible during a reload for some + sorcery object types not to receive the new configuration file. + This change introduces a UUID on a per-sorcery config instance + basis so that the unchanged state is kept on an instance basis + and not for the res_sorcery_config module as a whole. + +2013-02-07 15:16 +0000 [r381017] Kinsey Moore + + * include/asterisk/stringfields.h, tests/test_stringfields.c: Add + aggregate operations for stuctures with string fields Add + struct-level comparison and copying of string fields to reduce + the complexity of whole-struct comparison and copying when using + string fields. The new macros do not take into account + non-stringfield data. Review: + https://reviewboard.asterisk.org/r/2308/ + +2013-02-06 20:18 +0000 [r380977] David M. Lee + + * /, channels/chan_sip.c: Fixed failing test from r380696. When I + added my extensive suite of session timer unit tests, apparently + one of them was failing and I never noticed. If neither Min-SE + nor Session-Expires is set in the header, it was responding with + a Session-Expires of the global maxmimum instead of the + configured max for the endpoint. (issue ASTERISK-20787) ........ + Merged revisions 380973 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380974 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-06 08:44 +0000 [r380925-380943] Damien Wedhorn + + * /, channels/chan_skinny.c: Fix reload skinny with active devices. + Patch ensures that d->activeline and l->activesub are moved over + to the new device and line so that on callend the appropriate + subs can be found to complete hangup before device resets. + (closes issue ASTERISK-16610) Reported by: wedhorn Tested by: + snuffy, myself Patches: skinny-reloadactive01.diff uploaded by + wedhorn (license 5019) ........ Merged revisions 380942 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_skinny.c, configs/skinny.conf.sample: Reset skinny + vmexten and immeddial char on reload. Make skinny reset vmexten + and immeddial to '\0' on reload to ensure that it is set to '\0' + if the appropriate item is removed/commented in skinny.conf. Also + small fix re immeddial char in skinny.conf and add immedial + setting to skinny show settings. (closes issue ASTERISK-21037) + Reported by: snuffy Tested by: snuffy, myself Patches: + immed_dial_fix.diff uploaded by snuffy (license 5024) + +2013-02-05 19:11 +0000 [r380855-380896] Richard Mudgett + + * /, apps/app_page.c, apps/app_confbridge.c: app_page and + app_confbridge: Fix custom announcement on entering conference. + The Page and ConfBridge custom announcement did not play when + users entered the conference. * Fix the + CONFBRIDGE(user,announcement) file not getting played. The code + to do this got removed accidentally when the ConfBridge code was + restructured to be more state machine like. * Fixed + play_prompt_to_user() doxygen comments. * Fixed the Page A(x) and + n options for the caller. The caller never played the + announcement file and totally ignored the n option. The code to + do this was lost when the application was converted to use + ConfBridge. * Factored out setup_profile_bridge(), + setup_profile_paged(), and setup_profile_caller() routines to + setup ConfBridge profiles. Made each profile setup routine use + the default template if one has not already been setup by + dialplan. (closes issue ASTERISK-20990) Reported by: Jeremy + Kister Tested by: rmudgett ........ Merged revisions 380894 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/confbridge/conf_state_multi_marked.c, /: app_confbridge: Fix + error messages on exiting conference. A marked user ending a + conference with only end_marked users generates error messages: + ERROR[0000][C-00000000]: confbridge/conf_state.c:47 + conf_invalid_event_fn: Invalid event for confbridge user '' * The + MULTI_MARKED state was doing too much when it was kicking out the + end_marked users from the conference. The kicked out users will + clean up after themselves when they exit the conference. (closes + issue ASTERISK-20991) Reported by: Jeremy Kister Tested by: + rmudgett ........ Merged revisions 380892 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, apps/app_page.c: app_page: Fixup application XML documentation + typos and inaccuracies. ........ Merged revisions 380869 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, apps/confbridge/conf_config_parser.c: Because the compiler can + check types with a struct copy and memcpy() cannot. ........ + Merged revisions 380856 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/dial.c, /: Separate option_types[] from the struct + definition. Updated the option_types[] doxygen comment. ........ + Merged revisions 380853 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380854 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-04 19:52 +0000 [r380817] Jason Parker + + * res/Makefile, res/pjproject/build/common.mak, + res/pjproject/aconfigure, res/pjproject/build/os-auto.mak.in, + Makefile, res/pjproject/aconfigure.ac, /: Fix how we build + pjproject. Allow parallel builds, better tolerate failures, build + faster. This also stops running dependencies before top-level + configure has been run. (closes issue ASTERISK-20815) Review: + https://reviewboard.asterisk.org/r/2292/ ........ Merged + revisions 380816 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-02-02 01:52 +0000 [r380792] Damien Wedhorn + + * channels/chan_skinny.c: Add variable length displayprompt packet + to skinny and use octals. Add new variable length displayprompt + packet (0x0145) to skinny. Uses the new packet if the device is + reporting protocol versions >= 17. Add the use of octal codes for + sending prompts to both the new and old displayprompt messages + (also cleaned up soft_key_template_default to use the defined + octal codes). Review: https://reviewboard.asterisk.org/r/2294/ + +2013-02-01 19:35 +0000 [r380774] Richard Mudgett + + * channels/iax2/firmware.c: chan_iax2: Fix compile error if + MALLOC_DEBUG enabled. NEVER INCLUDE astmm.h DIRECTLY!! + +2013-02-01 06:37 +0000 [r380755] Damien Wedhorn + + * channels/chan_skinny.c: Adds variable length callinfo packets to + skinny. Add packet 0x014A (variable length call info messages) to + skinny for newer firmware. Plenty of unknown information but + includes the equivalent functionality as the fixed size callinfo + packet already included. Only send this packet if protocol + reported is >= 17. Review: + https://reviewboard.asterisk.org/r/2290/ + +2013-01-31 22:03 +0000 [r380738] Jason Parker + + * res/pjproject/pjlib/src/pj/pool_buf.c, /, + res/pjproject/pjsip-apps/src/samples/icedemo.c, + res/pjproject/pjlib/include/pj/config_site.h, + res/pjproject/pjmedia/src/test/test.c, + res/pjproject/pjlib/src/pj/ssl_sock_ossl.c, + res/pjproject/pjlib/src/pj/log.c: Multiple revisions + 380735-380736 ........ r380735 | qwell | 2013-01-31 15:40:09 + -0600 (Thu, 31 Jan 2013) | 1 line Fix a few compiler warnings. + ........ r380736 | qwell | 2013-01-31 15:42:34 -0600 (Thu, 31 Jan + 2013) | 1 line Ignore warnings caused by PJ_TODO()s in pjproject. + ........ Merged revisions 380735-380736 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-31 20:17 +0000 [r380699] David M. Lee + + * /, channels/chan_sip.c: Process session timers, even if + Session-Expires header is missing Previously, Asterisk only + processed session timer information if both the 'Supported: + timer' and 'Session-Expires' headers were present. However, the + Session-Expires header is optional. If we were to receive a + request with a Min-SE greater than our configured + session-expires, we would respond with a 'Session-Expires' header + that was too small. This patch cleans the situation up a bit, + always processing timer information if the 'Supported: timer' + header is present. (closes issue ASTERISK-20787) Reported by: + Mark Michelson Review: https://reviewboard.asterisk.org/r/2299/ + ........ Merged revisions 380696 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380698 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-31 19:52 +0000 [r380695] Sean Bright + + * channels/chan_iax2.c, channels/iax2/firmware.c (added), + channels/iax2/include/firmware.h (added), + channels/iax2/include/parser.h: Move IAX firmware related + functionality into separate files. This patch is mostly a + reorganization of existing code with a few exceptions: * Added + doxygen comments to all of the extracted functions. * Split + reload_firmware(int unload) into iax_firmware_reload() and + iax_firmware_unload() for readability. * Create + iax_firmware_traverse() to support the 'iax2 show firmware' CLI + command. * Renamed iax_check_version() to + iax_firmware_get_version() and change its arguments and return + value so that it returns a success/failure value and sets the + selected version into an out parameter to avoid confusion with + failure and version 0. + +2013-01-31 19:04 +0000 [r380674] Jason Parker + + * res/pjproject/build/rules.mak, + res/pjproject/pjnath/build/Makefile, + res/pjproject/pjsip/build/Makefile, res/pjproject/aconfigure, + res/pjproject/pjsip-apps/build/Makefile, + res/pjproject/aconfigure.ac, + res/pjproject/pjmedia/build/Makefile, + res/pjproject/build/cc-auto.mak.in, /, + res/pjproject/pjlib-util/build/Makefile, + res/pjproject/pjlib/build/Makefile: Multiple revisions + 380671-380673 ........ r380671 | qwell | 2013-01-31 12:59:28 + -0600 (Thu, 31 Jan 2013) | 4 lines Remove a cross-compile + workaround. ar and ranlib can be easily detected with autoconf. + ........ r380672 | qwell | 2013-01-31 13:00:38 -0600 (Thu, 31 Jan + 2013) | 2 lines Always check for libm, regardless of configure + options. ........ r380673 | qwell | 2013-01-31 13:03:03 -0600 + (Thu, 31 Jan 2013) | 7 lines Add support for parallel builds of + pjproject. Also adds proper dependency checking, and direct .a + file targets. We don't take advantage of this currently, but we + will soon. (issue ASTERISK-20815) ........ Merged revisions + 380671-380673 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-31 18:22 +0000 [r380576-380666] Richard Mudgett + + * bridges/bridge_multiplexed.c: bridge_multiplexed: Keep the + multiplexed thread until no more bridges use it. * Fixed the + potential of losing the multiplexed bridge thread when the last + channel leaves and another joins while the multiplexed thread is + being shut down. * Refactored and improved the management of the + serviced channels array. * Changed the channels count to a + bridges count so it only needs to be incremented rather than + changed by two. + + * main/frame.c, funcs/func_frame_trace.c: Improve func FRAME_TRACE + DTMF digit format. + + * include/asterisk/bridging.h: Eliminate an unused lock in + ast_bridge_channel. + + * main/channel.c: Eliminate a use of a C++ keyword as a variable. + new to new_frame + + * channels/iax2: Add ignore properties to channels/iax2 + + * /, include/asterisk/channel.h: Make CHECK_BLOCKING() debug + message more useful. Change the displayed pthread value to hex + format so it can be easily matched with CLI core show threads or + gdb. ........ Merged revisions 380611 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380612 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_dahdi.c: chan_dahdi: Fix "dahdi show channels + group" for groups greater than 31. The variable type used was not + large enough to hold a group bit field. ........ Merged revisions + 380572 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 380575 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-30 17:49 +0000 [r380460-380522] Matthew Jordan + + * /, configure, configure.ac: Support building Asterisk for + Raspberry Pi/Raspbian with hard-float support Building Asterisk + on Raspbian with hard-float support fails as it uses the string + 'linux-gnueabihf' for host os, as opposed to 'linux-gnueabi'. + This patch modifies the configure script for Asterisk such that + it will match on any string beginning with 'linux-gnueabi', as + opposed to requiring an explicit match. (closes issue + ASTERISK-21006) Reported by: Christian Hesse Tested by: Christian + Hesse patches: linux-gnueabihf.patch uploaded by Christian Hesse + (license 6459) linux-gnueabihf-autoconf.patch uploaded by + Christian Hesse (license 6459) ........ Merged revisions 380520 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 380521 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: Unregister SIP provider API if module + load is declined A user in #asterisk ran into a problem where a + configuration error prevented the chan_sip module from being + loaded. Upon fixing their configuratione error, they could no + longer load the chan_sip module. This was because the + configuration checking happened after the SIP provider was + registered with the Asterisk core, and subsequent attempts to + load the SIP module failed as the provider was already + registered. Since we want to detect any failure in registering + chan_sip as early as possible (as that could be emblematic of a + deeper mismatch between module and Asterisk core), this patch + does not change the registration location, but does ensure that + if a module load is declined, we unregister the module as the SIP + api provider. ........ Merged revisions 380480 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: Perform case insensitive comparisons for + T.38 attributes RFC5347 section 2.5.2 states the following: ... + The attribute "T38MaxBitRate" was once incorrectly registered + with IANA as "T38maxBitRate" (lower-case "m"). In accordance with + T.38 examples and common implementation practice, the form + "T38MaxBitRate" SHOULD be generated by implementations conforming + to this package. In general, it is RECOMMENDED that + implementations of this package accept lowercase, uppercase, and + mixed upper/lowercase encodings of all the T.38 attributes. ... + Asterisk currently does not perform case insensitive matching on + the T.38 attributes. This causes the T38MaxBitRate attribute to + be negotiated at 2400 baud instead of 14400 (or whatever value + you actually wanted). This patch makes it so that when we compare + T.38 attributes, we do so in a case insensitive fashion. Note + that while the issue reporter did not directly write the patch, + they contributed to it (and would have provided one themselves if + the license had gone through a tad faster), and hence get + attribution for it. Review: + https://reviewboard.asterisk.org/r/2298/ (closes issue + ASTERISK-20897) Reported by: Eric Hill Tested by: Eric Hill + patches: -- uploaded by Eric Hill ........ Merged revisions + 380458 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 380465 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_calendar_icalendar.c, /: Fix memory leak in + res_calendar_icalendar The ICalendar module had a systemic memory + leak on each fetch of data from the ICalendar source. The + previous fetched data was not being properly disposed. This patch + makes it so that before each fetch of data, we dispose of the + previously fetched data. (closes issue ASTERISK-21012) Reported + by: Joel Vandal Tested by: Joel Vandal ........ Merged revisions + 380451 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 380452 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-29 22:58 +0000 [r380433] Sean Bright + + * channels/iax2-provision.c (removed), channels/iax2/provision.c + (added), channels/Makefile, channels/chan_iax2.c, + channels/iax2-parser.c (removed), channels/iax2/include/iax2.h + (added), channels/iax2-provision.h (removed), + channels/iax2/parser.c (added), channels/iax2 (added), + channels/iax2-parser.h (removed), + channels/iax2/include/provision.h (added), channels/iax2/include + (added), channels/iax2/include/parser.h (added), channels/iax2.h + (removed): Move the ancillary iax2 source files into a separate + sub-directory. This patch just moves the IAX2 source and header + files into a separate iax2 sub-directory in the channels + directory, similar to how the sip source files are structured. + The only thing that was added was an #ifndef to protect + provision.h from multiple inclusion. + +2013-01-29 20:19 +0000 [r380407] Joshua Colp + + * tests/test_sorcery.c, main/sorcery.c: Fix an issue where building + with DEBUG_FD_LEAKS enabled would not work due to sorcery using + calls called "open" and "close". + +2013-01-29 18:02 +0000 [r380386] Richard Mudgett + + * /, channels/chan_agent.c: chan_agent: Prevent multiple channels + from logging in as the same agent. Multiple channels logging in + as the same agent can result in dead channels waiting for a + condition signal that will never come because another channel + thread stole it. A symptom is chan_sip repeatedly generating + warning messages about rescheduling autodestruction of dialogs + with an agent channel owner. * Made only login_exec() (the app + AgentLogin) clear the agent_pvt->chan pointer to prevent multiple + channels from logging in as the same agent. agent_read(), + agent_call(), and agent_set_base_channel() no longer disconnect + the agent channel from the agent_pvt. This also eliminates the + need to keep checking for agent_pvt->chan being NULL. * Made + agent_hangup() not wake up the AgentLogin agent thread until it + is done. * Made agent_request() not able to get the agent until + he has logged in and any wrapup time has expired. * Made + agent_request() use ast_hangup() instead of agent_hangup() to + correctly dispose of a channel. * Removed + agent_set_base_channel(). Nobody calls it and it is a bad thing + in general. * Made only agent_devicestate() determine the current + device state of an agent. Note: Agent group device states have + never been supported. Review: + https://reviewboard.asterisk.org/r/2260/ ........ Merged + revisions 380364 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380384 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-29 17:46 +0000 [r380383] David M. Lee + + * channels/sip/sdp_crypto.c, /: Corrected crypto tag in SDP ANSWER + for SRTP. (again) The original fix (r380043) for getting Asterisk + to respond with the correct tag overlooked some corner cases, and + the fact that the same code is in 1.8. This patch moves the + building of the crypto line out of sdp_crypto_process(). Instead, + it merely copies the accepted tag. The call to sdp_crypto_offer() + will build the crypto line in all cases now, using a tag of "1" + in the case of sending offers. (closes issue ASTERISK-20849) + Reported by: José Luis Millán Review: + https://reviewboard.asterisk.org/r/2295/ ........ Merged + revisions 380347 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380350 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-29 17:06 +0000 [r380349] Jonathan Rose + + * main/features.c, /: call_parking: Make sure fallbacks are used + when lacking a flat channel exten A regression was introduced + which removed automatic fallback behavior from the PBX. This + behavior was used by call parking (or at least documented as how + the feature works) in order to select an extension when the flat + channel extension wasn't available from the comebackcontext. + Parking now handles the fallbacks internally in order to keep + behavior matching with how it is documented. (closes issue + ASTERISK-20716) Reported by: Chris Gentle Review: + https://reviewboard.asterisk.org/r/2296/ ........ Merged + revisions 380348 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-29 14:48 +0000 [r380299-380332] Matthew Jordan + + * /, channels/chan_sip.c: Ensure that a declined media stream is + terminated with a '\r\n' In r369028, chan_sip's processing of + media streams in an SDP was modified to better handle multiple + offered media streams. Part of that change modified how streams + were declined. Previously, declined media streams were not + handled in an RFC compliant manner; now, we set the port number + to 0 in the media stream definition and proceed on with the next + media stream. Unfortunately, the formatting of the declined media + stream forgot to append a '\r\n' to the end of the media stream. + This is normally added to the accepted media streams later on in + the processing of the SDP. Since the declined media stream uses a + different buffer than the accepted media streams (and is a + malloc'd buffer as opposed to a struct ast_str), it's easier to + just slap the '\r\n' on the declined media stream buffer rather + than attempt to append it later on. So, that's what we do. And + now some devices (and probably some providers) will be a bit + happier (but probably not terribly happy, since we just rejected + something they offered). Review: + https://reviewboard.asterisk.org/r/2297/ (closes issue + ASTERISK-20908) Reported by: Dennis DeDonatis Tested by: Dennis + DeDonatis ........ Merged revisions 380331 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * autoconf/ast_check_pwlib.m4, /, configure, + include/asterisk/autoconfig.h.in: Update configure script to be + compatible with ptlib 2.10.9 With ptlib 2.10.9, the configure + script fails due to grep returning multiple matches for the + pattern it searches for. This patch updates the pattern matching + to return only the actual version for the symbol searched for, + PTLIB_VERSION. (closes issue ASTERISK-20980) Reported by: Stefan + Reuter patches: ASTERISK-20980-1.patch uploaded by Stefan Reuter + (license 5339) ........ Merged revisions 380297 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380298 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-28 21:09 +0000 [r380256] Sean Bright + + * /, channels/iax2.h, channels/chan_iax2.c: Correct the number of + available call numbers in IAX2. There is currently an edge case + where call number 32768 might be allocated for a call, even + though the IAX2 protocol requires call numbers be only 15 bits. + This resulted in some unpredictable behavior when call number + 32678 is chosen. This patch was mostly written by Richard Mudgett + via ReviewBoard. I'm just committing it. Review: + https://reviewboard.asterisk.org/r/2293/ ........ Merged + revisions 380254 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380255 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-28 01:58 +0000 [r380209-380212] Russell Bryant + + * /, main/file.c: Change cleanup ordering in filestream destructor. + This patch came about due to a problem observed where wav files + had an empty header. The header is supposed to be updated in + wav_close(). It turns out that this was broken when the + cache_record_files option from asterisk.conf was enabled. The + cleanup code was moving the file to its final destination + *before* running the close() method of the file destructor, so + the header didn't get updated. Another problem here is that the + move was being done before actually closing the FILE *. Finally, + the last bug fixed here is that I noticed that wav_close() checks + for stream->filename to be non-NULL. In the previous cleanup + order, it's checking a pointer to freed memory. This doesn't + actually cause anything to break, but it's treading on dangerous + waters. Now the free() of stream->filename is happening after the + format module's close() method gets called, so it's safer. + Review: https://reviewboard.asterisk.org/r/2286/ ........ Merged + revisions 380210 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 380211 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * CHANGES, configs/logger.conf.sample, main/logger.c: Add + queue_log_realtime_use_gmt option to logger.conf Add an option + that lets you specify that the timestamps going into the realtime + queue log should be in GMT instead of local time. Review: + https://reviewboard.asterisk.org/r/2287/ + +2013-01-27 20:33 +0000 [r380194] Michael L. Young + + * apps/confbridge/conf_config_parser.c, /: Fix Some Configured + Conference Bridge Sounds Not Being Set The "sound_only_one" sound + was not being set even though it was configured. In looking into + this, I found that the "join" and "leave" prompts were not being + set either. (closes issue ASTERISK-20898) Reported by: Stephan + Tested by: Stephan Patches: + asterisk-20898-custom-sounds-ignored.diff uploaded by Michael L. + Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2289/ ........ Merged + revisions 380193 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-27 18:40 +0000 [r380165-380178] Joshua Colp + + * tests/test_sorcery.c: Add a unit test which confirms the apply + handler callback is called when it should be. + + * main/sorcery.c: Fix a bug where the apply function was not + getting called. + +2013-01-25 23:23 +0000 [r380142] Richard Mudgett + + * bridges/bridge_multiplexed.c: bridge_multiplexed: Rename + variables so they are not the same as the struct name. * Rename + multiplexed_thread variables to muxed_thread. It is shorter and + my editer tagging works much better. Struct names and variable + names have different purposes and therefore should have different + names. * Renamed the multiplexed_threads container to + muxed_threads for consistency. + +2013-01-25 20:46 +0000 [r380121] Jason Parker + + * res/res_sorcery_config.c, res/res_sorcery_memory.c: Make sorcery + modules global, since they are required by other modules that are + global. + +2013-01-25 20:00 +0000 [r380108-380109] Richard Mudgett + + * bridges/bridge_multiplexed.c, main/bridging.c: Misc bridge code + improvements * Made multiplexed_bridge_destroy() check if + anything to destroy and cleared bridge_pvt pointer after + destruction. * Made multiplexed_add_or_remove() handling of the + chans array simpler. * Extracted bridge_channel_poke(). * + Simplified bridge_array_remove() handling of the bridge->array[]. + The array does not have a NULL sentinel pointer. * Made + ast_bridge_new() not create a temporary bridge just to see if it + can be done. Only need to check if there is an appropriate bridge + tech available. * Made ast_bridge_new() clean up on allocation + failures. * Made destroy_bridge() free resources in the opposite + order of creation. + + * main/bridging.c, bridges/bridge_simple.c, + bridges/bridge_softmix.c, bridges/bridge_multiplexed.c: More + trivial bridge code cleanup. * Breaking long lines * Word + wrapping comment blocks. * Removing redundant initializers. * + Debug message wording. + +2013-01-25 14:23 +0000 [r380069-380082] Joshua Colp + + * res/res_sorcery_config.c: Add a missing '\' to a log message. + + * include/asterisk/sorcery.h (added), tests/test_sorcery.c (added), + main/asterisk.c, main/sorcery.c (added), res/res_sorcery_config.c + (added), configs/test_sorcery.conf.sample (added), + res/res_sorcery_memory.c (added), configs/sorcery.conf.sample + (added): Merge the sorcery data access layer API. Sorcery is a + unifying data access layer which provides a pluggable mechanism + to allow object creation, retrieval, updating, and deletion using + different backends (or wizards). This is a fancy way of saying + "one interface to rule them all" where them is configuration, + realtime, and anything else that comes along. Review: + https://reviewboard.asterisk.org/r/2259/ + +2013-01-25 05:49 +0000 [r380057] Damien Wedhorn + + * configs/skinny.conf.sample, channels/chan_skinny.c: Add force + dial keys to skinny. Adds a dial softkey when the device is in + DAFD. The softkey is greyed (unusable) until a possible dialplan + match is entered. Code includes updating transmit_selectsoftkeys + to allow the use of a button mask. Also add option to use # or * + as a dial now button. Original patch by snuffy cleaned up by + myself. Review: https://reviewboard.asterisk.org/r/2277/ + +2013-01-24 16:40 +0000 [r380044] David M. Lee + + * channels/sip/sdp_crypto.c, /: Corrected crypto tag in SDP ANSWER + for SRTP. When Asterisk responds with an SDP ANSWER for SRTP, it + had the code to correctly fill in the crypto data, which was + overwritten by a call to sdp_crypto_offer. Corrected the + situation by changing sdp_crypto_offer to not replacing crypto + data if it already exists. (closes issue ASTERISK-20849) Reported + by: José Luis Millán Tested by: Iñaki Baz Castillo Patches: + fix_sdp_crypto_tags.diff uploaded by Pedro Kiefer (license 6407) + ........ Merged revisions 380043 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-24 04:02 +0000 [r380029] Matthew Jordan + + * apps/app_confbridge.c, /: Correct documentation for + ConfbridgeList AMI action The documentation for ConfbridgeList + states that the Conference field is optional. That's not really + the case: if you fail to provide a Conference number, the command + will kick back an error. (closes issue AST-1090) Reported by: + John Bigelow ........ Merged revisions 380028 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-23 16:50 +0000 [r380004] Kinsey Moore + + * contrib/scripts/autosupport: Add support for DPMA to autosupport + This adds the ability to get the DPMA version, a listing of the + local firmware directory, and indexes of configured remote + directories. (closes issue AST-1070) Reported By: Malcolm + Davenport Tested By: Kinsey Moore + +2013-01-23 00:30 +0000 [r379966] Richard Mudgett + + * main/astobj2.c, /: Attempt to be more helpful when using a bad + ao2 object pointer. Put the external obj pointer in the message + instead of the internal version. ........ Merged revisions 379963 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 379964 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-22 22:19 +0000 [r379950] Jonathan Rose + + * res/res_fax_spandsp.c, /: res_fax_spandsp: fix t38 transmission + bug caused by not returning success This patch fixes the problem, + but the issue includes a test which is still being considered for + the automated test suite. (issue ASTERISK-20919) Reported by: + NITESH BANSAL Patches: patch_ast_fax_spandsp.patch uploaded by + NITESH BANSAL (license 6418) ........ Merged revisions 379949 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-22 20:58 +0000 [r379936] Sean Bright + + * channels/chan_iax2.c: Remove a large block of commented out code + from chan_iax2. During the conversion to the newer CLI command + structure the old definitions were commented out. I think it's + safe to remove them completely now. + +2013-01-22 19:29 +0000 [r379912] Jonathan Rose + + * /, apps/app_meetme.c, sounds/Makefile: app_meetme: Use new + prompts for administrator menu The old prompts for the + administrator menu were inadequate. They didn't mention that the + menu had additional options through the 8 key and pressing the 8 + key wouldn't reveal what those options were. This patch fixes all + of that while also organizing code pertaining to each individual + menu type which was previously all stored in one gigantic + function along with many of the basic conference functions. + (closes issue AST-996) Reported by: John Bigelow Review: + http://reviewboard.digium.internal/r/360/ ........ Merged + revisions 379885 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379892 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-22 16:48 +0000 [r379864] Richard Mudgett + + * /: Remove stray property. + +2013-01-22 15:16 +0000 [r379828-379830] Matthew Jordan + + * include/asterisk/file.h, main/channel.c, + funcs/func_frame_trace.c, res/res_agi.c, main/file.c, main/app.c, + CHANGES, include/asterisk/frame.h, apps/app_playback.c, + apps/app_controlplayback.c: Add ControlPlayback manager action + This patch adds the capability for asynchronous manipulation of + audio being played back to a channel though a new AMI action + "ControlPlayback". The ControlPlayback action supports a number + of operations, the availability of which depend on the + application being used to send audio to the channel. When the + audio playback was initiated using the ControlPlayback + application or CONTROL STREAM FILE AGI command, the audio can be + paused, stopped, restarted, reversed, or skipped forward. When + initiated by other mechanisms (such as the Playback application), + the audio can be stopped, reversed, or skipped forward. Review: + https://reviewboard.asterisk.org/r/2265/ (closes issue + ASTERISK-20882) Reported by: mjordan + + * /, apps/app_meetme.c: Fix station ringback; trunk hangup issues + in SLA This patch fixes two bugs: * If an outbound call is made + from a SLA phone using SLAStation, then there is no ringtone + audible to the phone that originates the call. The indication of + the ringing was not being passed to the SLA station; this patch + fixes that by passing through the progress indications. * If an + SLA station hangs up before the called party answers, then the + channel to the called party continues to ring until a timeout + occurs. If the called party manages to answer, Asterisk attempts + to connect the called party to a non-existant MeetMe room. This + patch corrects the behavior by abandoning the call attempt if it + detects that the SLA station is no longer in use while attempting + to call the called party. Review: + https://reviewboard.asterisk.org/r/2275/ (closes issue + ASTERISK-20462) Reported by: dkerr patches: + asterisk-11-bugid20440+20462.patch uploaded by dkerr (license + 5558) asterisk-11-bugid20462.patch uploaded by dkerr (license + 5558) (closes issue ASTERISK-20440) Reported by: dkerr patches: + asterisk-11-bugid20440.patch uploaded by dkerr (license 5558) + asterisk-11-bugid20440+20462.patch uploaded by dkerr (license + 5558) ........ Merged revisions 379825 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379826 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-22 00:36 +0000 [r379809] Richard Mudgett + + * /, channels/chan_bridge.c, apps/app_confbridge.c: confbridge: + Minor fixes playing user counts to the conference. * Generate a + warning message if sound files do not exist when trying to play + the user count to the conference. Use the new helper routine + sound_file_exists() for consistency. * Put the new user into + autoservice when playing user counts to the conference. * Check + the return value of ast_bridge_impart(). ........ Merged + revisions 379808 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-21 20:41 +0000 [r379791] Matthew Jordan + + * /, contrib/init.d/rc.redhat.asterisk, + contrib/init.d/rc.gentoo.asterisk, + contrib/init.d/rc.slackware.asterisk, + contrib/init.d/rc.archlinux.asterisk, + contrib/scripts/safe_asterisk, main/asterisk.c, + contrib/init.d/rc.suse.asterisk, + contrib/init.d/rc.mandriva.asterisk, + contrib/init.d/rc.debian.asterisk: Update init.d scripts to + handle stderr; readd splash screen for remote consoles When + r376428 was commited to re-order start up sequences to be more + tolerant of forking with thread primitives, a few items were + changed that caused changes in behavior on some distros. This + includes: * Not displaying the splash screen on a remote console. + * Displaying an error message on stderr when a remote console + cannot connect to a running instance of Asterisk. In the first + case, the splash screen was re-added (thanks to Michael L. + Young). In the second case, the various init.d scripts were + modified to pipe stderr to /dev/null, as the error message is + useful - if you execute a remote console or a remote console + command execution and it fail, it should tell you. Note that the + error message was always present, it just failed to be printed + prior to r376428. Much thanks to the folks who quickly reported + this problem, provided solutions, and promptly tested the various + init.d scripts on a variety of distros. (closes issue + ASTERISK-20945) Reported by: Warren Selby Tested by: Michael L. + Young, Jamuel Starkey, kaldemar, Danny Nicholas, mjordan patches: + asterisk-20945-remote-intro-msg.diff uploaded by elguero (license + 5026) ASTERISK-20945-1.8-mjordan.diff uploaded by mjordan + (license 6283) ........ Merged revisions 379760 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379777 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 379790 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-21 20:35 +0000 [r379753-379789] Richard Mudgett + + * main/bridging.c, bridges/bridge_builtin_features.c: Better + protect bridge_channel state from other threads. + + * main/bridging.c: Extract common bridging code into bridge_stop() + and bridge_force_out_all(). + + * bridges/bridge_builtin_features.c, + include/asterisk/bridging_features.h, + include/asterisk/bridging.h, main/bridging.c: Made some bridging + API calls void. Some bridging comments updated. + +2013-01-21 18:47 +0000 [r379721] Kinsey Moore + + * codecs/codec_ilbc.c, /: Prevent segfault for interpolated iLBC + frames When iLBC is being used with a jitter buffer and the jb + has to interpolate frames, it generates frames with a null + pointer and a non-zero datalen. This is now handled properly. + (closes issue ASTERISK-20914) Reported By: John McEleney Patches: + ASTERISK-20914-1.8.diff uploaded by Matt Jordan (license 6283) + ........ Merged revisions 379718 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379719 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-21 18:45 +0000 [r379703-379720] Richard Mudgett + + * main/bridging.c: Trivial bridge code cleanup. + + * include/asterisk/bridging_technology.h, + bridges/bridge_builtin_features.c, + include/asterisk/bridging_features.h, + include/asterisk/bridging.h: Bridge API comment tweaks. + +2013-01-21 07:26 +0000 [r379678] Damien Wedhorn + + * /, channels/chan_skinny.c: Fix device call logging issues in + skinny Skinny device call logging (ie missed, place and received + calls) has issues because the incorrect sequence of callstates + is/can be sent to the device. This patch removes some extra + callstate updates driven by forces external to skinny and ensures + the needed intermediary callstate messages are sent. (closes + issue ASTERISK-20964) Reported by: wedhorn Tested by: snuffy, + myself Patches: ast11-skinny-calllog01.diff uploaded by wedhorn + (license 5019) ........ Merged revisions 379677 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-21 04:50 +0000 [r379644] Andrew Latham + + * contrib/scripts/install_prereq, /: Add LDAP libraries to install + script Add LDAP dev package to Debian/Ubuntu install list. + Existed in Redhat already. (issue ASTERISK-20886) ........ Merged + revisions 379643 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-21 04:17 +0000 [r379610-379612] Matthew Jordan + + * /, apps/app_minivm.c: Fix crash in app_minivm when mime encoding + string An incorrect string initializations was left in + ast_str_encode_mime from the patch that converted string + manipulations to use ast_str strings (r191140). The string + initialization causes a crash when ast_str_set is called on the + string later on in the function. (closes issue ASTERISK-18697) + Reported by: Chris Boot patches: + minivm-null-pointer-dereference-fix.patch uploaded by bootc + (license 6309) (issue ASTERISK-20854) Reported by: Chris Warr + Tested by: Chris Warr ........ Merged revisions 379608 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379609 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /: Re-add merge properties + +2013-01-20 03:06 +0000 [r379583] Damien Wedhorn + + * /, channels/chan_skinny.c: Fix issues with skinny sessions Fixes + a couple of issues with the way skinny handles sessions by + ensuring sessions aren't used after being freed. Some other minor + changes. Review: https://reviewboard.asterisk.org/r/2272/ + ........ Merged revisions 379582 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-19 20:54 +0000 [r379549] Walter Doekes + + * configure.ac, /, configure, include/asterisk/autoconfig.h.in, + include/asterisk/compat.h, main/strcompat.c: Add builtin roundf() + for systems lacking it. (closes issue ASTERISK-16854) Review: + https://reviewboard.asterisk.org/r/2276 Reported-by: Ovidiu Sas + ........ Merged revisions 379547 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379548 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-19 00:19 +0000 [r379518] Matthew Jordan + + * /, main/asterisk.c: Fix astcanary startup problem due to wrong + pid value from before daemon call When Asterisk forks itself into + the background via a call to daemon, it must re-set the pid value + of the new process. Otherwise, astcanary gets the pid value of + the process before the fork, which prevents it from running. + Asterisk eventually starts lowering its priority, as it can no + longer communicate with the proverbial canary in the coal mine. + This patch ensures that the correct process identifier is used by + astcanary. Note that this is getting committed to 10 as a + regression fix. (closes issue ASTERISK-20947) Reported by: Jakob + Hirsch Tested by: mjordan patches: + asterisk-10.12.0.astcanary_ppid.diff uploaded by Jakob Hirsch + (license 6113) ........ Merged revisions 379509 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379510 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 379513 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-18 22:42 +0000 [r379495] David M. Lee + + * configure.ac, Makefile, configure, main/Makefile: Up the minimum + OS X version to 10.6. * This allows us to remove some + special-case build logic. * 10.5 is down to less that 8% of the + OS X market share. 10.4 is down to under 2%. * Apple is no longer + releasing security updates for 10.5 and earlier. + +2013-01-18 21:52 +0000 [r379479] Kinsey Moore + + * /, apps/app_confbridge.c: Fix regression in Confbridge user count + When the restructuring work got committed to Confbridge in + r375470 to fix many open issues, it caused a regression in the + reported count of users when conference information was requested + via CLI or manager. This corrects the user count and user + information displayed when listing conference information from + the CLI and manager. (closes issue ASTERISK-20938) Reported By: + Timo Teras Patches: confbridge-list.patch uploaded by Timo Teras + (license 5409) ........ Merged revisions 379478 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-18 21:35 +0000 [r379477] David M. Lee + + * Makefile, /, configure, main/Makefile, configure.ac, + UPGRADE-11.txt, UPGRADE.txt, makeopts.in: Specify the -rpath + linker flag when prefix != /usr. This allows Asterisk to start + without having to specify the LD_LIBRARY_PATH. This can be + disabled by passing --disable-rpath to configure. (closes issue + ASTERISK-20407) Reported by: David M. Lee Review: + https://reviewboard.asterisk.org/r/2132/ ........ Merged + revisions 379475 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-18 18:25 +0000 [r379461] Jonathan Rose + + * apps/app_voicemail.c, /: app_voicemail: Improve msg_id handling + app_voicemail will no longer issue error messages when it + retrieves an msg_id with a NULL value from realtime and will + instead simply populate the msg_id field with a newly generated + msg_id. In addition, this patch changes the way msg_ids are + generated to eliminate certain causes of duplicate IDs appearing + within a single system. In addition, when messages are copied, + they will now receive a new msg_id. (closes issue ASTERISK-20717) + Reported by: Alec Davis Review: + https://reviewboard.asterisk.org/r/2220/ ........ Merged + revisions 379460 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-18 15:42 +0000 [r379432] Mark Michelson + + * include/asterisk/threadpool.h (added), /, + include/asterisk/taskprocessor.h, tests/test_threadpool.c + (added), tests/test_taskprocessor.c (added), main/threadpool.c + (added), main/taskprocessor.c: Add threadpool support to + Asterisk. This commit consists of two parts. Part one changes the + taskprocessor API to be less self-contained. Instead, the + taskprocessor is now more of a task queue that informs a listener + of changes to the queue. The listener then has the responsibility + of executing the tasks as it pleases. There is a default listener + implementation that functions the same way as "classic" + taskprocessors, in that it creates a single thread for tasks to + execute in. Old users of taskprocessors have not been altered and + still function the same way. Part two introduces the threadpool + API. A threadpool is a special type of taskprocessor listener + that has multiple threads associated with it. The threadpool also + has an optional listener that can adjust the threadpool as + conditions change. In addition the threadpool has a set of + options that can allow for the threadpool to grow and shrink on + its own as tasks are added and executed. Both set of changes + contain accompanying unit tests. (closes issue ASTERISK-20691) + Reported By: Matt Jordan Review: + https://reviewboard.asterisk.org/r/2242 + +2013-01-18 05:31 +0000 [r379394] David M. Lee + + * channels/sip/reqresp_parser.c, + channels/sip/include/reqresp_parser.h, /, channels/chan_sip.c: + Fix Record-Route parsing for large headers. Record-Route parsing + copied the header into a char[256] array, which can be a problem + if the header is longer than that. This patch parses the header + in place, without the copy, avoiding the issue. In addition to + the original patch, I added a unit test for the new + get_in_brackets_const function. (closes issue ASTERISK-20837) + Reported by: Corey Farrell Patches: + chan_sip-build_route-optimized-rev1.patch uploaded by Corey + Farrell (license 5909) (with minor changes by dlee) ........ + Merged revisions 379392 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379393 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-17 02:32 +0000 [r379344] Matthew Jordan + + * /, addons/chan_mobile.c: Fix issue where chan_mobile fails to + bind to first available port Per the bluez API, in order to bind + to the first available port, the rc_channel field of the socket + addressing structure used to bind the socket should be set to 0. + Previously, Asterisk had set the rc_channel field set to 1, + causing it to connect to whatever happens to be on port 1. We + could probably not explicitly set rc_channel to 0 since we memset + the struct earlier, but explicitly setting it will hopefully + prevent someone from coming in and setting it to some explicit + port in the future. (closes issue ASTERISK-16357) Reported by: + challado Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin, + eliafino, David van Geyn patches: ASTERISK-16357.diff uploaded by + Nikolay Ilduganov (license 6253) ........ Merged revisions 379342 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 379343 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-16 22:51 +0000 [r379312] Mark Michelson + + * main/manager.c, /: Further fix misinformation in the description + of manager MailboxStatus command. The description still claimed + that it returned the number of messages rather than whether there + were messages waiting. ........ Merged revisions 379310 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379311 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-16 21:13 +0000 [r379278] Jason Parker + + * contrib/scripts/install_prereq, /: Reduce number of packages + install_prereq installs on Debian systems. 'search' will look for + any package containing the name provided, so we need to force a + more exact search. ........ Merged revisions 379276 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379277 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-16 18:09 +0000 [r379231-379233] Richard Mudgett + + * main/logger.c, /: Reduce call-id logging resource usage. Since + there is no need for the call-id logging ao2 object to have a + lock, don't create it with one. ........ Merged revisions 379232 + from http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_misdn.c, /: chan_misdn: Fix compile error. (issue + ASTERISK-15456) ........ Merged revisions 379226 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379230 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-16 17:46 +0000 [r379144-379229] Matthew Jordan + + * /, res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd: Let + documentation reference links specify which module they're + linking to Again, since res_jabber/res_xmpp have duplicate APIs, + their documentation ref links have to specify which reference + they're referring to. The various documentation parsers can + interpret the module attribute however they want in order to + construct the appropriate links. ........ Merged revisions 379228 + from http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd, /: Multiple + revisions 379209-379210 ........ r379209 | mjordan | 2013-01-16 + 09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines Add module tags to + documentation for res_jabber/res_xmpp Since res_jabber/res_xmpp + provide the same APIs (app/func/manager/etc.), the XML + documentation for each needs to call out which module is + providing the documentation. The module attribute has been added + to the various XML fragments for this purpose. ........ r379210 | + mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines + Update the dtd to actually *support* the module attribute in all + elements Mea culpa. ........ Merged revisions 379209-379210 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, addons/chan_mobile.c: Fix parsing SMSSRC for SMS messages The + parser for SMS messages would incorrectly parse out the from + number. The parsing would incorrectly start scanning for the from + number at the same index as the first double quote ("); this + would inadvertently cause it to treat the first double quote as + the terminating double quote for the from number as well. The + SMSSRC should now populate correctly. (closes issue + ASTERISK-16822) Reported by: menschentier Tested by: Jonas Falck + patches: fixSMSSRC.patch uploaded by jonax (license 6320) (closes + issue ASTERISK-19153) Reported by: Panos Gkikakis patches: + sms-sender-fix.diff uploaded by roeften (license 5884) ........ + Merged revisions 379178 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379179 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_misdn.c, /: Set the INVALID_EXTEN channel variable + when chan_misdn forces the 'i' extension The chan_misdn channel + driver will send a channel with an invalid destination to the 'i' + extension itself if said extension can be reached. It forgot, + however, to set the INVALID_EXTEN channel variable when it + bounces the channel to this extension. Dialplan writers + everywhere moaned at yet another inconsistency. This is yet + another example of why duplicating logic in multiple places + results in bugs that stick around in Jira for just under three + years. Yes: ASTERISK-15456 was created on January 18th, 2010. + Patch committed on January 15th, 2013. Ouch. (closes issue + ASTERISK-15456) Reported by: Thomas Omerzu patches: + chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license + 5927) ........ Merged revisions 379145 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379146 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * CHANGES, addons/chan_mobile.c: Add busy detection to chan_mobile + From the patch author: "First this patch adds general support for + busy detection. It also adds support for the ECAM command at Sony + Ericsson phones and also signals busy when only early media was + received but the call got not answered." Review: + https://reviewboard.asterisk.org/r/323 (closes issue + ASTERISK-14527) Reported by: Artem Makhutov Tested by: Artem + Makhutov patches: busy-full5.patch uploaded by artem (license + 5757) + +2013-01-15 22:23 +0000 [r379128] Richard Mudgett + + * main/bridging.c: Fix ast_bridge_features_register() not + registering builtin features. I broke. Ooops. + +2013-01-14 21:47 +0000 [r379021-379070] David M. Lee + + * include/asterisk/test.h: Fixed doc comment for ast_test_validate + + * UPGRADE.txt, include/asterisk/manager.h, main/channel.c: Gently + reduce masquerade insanity Masquerades are an insane + implementation detail within Asterisk. It generates a number of + useless and confusing events, and manipulates channels in a way + that semantically doesn't make sense. I've given a fairly + thorough review of masquerade code and its usage on the wiki at + https://wiki.asterisk.org/wiki/x/IwBRAQ. While ultimately it + makes the most sense to abandon masquerades altogether, it will + take some time to completely irradicate. Even then, there may + always be code that's not worth rewriting to get rid of the + masquerade. This patch does two things to make masquerades + slightly less insane: * When swapping the names of the original + and clone channel, only emit a single rename event of original -> + original. The original code issued three rename events to + accomplish the same end. * In addition to swapping the names of + the channels, also swap their uniqueid's. This allows the + 'Uniqueid' field to be used as a stable identifier for a channel + from and external interface, such as AMI. Review: + https://reviewboard.asterisk.org/r/2266/ + + * /, channels/chan_sip.c: Fix XML encoding of 'identity display' in + NOTIFY messages, continued. When r378933 was merged into 1.8, it + should have also escaped remote_display, since it will have the + same XML encoding problem when the caller/callee roles are + reversed. (closes issue ABE-2902) Reported by: Guenther Kelleter + ........ Merged revisions 379001 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 379020 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-13 22:07 +0000 [r378985] Matthew Jordan + + * res/res_rtp_asterisk.c, /: Reset RTP timestamp; sequence number + on SSRC change In r370252 for ASTERISK-18404, Asterisk's handling + of RTP was modified to better account for out of order RTP + packets. This was accomplished by using the RTP timestamp and + sequence number to check for out of order packets. However, when + a SSRC change occurs, the timestamp and sequence number will no + longer have any relation to the previously received packets. The + variables tracking the timestamp and sequence number therefore + have to be reset. (closes issue ASTERISK-20906) Reported by: + Eelco Brolman patches: dtmf_on_hold.patch uploaded by Eelco + Brolman (license #6442) ........ Merged revisions 378967 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378984 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-12 06:43 +0000 [r378935] David M. Lee + + * tests/test_xml_escape.c (added), main/utils.c, + include/asterisk/utils.h, /, channels/chan_sip.c: Fix XML + encoding of 'identity display' in NOTIFY messages. XML encoding + in chan_sip is accomplished by naively building the XML directly + from strings. While this usually works, it fails to take into + account escaping the reserved characters in XML. This patch adds + an 'ast_xml_escape' function, which works similarly to + 'ast_uri_encode'. This is used to properly escape the + local_display attribute in XML formatted NOTIFY messages. Several + things to note: * The Right Thing(TM) to do would probably be to + replace the ast_build_string stuff with building an ast_xml_doc. + That's a much bigger change, and out of scope for the original + ticket, so I refrained myself. * It is with great sadness that I + wrote my own ast_xml_escape function. There's one in libxml2, but + it's knee-deep in libxml2-ness, and not easily used to one-off + escape a string. * I only escaped the string we know is causing + problems (local_display). At least some of the other strings are + URI-encoded, which should be XML safe. Rather than figuring out + what's safe and escaping what's not, it would be much cleaner to + simply build an ast_xml_doc for the messages and let the XML + library do the XML escaping. Like I said, that's out of scope. + (closes issue ABE-2902) Reported by: Guenther Kelleter Tested by: + Guenther Kelleter Review: + http://reviewboard.digium.internal/r/365/ ........ Merged + revision 378919 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier + ........ Merged revisions 378933 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378934 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-11 23:05 +0000 [r378918] Joshua Colp + + * res/res_xmpp.c, /: Retain XMPP filters across reconnections so + external modules continue to function as expected. Previously if + an XMPP client reconnected any filters added by an external + module were lost. This issue exhibited itself with chan_motif not + receiving and reacting to Jingle signaling. (closes issue + ASTERISK-20916) Reported by: kuj ........ Merged revisions 378917 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-11 22:31 +0000 [r378915] David M. Lee + + * res/res_json.exports.in (added), configure.ac, + include/asterisk/json.h (added), makeopts.in, tests/test_json.c + (added), contrib/scripts/install_prereq, res/res_json.c (added), + include/asterisk/test.h, build_tools/menuselect-deps.in, + configure, include/asterisk/autoconfig.h.in, main/Makefile: Add + JSON API for Asterisk. This provides a JSON API by pulling in and + wrapping the Jansson JSON library[1]. The Asterisk API basically + mirrors the Jansson functionality, with a few minor tweaks. * + Some names have been asteriskified to protect the innocent. * + Jansson provides both reference-stealing and reference-borrowing + versions of several API's. The Asterisk API is exclusively + reference-stealing for operations that put elements into arrays + and objects. * No support for doubles, since we usually don't + need that. * Coming along for the ride is the ast_test_validate + macro, which made the unit tests much easier to write. [1]: + http://www.digip.org/jansson/ (issue ASTERISK-20887) (closes + issue ASTERISK-20888) Review: + https://reviewboard.asterisk.org/r/2264/ + +2013-01-10 02:40 +0000 [r378789-378889] Richard Mudgett + + * main/channel.c: * Simplify native bridge code in + ast_channel_bridge(). * Fix an unbalanced + manager_bridge_event(unlink) call if AST_SOFTHANGUP_UNBRIDGE is + set in ast_channel_bridge(). * Make ast_channel_bridge() use + common cleanup code when leaving the bridge. + + * main/channel.c: * Removed some noop code and restructured an + else-if ladder in ast_generic_bridge(). * Trivial changes in + ast_channel_bridge(). + + * main/channel.c: * Simple optimization of bridge_playfile(). * + Squeezed some redundancy out of update_bridge_vars(). * Wrapped + long line in __ast_change_name_nolink(). + + * bridges/bridge_softmix.c, bridges/bridge_multiplexed.c: Trivial + misc bridge code changes. * softmix_bridge_thread() was + redundantly initializing an 8K buffer. * Promoted a debug message + to a warning in multiplexed_add_or_remove(). + + * main/logger.c: Fix logger.c function definition. + + * main/bridging.c, include/asterisk/bridging_features.h, + bridges/bridge_simple.c, bridges/bridge_multiplexed.c: Trivial + misc bridge code changes. + + * main/test.c, include/asterisk/test.h: Tweaked + __ast_test_suite_assert_notify() and + __ast_test_suite_event_notify() to be void functions. + + * main/test.c, include/asterisk/test.h: * Whitespace changes. * + Made ast_test_init() match its prototype. + + * main/udptl.c, main/rtp_engine.c: * Found some more places to use + ast_channel_lock_both(). * Minor optimization in + ast_rtp_instance_early_bridge(). + +2013-01-09 20:30 +0000 [r378735-378783] David M. Lee + + * main/rtp_engine.c, /: Fix end condition in + ast_rtp_lookup_mime_multiple2. The erroneous end condition would + never include the AST_RTP_CISCO_DTMF flag in the debug output. + (closes issue ASTERISK-20772) Reported by: Xavier Hienne ........ + Merged revisions 378776 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378780 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * include/asterisk/strings.h, /: Move declaration of + ast_regex_string_to_regex_pattern futher down strings.h. The + prior location is before the declaration of struct ast_str, which + causes compiler warnings. (closes issue ASTERISK-20852) Reported + by: Pavel Troller Patches: strings.diff uploaded by Pavel Troller + (license 6302) ........ Merged revisions 378747 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, include/asterisk/causes.h: Replace errant tabs with spaces in + causes.h. (closes issue ASTERISK-20826) Reported by: snuffy + Patches: notabs.dif uploaded by snuffy (license 5024) ........ + Merged revisions 378733 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378734 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-09 00:05 +0000 [r378688-378691] Richard Mudgett + + * /, apps/app_queue.c: app_queue: Fix incorrect assertion. (issue + ASTERISK-16115) ........ Merged revisions 378689 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378690 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, configs/queues.conf.sample, UPGRADE.txt, CHANGES, + apps/app_queue.c: app_queue: Fix multiple calls to a queue member + that is in only one queue. When ringinuse=no queue members can + receive more than one call if these calls happen at nearly the + same time. * Fix so a queue member does not receive more than one + call from a queue. NOTE: This fix does not prevent multiple calls + to a member if the member is in more than one queue. * Did some + refactoring to eliminate some code redundancy. (issue + ASTERISK-16115) Reported by: nik600 Patches: + jira_asterisk_16115_single_q_v1.8.patch (license #5621) patch + uploaded by rmudgett Modified * Revert the -r341580 and -r341599 + changes adding the queues.conf check_state_unknown option as it + was added in an attempt to fix this problem. The fix did not need + to be optional. The fix should not have tried to explicitly set + the device state. Setting the device state by something other + than the device introduces a race condition. I also could not see + how the change would be effective other than delaying the + app_queue code long enough for the device state to propagate to + app_queue. ........ Merged revisions 378663 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378683 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378687 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-06 21:37 +0000 [r378623-378634] Damien Wedhorn + + * channels/chan_skinny.c: Skinny blob cleanup Cleanup of red blobs + in chan_skinny and possible other small formatting issues. + Review: https://reviewboard.asterisk.org/r/2262/ + + * channels/chan_skinny.c: Add group and namedgroup pickup to skinny + Above says it all. Code by snuff, cleaned up by me. Review: + https://reviewboard.asterisk.org/r/2246/ + + * /, channels/chan_skinny.c: Rewrite skinny dialing to remove + threaded simpleswitch This rewrite changes skinny dialing from + the threaded simpleswitch to a scheduled timeout approach. There + were some underlying issues with the threaded simple switch with + occasional corruption and possible segfaults. Review: + https://reviewboard.asterisk.org/r/2240/ ........ Merged + revisions 378622 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-04 23:14 +0000 [r378593] Jonathan Rose + + * res/res_srtp.c, /: res_srtp: Prevent a crash from occurring due + to srtp_create failures in srtp_create Under some circumstances, + libsrtp's srtp_create function deallocates memory that it wasn't + initially responsible for allocating. Because we weren't + initially aware of this behavior, this memory was still used in + spite of being unallocated during the course of the + srtp_unprotect function. A while back I made a patch which would + set this value to NULL, but that exposed a possible condition + where we would then try to check a member of the struct which + would cause a segfault. In order to address these problems, + ast_srtp_unprotect will now set an error value when it ends + without a valid SRTP session which will result in the caller of + srtp_unprotect observing this error and hanging up the relevant + channel instead of trying to keep using the invalid session + address. (closes issue ASTERISK-20499) Reported by: Tootai + Review: + https://reviewboard.asterisk.org/r/2228/diff/#index_header + ........ Merged revisions 378591 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378592 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-04 22:19 +0000 [r378585] Kinsey Moore + + * res/pjproject/build/common.mak, res/pjproject/aconfigure, + res/pjproject/aconfigure.ac, /: Fix pjproject compilation in + certain circumstances On a fresh checkout of Asterisk 11, running + make before ./configure could cause the pjproject subdirectory to + get in an odd state that would prevent compilation. This patch by + Tilghman prevents that from occurring. (closes issue + ASTERISK-20681) Reported by: Dinesh Ramjuttun Tested by: danilo + borges, Steve Lang patches: 20121208__ccar_solved.diff.txt + uploaded by Tilghman Lesher (license 5003) ........ Merged + revisions 378582 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-04 21:20 +0000 [r378565] Michael L. Young + + * /, channels/chan_sip.c: Fix SIP Notify Messages To Have The + Proper IP Address In The FROM Field On a multihomed server when + sending a NOTIFY message, we were not figuring out which network + should be used to contact the peer. This patch fixes the problem + by calling ast_sip_ouraddrfor() and then build_via() so that our + NOTIFY message contains the correct IP address. Also, a debug + message is being added to help follow the call-id changes that + occur. This was helpful for confirming that the IP address was + set properly since the call-id contains the IP address. It also + will be helpful for troubleshooting purposes when following a + call in the debug logs. (closes issue ASTERISK-20805) Reported + by: Bryan Hunt Tested by: Bryan Hunt, Michael L. Young Patches: + asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young + (license 5026) Review: https://reviewboard.asterisk.org/r/2255/ + ........ Merged revisions 378554 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378559 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-04 21:18 +0000 [r378557] Joshua Colp + + * res/res_rtp_asterisk.c, /: Don't pass STUN packets through the + SRTP unprotect function. (closes issue AST-1036) Reported by: + jbigelow ........ Merged revisions 378553 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378555 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-04 16:44 +0000 [r378543] Andrew Latham + + * res/res_config_ldap.c: Doxygen Cleanups Baseline clean up of + formating to make room for extended documentation (issue + ASTERISK-20259) + +2013-01-03 22:14 +0000 [r378516] Michael L. Young + + * /, apps/app_queue.c: Fix Queue Log Reporting Every Call + COMPLETECALLER With "h" Extension Present When the "h" extension + is present within the context of the queue, all calls are being + reported COMPLETECALLER even when the agent is hanging up the + call. This patch checks to see if the agent hung-up or not + instead of only relying on checking if the queue (caller) channel + hung-up or not. It would appear that having the h extension in + the mix, the pbx goes to the h extension, "hanging-up" the queue + channel and triggering the reporting of COMPLETECALLER. (closes + issue ASTERISK-20743) Reported by: call Tested by: call, Michael + L. Young Patches: asterisk-20743-q-cmplt-caller.diff uploaded by + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2256/ ........ Merged + revisions 378514 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378515 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-03 19:42 +0000 [r378488] Richard Mudgett + + * /, channels/chan_agent.c: chan_agent: Fix wrapup time wait + response. * Made agent_cont_sleep() and agent_ack_sleep() stop + waiting if the wrapup time expires. agent_cont_sleep() had tried + but returned the wrong value to stop waiting. * Made + agent_ack_sleep() take a struct agent_pvt pointer instead of a + void pointer for better type safety. ........ Merged revisions + 378486 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 378487 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-03 18:51 +0000 [r378460] Kinsey Moore + + * main/channel.c, /: Add missing test event This test event was + missing from channel.c causing the dial_LS_options test to fail + intermittently because of a race condition where most code paths + emitted the test event but this one did not. The dial_LS_options + test should stop bouncing now. ........ Merged revisions 378455 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 378459 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-03 18:47 +0000 [r378429-378458] Richard Mudgett + + * channels/chan_agent.c, /: chan_agent: Misc code cleanup. * Fix + off-nominal path resource cleanup in agent_request(). * Create + agent_pvt_destroy() to eliminate inlined versions in many places. + * Pull invariant code out of loop in add_agent(). * Remove + redundant module user references in login_exec(). * Remove unused + struct agent_pvt logincallerid[] member. ........ Merged + revisions 378456 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378457 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_agent.c: chan_agent: Fix agent_indicate() + locking. Avoid deadlock potential with local channels and + simplify the locking. ........ Merged revisions 378427 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378428 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-03 16:04 +0000 [r378414] Tilghman Lesher + + * configs/voicemail.conf.sample, apps/app_directory.c, + contrib/realtime/mysql/voicemail.sql: Add aliases to the + Directory. This is an interesting feature that allows additional + strings to be used to search the Directory, primarily intended to + be used with nicknames, but could be used with affiliations and + the like. Because the name field is used in more than one place + (such as email notifications), it is important that these + additional strings not be placed in the name field, but be + specified separately. Review: + https://reviewboard.asterisk.org/r/2244/ + +2013-01-03 15:40 +0000 [r378412] Joshua Colp + + * res/res_xmpp.c, /: Prevent exhaustion of system resources through + exploitation of event cache This patch changes res_xmpp to no + longer cache events under certain circumstances. (issue + ASTERISK-20175) Reported by: Russell Bryant, Leif Madsen, Joshua + Colp Tested by: kmoore ........ Merged revisions 378411 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-03 15:37 +0000 [r378377-378410] Matthew Jordan + + * /, res/res_xmpp.c: Prevent crashes in res_xmpp when receiving + large messages Similar to r378287, res_xmpp was marshaling data + read from an external source onto the stack. For a sufficiently + large message, this could cause a stack overflow. This patch + modifies res_xmpp in a similar fashion to res_jabber by removing + the stack allocation, as it was unnecessary. (issue + ASTERISK-20658) Reported by: wdoekes ........ Merged revisions + 378409 from http://svn.asterisk.org/svn/asterisk/branches/11 + + * addons/app_mysql.c: Clean up app_mysql's application entry points + to properly parse arguments When parsing arguments, application + entry points should not attempt to directly modify the parameters + to the function. This patch properly duplicates the passed in + parameters before attempting to parse them. (issue + ASTERISK-20658) Reported by: wdoekes patches: + issueA20658_sanitize_app_mysql.patch uploaded by wdoekes (license + 5674) + + * main/config.c, funcs/func_realtime.c, /: Prevent crashes from + occurring when reading from data sources with large values When + reading configuration data from an Asterisk .conf file or when + pulling data from an Asterisk RealTime backend, Asterisk was + copying the data on the stack for manipulation. Unfortunately, it + is possible to read configuration data or realtime data from some + data source that provides a large blob of characters. This could + potentially cause a crash via a stack overflow. This patch + prevents large sets of data from being read from an ARA backend + or from an Asterisk conf file. (issue ASTERISK-20658) Reported + by: wdoekes Tested by: wdoekes, mmichelson patches: * + issueA20658_dont_process_overlong_config_lines.patch uploaded by + wdoekes (license 5674) * issueA20658_func_realtime_limit.patch + uploaded by wdoekes (license 5674) ........ Merged revisions + 378375 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 378376 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-02 21:23 +0000 [r378374] Richard Mudgett + + * main/manager.c, /, main/features.c, include/asterisk/channel.h: + Fix AMI redirect action with two channels failing to redirect + both channels. The AMI redirect action can fail to redirect two + channels that are bridged together. There is a race between the + AMI thread redirecting the two channels and the bridge thread + noticing that a channel is hungup from the redirects. * Made the + bridge wait for both channels to be redirected before exiting. * + Made the AMI redirect check that all required headers are present + before proceeding with the redirection. * Made the AMI redirect + require that any supplied ExtraChannel exist before proceeding. + Previously the code fell back to a single channel redirect + operation. (closes issue ASTERISK-18975) Reported by: Ben Klang + (closes issue ASTERISK-19948) Reported by: Brent Dalgleish + Patches: jira_asterisk_19948_v11.patch (license #5621) patch + uploaded by rmudgett Tested by: rmudgett, Thomas Sevestre, Deepak + Lohani, Kayode Review: https://reviewboard.asterisk.org/r/2243/ + ........ Merged revisions 378356 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378358 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-02 18:11 +0000 [r378288-378322] Matthew Jordan + + * main/channel_internal_api.c, channels/chan_agent.c, + main/devicestate.c, include/asterisk/channel.h, res/res_jabber.c, + apps/app_queue.c, channels/chan_iax2.c, main/channel.c, + channels/chan_dahdi.c, channels/chan_skinny.c, + include/asterisk/event_defs.h, main/features.c, main/event.c, + apps/app_confbridge.c, apps/confbridge/conf_state_empty.c, + funcs/func_devstate.c, res/res_calendar.c, + include/asterisk/devicestate.h, channels/chan_local.c, /, + main/ccss.c, channels/chan_sip.c, apps/app_meetme.c: Prevent + exhaustion of system resources through exploitation of event + cache Asterisk maintains an internal cache for devices in the + event subsystem. The device state cache holds the state of each + device known to Asterisk, such that consumers of device state + information can query for the last known state for a particular + device, even if it is not part of an active call. The concept of + a device in Asterisk can include entities that do not have a + physical representation. One way that this occurred was when + anonymous calls are allowed in Asterisk. A device was + automatically created and stored in the cache for each anonymous + call that occurred; this was possible in the SIP and IAX2 channel + drivers and through channel drivers that utilized the + res_jabber/res_xmpp resource modules (Gtalk, Jingle, and Motif). + These devices are never removed from the system, allowing + anonymous calls to potentially exhaust a system's resources. This + patch changes the event cache subsystem and device state + management to no longer cache devices that are not associated + with a physical entity. (issue ASTERISK-20175) Reported by: + Russell Bryant, Leif Madsen, Joshua Colp Tested by: kmoore + patches: event-cachability-3.diff uploaded by jcolp (license + 5000) ........ Merged revisions 378303 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378320 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378321 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/http.c, res/res_jabber.c, channels/sip/include/sip.h, /, + channels/chan_sip.c: Resolve crashes due to large stack + allocations when using TCP Asterisk had several places where + messages received over various network transports may be copied + in a single stack allocation. In the case of TCP, since multiple + packets in a stream may be concatenated together, this can lead + to large allocations that overflow the stack. This patch modifies + those portions of Asterisk using TCP to either favor heap + allocations or use an upper bound to ensure that the stack will + not overflow: * For SIP, the allocation now has an upper limit * + For HTTP, the allocation is now a heap allocation instead of a + stack allocation * For XMPP (in res_jabber), the allocation has + been eliminated since it was unnecesary. Note that the HTTP + portion of this issue was independently found by Brandon Edwards + of Exodus Intelligence. (issue ASTERISK-20658) Reported by: + wdoekes, Brandon Edwards Tested by: mmichelson, wdoekes patches: + ASTERISK-20658_res_jabber.c.patch uploaded by mmichelson (license + 5049) issueA20658_http_postvars_use_malloc2.patch uploaded by + wdoekes (license 5674) issueA20658_limit_sip_packet_size3.patch + uploaded by wdoekes (license 5674) ........ Merged revisions + 378269 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 378286 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378287 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2013-01-01 19:02 +0000 [r378259] Andrew Latham + + * contrib/scripts/install_prereq: Add UUID packages now required to + configure In ASTERISK-20726 UUID was added to Asterisk. This + commit is to add the dependancies to the install script + +2013-01-01 17:10 +0000 [r378248-378249] Sean Bright + + * main/translate.c: Revert 378248. I changed the logic of this + function unitentionally, pointed out by file. + + * main/translate.c: Bail out early when building an ast_trans_pvt + and the translator doesn't supply a 'newpvt' + +2012-12-31 14:46 +0000 [r378220] Kinsey Moore + + * /, channels/chan_sip.c: Ensure chan_sip rejects encrypted streams + without crypto info This ensures that Asterisk rejects encrypted + media streams (RTP/SAVP audio and video) that are missing + cryptographic keys and ensures that the incoming SDP is + consistent with RFC4568 as far as having a crypto attribute + present for any SAVP streams. Review: + https://reviewboard.asterisk.org/r/2204/ ........ Merged + revisions 378217 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378218 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378219 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-20 21:51 +0000 [r378166] Richard Mudgett + + * /, main/channel.c: Give the causes[] a struct name. ........ + Merged revisions 378164 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378165 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-18 17:48 +0000 [r378122] Kinsey Moore + + * main/channel.c, /: Add test events for time limit-related hangups + This patch adds hangup-related test events in order to support + testing of time-limited bridges. This aids in testing the S() and + L() bridge options. (issue SWP-4713) ........ Merged revisions + 378119 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 378120 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378121 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-17 23:10 +0000 [r378081-378095] Richard Mudgett + + * /, main/loader.c: Fix potential double free when unloading a + module. ........ Merged revisions 378092 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378093 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378094 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_local.c, /: Make chan_local module references tied + to local_pvt lifetime. The chan_local module references were + manually tied to the existence of the ;1 and ;2 channel links. * + Made chan_local module references tied to the existence of the + local_pvt structure as well as automatically take care of the + module references. * Tweaked the wording of the local_fixup() + failure warning message to make sense. Review: + https://reviewboard.asterisk.org/r/2181/ ........ Merged + revisions 378088 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378089 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378090 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_local.c: chan_local: Parse dial string + consistently. * Fix local_alloc() unexpected limitation of exten + and context length from a combined length of 80 characters to a + normal 80 characters each. * Made local_alloc() and + local_devicestate() parse the same way. + +2012-12-17 20:59 +0000 [r378074] Jason Parker + + * /, main/Makefile: Make libasteriskssl.so symlink use a relative + path. This was causing issues when using DESTDIR, since the path + to which the link pointed is not likely to exist (and not useful + to exist) on the target system. (issue ASTNOW-284) ........ + Merged revisions 378073 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-17 20:34 +0000 [r378072] Richard Mudgett + + * channels/chan_local.c: chan_local: Misc lock and ref tweaks. * + awesome_locking() does not need to thrash the pvt lock as much. * + local_setoption() does not need to check for NULL pvt on cleanup + since it will never be NULL. * Made ref the pvt before locking + for consistency. + +2012-12-14 22:45 +0000 [r378064] Richard Mudgett + + * channels/chan_agent.c: chan_agent: Remove some duplicated code. + No need to check for an agent twice. Santa does that. + +2012-12-14 22:34 +0000 [r378063] Jonathan Rose + + * main/features.c, UPGRADE.txt, CHANGES: Features: BRIDGE_FEATURES + variable automixmonitor support and use proper party + BRIDGE_FEATURES did not previously support the automixmonitor + feature. Now it does. In addition, the BRIDGE_FEATURES variable + would not apply features to the proper party based on whether the + feature option letter was in caps or in lowercase (both ways + would apply it to the caller). Now uppercase applies to the + caller while lowercase applies to the callee (like with the dial + option) + +2012-12-14 21:35 +0000 [r378029-378039] Richard Mudgett + + * /, apps/app_queue.c: app_queue: Revert bad ringinuse=no patch. + With the option ringinuse=no set, the patch committed for + ASTERISK-16115 causes non-SIP queue members to never be called + because the device state is checked after a channel is created to + determine if the member is busy. These queue members always get + the "Member %s is busy, cannot dial" message. Most channel + drivers other than chan_sip use the default device state + handling. The default device-state state is considered in use or + unknown if the channel exists or not respectively. (closes issue + ASTERISK-20801) Reported by: rmudgett Patches: + jira_asterisk_16115_revert_r370418_v1.8.patch (license #5621) + patch uploaded by rmudgett ........ Merged revisions 378036 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 378037 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 378038 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_queue.c: app_queue: Make update_status() not return + anything. + +2012-12-14 01:55 +0000 [r378006-378011] Damien Wedhorn + + * /, channels/chan_skinny.c: Fix skinny to recognise vmexten in + general section of conf Fixup the vmexten so if globally set in + general section will be honored by chan_skinny. Also get rid of + the 'global_' part of variable name to match regexten. (closes + issue ASTERISK-20790) Reported by: snuffy Tested by: snuffy, + myself Patches: skinny-vm.diff uploaded by snuffy (license 5024) + ........ Merged revisions 378010 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_skinny.c: Add g722 codec support to skinny (closes + issue ASTERISK-20788) Reported by: snuffy Tested by: snuffy, + myself Patches: skinny-g722.diff uploaded by snuffy (license + 5024) + +2012-12-13 21:28 +0000 [r378002] Richard Mudgett + + * apps/confbridge/conf_state_multi_marked.c, + apps/confbridge/conf_state.c, /, + apps/confbridge/include/confbridge.h, + include/asterisk/bridging.h, apps/app_confbridge.c: confbridge: + Fix MOH on simultaneous user entry to a new conference. When two + users entered a new conference simultaneously, one of the callers + hears MOH. This happened if two unmarked users entered + simultaneously and also if a waitmarked and a marked user entered + simultaneously. * Created a confbridge internal MOH API to + eliminate the inlined MOH handling code. Note that the conference + mixing bridge needs to be locked when actually starting/stopping + MOH because there is a small window between the conference join + unsuspend MOH and actually joining the mixing bridge. * Created + the concept of suspended MOH so it can be interrupted while + conference join announcements to the user and DTMF features can + operate. * Suspend any MOH until the user is about to actually + join the mixing bridge of the conference. This way any pre-join + file playback does not need to worry about MOH. * Made post-join + actions only play deferred entry announcement files. Changing the + user/conference state during that time is not protected or + controlled by the state machine. (closes issue ASTERISK-20606) + Reported by: Eugenia Belova Tested by: rmudgett Review: + https://reviewboard.asterisk.org/r/2232/ ........ Merged + revisions 377992 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377993 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-13 21:25 +0000 [r378001] Damien Wedhorn + + * /, channels/chan_skinny.c: Minor fixes for chan_skinny + Whitespace, change SUBSTATE_ONHOOK to correct SKINNY_ONHOOK and + correct len of 2 strcmp in skinny_setdebug(). (see opticron's + review on https://reviewboard.asterisk.org/r/2240/) ........ + Merged revisions 377991 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-13 21:20 +0000 [r378000] Sean Bright + + * res/res_calendar_exchange.c: Make generate_exchange_uuid() always + return the passed ast_str pointer. I changed this code earlier to + return NULL if it wasn't able to generate a UUID, whereas the + earlier code would always return the ast_str that was passed in. + Switch back to returning the ast_str, only set it to the empty + string instead if UUID generation fails. We still do a validity + check later which will catch this and blow up if necessary. + +2012-12-13 21:15 +0000 [r377994] David M. Lee + + * /: Fixed svn merge property breakage from r377986 + +2012-12-13 18:28 +0000 [r377986] Damien Wedhorn + + * /, channels/chan_skinny.c: Fix skinny debug tab completion Review + the syntax of the 'skinny debug' command to show more than just + 'show' for options to 'skinny debug' command. (closes issue + ASTERISK-20789) Reported by: snuffy Tested by: snuffy, myself + Patches: skinny-debug.diff uploaded by snuffy (license 5024) + ........ Merged revisions 377985 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-13 16:43 +0000 [r377981] David M. Lee + + * configure, include/asterisk/autoconfig.h.in, configure.ac: Bail + configure if it can't find libuuid. + +2012-12-13 16:18 +0000 [r377977] Russell Bryant + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + main/utils.c: Remove compile time check HAVE_DEV_URANDOM. The + code was doing a runtime check, anyway. The compile time check + isn't always valid (cross-compiling, packages). Review: + https://reviewboard.asterisk.org/r/2245/ + +2012-12-13 15:40 +0000 [r377975] Mark Michelson + + * main/taskprocessor.c: Re-add taskprocessor cleanup code that was + removed by the UUID merge. + +2012-12-13 15:37 +0000 [r377974] Sean Bright + + * res/res_calendar_exchange.c: Use the UUID API to generate and + validate UUIDs for res_calendar_exchange. Currently the + res_calendar_exchange module uses its own method of generating + UUIDs using ast_random(). Now that we have a UUID API we should + use that instead. + +2012-12-13 15:37 +0000 [r377973] Mark Michelson + + * res/res_clialiases.c: The UUID commit removed changes made in + res_clialiases.c This puts back in the changes that are designed + to work around a memory leak fix in the CLI code. + +2012-12-13 15:24 +0000 [r377972] David M. Lee + + * configure, include/asterisk/autoconfig.h.in, configure.ac: Fixed + configure.ac to look for proper uuid.h file Introduced in + r377846, the configure script was looking for uuid.h instead of + uuid/uuid.h. + +2012-12-13 15:22 +0000 [r377971] Brent Eagles + + * channels/chan_sip.c, configs/sip.conf.sample, + channels/sip/include/sip.h: This change adds a SIP peer + configuration feature to allow the peer's configured codecs to + take precedence on an outgoing call. This change introduces a new + peer configuration property named 'ignore_requested_pref' that + causes the requested codec to be ignored when determining the + preferred codec for an outgoing call leg. The consequence is that + Asterisk's usual efforts to prefer avoiding transcoding can be + overridden on a peer-by-peer basis where appropriate. + +2012-12-13 14:28 +0000 [r377966] Kinsey Moore + + * /, channels/chan_sip.c: Ensure Min-SE is included in outbound + INVITEs Asterisk now includes Min-SE in outbound INVITEs when the + value is not 90 (the default) and session timers are not + disabled. This has the effect of Asterisk following RFC4028 more + closely with regard to 422 responses and preventing situations in + which Asterisk would be forced to temporarily accept a call to + tear it down based on a Session-Expires below the locally + configured Min-SE. (issue SWP-5051) Review: + https://reviewboard.asterisk.org/r/2222/ Reported-by: Kinsey + Moore Patch-by: Kinsey Moore ........ Merged revisions 377946 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 377947 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377948 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-12 22:43 +0000 [r377925] Rusty Newton + + * /, sounds/Makefile: Incremented EXTRA_SOUNDS_VERSION in + sounds/Makefile to 1.4.12 for new Extra Sounds releases See + CHANGES-* files in English extra 1.4.12 tarballs for new sound + prompts added. (closes ASTERISK-20328) Reported by: Matt Jordan + (closes AST-755) Reported by: John Bigelow ........ Merged + revisions 377922 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377923 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377924 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-12 04:43 +0000 [r377915] Michael L. Young + + * main/features.c: Convert Dynamic Features Buffer To Use ast_str + Currently, the buffer for the dynamic features list is set to a + fixed size of 128. If the list is bigger than that, it results in + the dynamic feature(s) not being recognized. This patch changes + the buffer from a fixed size to a dynamic one. (closes issue + ASTERISK-20680) Reported by: Clod Patry Tested by: Michael L. + Young Patches: asterisk-20680-dynamic-features-v2.diff uploaded + by Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2221/ + +2012-12-12 00:02 +0000 [r377906-377911] Mark Michelson + + * /, channels/chan_sip.c: Fix a potential deadlock in chan_sip + during transfers. The issue comes from the fact that transfers + may perform a redirecting update on a channel. The issue is that + lock inversion between the channel and its tech_pvt occurs since + the channel lock is released during the transfer process. The fix + is to move when the redirecting update occurs to a place where + neither the tech_pvt or the channel is locked so that the two can + be locked in the proper order. (closes issue ASTERISK-20708) + reported by Mark Michelson patches: ASTERISK-20708-3.patch + uploaded by Mark Michelson (License #5049) Tested by: Tim + Ringenbach at Asteria Solutions Group ........ Merged revisions + 377910 from http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/features.c: Add test events necessary for bridging tests to + be able to properly run. + +2012-12-11 22:03 +0000 [r377884] Richard Mudgett + + * main/aoc.c, main/image.c, main/cel.c, main/timing.c, + main/channel.c, main/data.c, main/stun.c, /, main/file.c, + main/http.c: Cleanup CLI commands on exit for several files. + (issue ASTERISK-20649) Reported by: Corey Farrell Patches: + unregister-cli-multiple-all.patch (license #5909) patch uploaded + by Corey Farrell ........ Merged revisions 377881 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377882 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377883 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-11 21:53 +0000 [r377878-377880] Mark Michelson + + * /: And remove svnmerge-integrated property. + + * /: Remove automerge properties. + +2012-12-11 21:22 +0000 [r377867] Richard Mudgett + + * main/udptl.c, /: Cleanup udptl on exit. * Cleanup CLI commands on + exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: + udptl-shutdown-1_8-10.patch (license #5909) patch uploaded by + Corey Farrell udptl-shutdown-11-trunk.patch (license #5909) patch + uploaded by Corey Farrell Modified ........ Merged revisions + 377847 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377848 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377849 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-11 21:04 +0000 [r377844-377846] Mark Michelson + + * /, configure, include/asterisk/autoconfig.h.in, main/Makefile, + configure.ac, include/asterisk/uuid.h (added), + main/taskprocessor.c, tests/test_uuid.c (added), main/asterisk.c, + main/uuid.c (added), res/res_clialiases.c: Add UUID support to + Asterisk. This provides a common API for dealing with unique + identifiers. The API provides methods to create, parse, copy, and + stringify UUIDs. An accompanying unit test is provided that tests + all operations. (closes issue ASTERISK-20726) reported by Matt + Jordan Review: https://reviewboard.asterisk.org/r/2217 + + * res/res_clialiases.c, /: Fix crash that can occur if CLI + registration fails for an aliased command. A recent memory leak + fix in main/cli.c causes an ast_cli_entry's command field to be + freed and NULLed if ast_cli_register() fails. res_clialiases was + ignoring the return value of ast_cli_register() and was then + passing the NULL command off to a a hash function. This resulted + in a crash. The fix is not to ignore the erroneous return value. + If ast_cli_register() fails, then we do not continue trying to + process the current alias. ........ Merged revisions 377840 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377842 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377843 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-11 20:46 +0000 [r377707-377841] Richard Mudgett + + * main/taskprocessor.c, /: Cleanup taskprocessor on exit. * Cleanup + CLI commands on exit. (issue ASTERISK-20649) Reported by: Corey + Farrell Patches: taskprocessor-cleanup-1_8-11-trunk.patch + (license #5909) patch uploaded by Corey Farrell + taskprocessor-cleanup-10-only.patch (license #5909) patch + uploaded by Corey Farrell Modified ........ Merged revisions + 377837 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377838 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377839 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/pbx.c, /: Cleanup pbx on exit. * Cleanup CLI commands on + exit. * Unreference hints and statecbs containers on exit. (issue + ASTERISK-20649) Reported by: Corey Farrell Patches: + pbx-cleanup-1_8.patch (license #5909) patch uploaded by Corey + Farrell pbx-cleanup-10.patch (license #5909) patch uploaded by + Corey Farrell pbx-cleanup-11-trunk.patch (license #5909) patch + uploaded by Corey Farrell Modified ........ Merged revisions + 377806 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377807 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377808 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/logger.c, /: Cleanup logger on exit. * Cleanup CLI commands, + destroy verbosers and logchannels lists on exit. (issue + ASTERISK-20649) Reported by: Corey Farrell Patches: + logger-cleanup-all.patch (license #5909) patch uploaded by Corey + Farrell Modified ........ Merged revisions 377771 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377772 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377773 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/indications.c, /: Cleanup indications on exit. * Made + ast_unregister_indication_country() unlink the found tone zone + before selecting a new default_tone_zone to make it impossible to + select the tone zone being unregistered again. * Ringcadence is + no longer parsed twice in store_config_tone_zone(). * Cleanup CLI + commands and destroy default_tone_zone on exit. (issue + ASTERISK-20649) Reported by: Corey Farrell Patches: + indications-cleanup-all.patch (license #5909) patch uploaded by + Corey Farrell Modified ........ Merged revisions 377740 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377741 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377742 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/event.c: Cleanup event on exit. * Cleanup CLI commands on + exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: + event_shutdown-10-only.patch (license #5909) patch uploaded by + Corey Farrell event_shutdown-1_8-11-trunk.patch (license #5909) + patch uploaded by Corey Farrell ........ Merged revisions 377708 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 377709 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377710 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/dnsmgr.c, /: Cleanup dnsmgr on exit. * Cleanup dnsmgr thread + and CLI commands on exit. (issue ASTERISK-20649) Reported by: + Corey Farrell Patches: dnsmgr-cleanup-1_8.patch (license #5909) + patch uploaded by Corey Farrell dnsmgr-cleanup-10-11-trunk.patch + (license #5909) patch uploaded by Corey Farrell Modified ........ + Merged revisions 377704 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377705 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377706 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-10 16:56 +0000 [r377626-377658] Kinsey Moore + + * /, res/res_fax.c: Ensure ReceiveFax provides a CED tone via T.38 + When using res_fax_digium, the T.38 CED tone was not being + provided properly which would cause some incoming faxes to fail. + This was not an issue with res_fax_spandsp since it does not + strictly honor the send_ced flag and sends the CED tone whenever + receiving a T.38 fax. (closes issue FAX-343) Reported-by: + Benjamin Tietz Patch-by: Kinsey Moore ........ Merged revisions + 377655 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377656 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377657 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: Handle Session-Expires less than local + Min-SE in 200 OK Ensure that a call is immediately torn down if a + Session-Expires value received in a 200 OK is less than the local + Min-SE. This also prevents Asterisk from allowing calls with + Session-Expires below the RFC4028-mandated minimum (90s). (closes + issue ASTERISK-20653) Review: + https://reviewboard.asterisk.org/r/2237/ Patch-by: Kinsey Moore + ........ Merged revisions 377623 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377624 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377625 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-10 07:03 +0000 [r377579-377595] Igor Goncharovskiy + + * channels/chan_unistim.c: Add firmware information to CLI devices + listing + + * /, channels/chan_unistim.c: Fix codec mismatch Fix code to send + in both rx and tx open stream messages correct codecs. Found that + on phase 0/1 phones wrong codecs cause to no audio in some + situations. (issue ASTERISK-20183) ........ Merged revisions + 377591 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377592 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377593 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_unistim.c, /: Remove trailing whitespaces in number + from incoming redial list. Reported by: Igor Olhovskiy ........ + Merged revisions 377577 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-10 01:41 +0000 [r377506-377512] Tilghman Lesher + + * main/xmldoc.c, /: Improve documentation by making all of the + colors used readable, no matter what the background color is. + Dark blue on a black background is unreadable, as is yellow on a + light background. This patch turns on the bright attribute for + colors when on a dark background and turns *off* the bright + attribute when the -W command line option is used (indicating a + _light_ background). This ensures that text is readable in both + cases. Patch by: tilghman Review: + https://reviewboard.asterisk.org/r/2224 ........ Merged revisions + 377509 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377510 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377511 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, addons/cdr_mysql.c: Remove some dead code and additionally + handle a case that wasn't handled. ........ Merged revisions + 377487 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377504 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377505 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-09 01:23 +0000 [r377463] Joshua Colp + + * /, channels/chan_motif.c: Add missing support for "who hung up" + to chan_motif. (closes issue ASTERISK-20671) Reported by: Matt + Jordan Review: https://reviewboard.asterisk.org/r/2208/ ........ + Merged revisions 377462 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-08 00:30 +0000 [r377402-377434] Richard Mudgett + + * contrib/realtime/mysql/sippeers.sql, /: Fix order of SIP + allow/disallow in MySQL contrib script. Using the contrib + sippeers.sql script to create the sippeers MySQL table would + result in being unable to place calls if you set the disallow + value to all. (closes issue ASTERISK-20756) Reported by: Andre + Luis Patches: sippeers.patch patch uploaded by Andre Luis + ........ Merged revisions 377431 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377432 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377433 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/astmm.c: MALLOC_DEBUG: Only wait if we want atexit + allocation dumps. ........ Merged revisions 377398 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377399 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377401 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-07 22:08 +0000 [r377384] Kinsey Moore + + * codecs/codec_dahdi.c: codec_dahdi: Fix output of "transcoder + show" CLI command. In r306010 "Asterisk media architecture + conversion - no more format bitfields", the logic for + incrementing encoders and decoders when opening transcoder + channels was changed without making the corresponding change when + decrementing encoder / decoder channels. The result being that + when a channel was destroyed, codec_dahdi couldn't properly tell + if it was an encoder or decoder, and the default case is to + assume it was a decoder. This could result in negative numbers + for decoders in use like in: VOIP6*CLI> transcoder show 2/-2 + encoders/decoders of 92 channels are in use. (closes issue + ASTERISK-19921) Patch-by: Shaun Ruffell ........ Merged revisions + 377382 from http://svn.asterisk.org/svn/asterisk/branches/10 + ........ Merged revisions 377383 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-07 00:00 +0000 [r377356] Richard Mudgett + + * apps/confbridge/conf_config_parser.c, /, apps/app_confbridge.c: + confbridge: Fix some resource leaks on conference teardown. * + Made destroy_conference_bridge() destroy a missed ast_mutex_t and + ast_cond_t. * Made join_conference_bridge() init the + ast_mutex_t's and ast_cond_t so destroy_conference_bridge() can + destroy them unconditionally. * Made join_conference_bridge() + abort if the new conference could not be added to the conferences + container. * Made leave_conference() discard any post-join + actions if join_conference_bridge() had to abort early. * Made + the join_conference_bridge() diagnostic messages better describe + what happened. * Renamed leave_conference_bridge() to + leave_conference() and made it only take a conference user + pointer. The conference pointer was redundant. * Made + conf_bridge_profile_copy() use struct copy instead of memcpy(). * + No need to lock the conference in start_conf_record_thread() + since all of the callers already have it locked. ........ Merged + revisions 377354 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377355 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-06 17:29 +0000 [r377329-377341] Russell Bryant + + * /: Recorded merge of revisions 377340 from + http://svn.asterisk.org/svn/asterisk/branches/11 ........ Add CLI + tab completion to 'acl show'. The 'acl show' CLI command allows + you to show the details about a specific named ACL in acl.conf. + This patch adds tab completion to the command. Review: + https://reviewboard.asterisk.org/r/2230/ + + * main/named_acl.c: Minor code cleanup in named_acl.c. This patch + makes a few little cleanups to named_acl.c. A couple non-public + functions were made static and an opening brace for a function + was moved to its own line, per the coding guidelines. + + * main/named_acl.c: Add CLI tab completion to 'acl show'. The 'acl + show' CLI command allows you to show the details about a specific + named ACL in acl.conf. This patch adds tab completion to the + command. Review: https://reviewboard.asterisk.org/r/2230/ + +2012-12-06 14:26 +0000 [r377324] Matthew Jordan + + * main/manager.c, /: Fix memory leak in 'manager show event' when + command entered incorrectly When the CLI command 'manager show + event' was run incorrectly and its usage instructions returned, a + reference to the event container was leaked. This would prevent + the container from being reclaimed when Asterisk exits. We now + properly decrement the count on the ao2 object using the nifty + RAII_VAR macro. Thanks to Russell for helping me stumble on this, + and Terry for writing that ridiculously helpful macro. ........ + Merged revisions 377319 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-05 17:17 +0000 [r377263] Jonathan Rose + + * /, res/res_srtp.c: res_srtp: Fix a crash caused by srtp_dealloc + on an already dealloced session When srtp_create fails, the + session may be dealloced or just not alloced. At the same time + though, the session pointer might not be set to NULL in this + process and attempting to srtp_dealloc it again will cause a + segfault. This patch checks for failure of srtp_create and sets + the session pointer to NULL if it fails. (closes issue + ASTERISK-20499) Reported by: tootai Review: + https://reviewboard.asterisk.org/r/2228/ ........ Merged + revisions 377256 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377261 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377262 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-05 16:51 +0000 [r377260] Joshua Colp + + * /, channels/chan_sip.c: Fix a SIP request memory leak with TLS + connections. During the TLS re-work in chan_sip some TLS specific + code was moved into a separate function. This function operates + on a copy of the incoming SIP request. This copy was never + deinitialized causing a memory leak for each request processed. + This function is now given a SIP request structure which it can + use to copy the incoming request into. This reduces the amount of + memory allocations done since the internal allocated components + are reused between packets and also ensures the SIP request + structure is deinitialized when the TLS connection is torn down. + (closes issue ASTERISK-20763) Reported by: deti ........ Merged + revisions 377257 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377258 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377259 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-05 02:23 +0000 [r377214-377246] Richard Mudgett + + * main/format.c, include/asterisk/_private.h, main/asterisk.c: + Remove init_framer(). It no longer does anything. + + * main/format.c, /: Fix registering core show codecs/codec CLI + commands twice. ........ Merged revisions 377241 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377244 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/confbridge/conf_config_parser.c, /: confbridge: Fix several + small issues. * Made func_confbridge_helper() allow an empty + value when setting options. You previously could not + Set(CONFBRIDGE(user,pin)=) and clear the configured pin from the + dialplan. * Made func_confbridge_helper() handle its datastore + better if multiple threads attempt to set the first CONFBRIDGE + option value on the channel. * Made the func_confbridge_helper() + only output one diagnostic message concerning the option. * Made + the bridge video_mode able to repeatedly change in the config + file and CONFBRIDGE dialplan function. The video_mode option + values are an enum and not independent of each other. * Made + handle_cli_confbridge_show_bridge_profile() better handle the + video_mode option. * Simplified datastore handling code in + conf_find_user_profile() and conf_find_bridge_profile(). (closes + issue ASTERISK-20655) Reported by: Birger "WIMPy" Harzenetter + ........ Merged revisions 377227 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377228 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_confbridge.c, /: confbridge: Update online XML + documentation. ........ Merged revisions 377212 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377213 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-04 13:01 +0000 [r377196] Russell Bryant + + * contrib/scripts/install_prereq, /: Add libuuid to install_prereq + for Fedora. I ran this script and my build failed. pjproject + requires this. ........ Merged revisions 377195 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-03 23:00 +0000 [r377040-377168] Richard Mudgett + + * main/asterisk.c, /: Cleanup ast_run_atexits() atexits list. * + Convert atexits list to a mutex instead of a rd/wr lock. The lock + is only write locked. * Move CLI verbose Asterisk ending message + to where AMI message is output in really_quit() to avoid further + surprises about using stuff already shutdown. (issue + ASTERISK-20649) Reported by: Corey Farrell ........ Merged + revisions 377165 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377166 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377167 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * include/asterisk/_private.h, main/stdtime/localtime.c, + main/asterisk.c, /: Cleanup core main on exit. * Cleanup time + zones on exit. * Make exit clean/unclean report consistent for + AMI and CLI in really_quit(). (issue ASTERISK-20649) Reported by: + Corey Farrell Patches: core-cleanup-1_8-10.patch (license #5909) + patch uploaded by Corey Farrell core-cleanup-11-trunk.patch + (license #5909) patch uploaded by Corey Farrell Modified ........ + Merged revisions 377135 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377136 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377137 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/config.c, /: Cleanup config cache on exit. (issue + ASTERISK-20649) Reported by: Corey Farrell Patches: + config-cleanup-all.patch (license #5909) patch uploaded by Corey + Farrell ........ Merged revisions 377104 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377105 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377106 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/cli.c: Cleanup CLI resources on exit and CLI command + registration errors. (issue ASTERISK-20649) Reported by: Corey + Farrell Patches: cli-leaks-1_8-10.patch (license #5909) patch + uploaded by Corey Farrell cli-leaks-11-trunk.patch (license + #5909) patch uploaded by Corey Farrell Modified ........ Merged + revisions 377073 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377074 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377075 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/cdr.c, /: Cleanup CDR resources on exit. * Simplify + do_reload() return handling since it never returned anything + other than 0. (issue ASTERISK-20649) Reported by: Corey Farrell + Patches: cdr-cleanup-1_8.patch (license #5909) patch uploaded by + Corey Farrell cdr-cleanup-10-11-trunk.patch (license #5909) patch + uploaded by Corey Farrell Modified ........ Merged revisions + 377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 377070 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377071 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/ccss.c: Fix CCSS CLI commands and logger level not + unregistered. (issue ASTERISK-20649) Reported by: Corey Farrell + Patches: ccss-cleanup-all.patch (license #5909) patch uploaded by + Corey Farrell ........ Merged revisions 377037 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 377038 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 377039 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-03 16:45 +0000 [r377035] Olle Johansson + + * res/res_rtp_asterisk.c: Formatting fixes + +2012-12-03 14:56 +0000 [r377022] Joshua Colp + + * /, channels/chan_motif.c: Fix an RTP instance reference count + leak in chan_motif. When setting up an RTP instance the RTCP + portion of the instance keeps a reference to the instance itself. + In order to release this reference and stop RTCP the stop API + call must be called before destroying the instance. (closes issue + ASTERISK-20751) Reported by: joshoa ........ Merged revisions + 377021 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-12-03 14:46 +0000 [r376998-377018] Olle Johansson + + * channels/chan_sip.c: Move functions to AFTER the block of forward + declarations of functions. It was a mess. The first part of + chan_sip.c is constants, declarations, structures and stuff, then + forward declarations and then actual code. It's still a mess, but + a bit less messy ;-) + + * res/res_rtp_asterisk.c, channels/chan_sip.c: Formatting changes + Found a large amount of missing {} in the code before patching in + another branch + +2012-12-01 00:47 +0000 [r376984] Joshua Colp + + * configs/motif.conf.sample, /, channels/chan_motif.c: Tweak + extension used for incoming calls received on Motif. Based on + feedback from numerous individuals this patch tweaks incoming + calls to first look for an extension with the name of the + endpoint. If no such extension exists the call will silently fall + back to the "s" extension as it previously did. ........ Merged + revisions 376983 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-30 21:38 +0000 [r376953] Richard Mudgett + + * channels/misdn/isdn_lib.c, /: chan_misdn: Fix sending + RELEASE_COMPLETE in response to SETUP. Fix sending a + RELEASE_COMPLETE in response to a SETUP if chan_misdn does not + have a B channel available to assign to the call. (closes issue + ABE-2869) Reported by: Guenther Kelleter Patches: + setup-reject_2.diff (license #6372) patch uploaded by Guenther + Kelleter Modified ........ Merged revision 376949 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier + ........ Merged revisions 376950 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376951 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376952 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-30 17:08 +0000 [r376922] Sean Bright + + * /, funcs/func_volume.c: Minor spelling fix to the VOLUME + documentation. ........ Merged revisions 376919 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376920 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376921 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-30 16:56 +0000 [r376918] Mark Michelson + + * /, channels/chan_sip.c: Fix potential crashes during SIP attended + transfers. The principal behind this patch is simple. During a + transfer, we manipulate channels that are owned by a separate + thread than the one we currently are running in, so it makes + sense that we need to grab a reference to the channels so that + they cannot disappear out from under us. In the wild, crashes + were sometimes seen when the transferring party would hang up the + call before the transfer target answered the call. The most + common place to see the crash occur was when attempting to send a + connected line update to the transferer channel. (closes issue + ASTERISK-20226) Reported by Jared Smith Patches: + ASTERISK-20226.patch uploaded by Mark Michelson (License #5049) + Tested by: Jared Smith ........ Merged revisions 376901 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376916 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376917 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-29 23:01 +0000 [r376867-376871] Richard Mudgett + + * channels/chan_local.c, /: chan_local: Fix local_pvt ref leak in + local_devicestate(). Regression introduced by ASTERISK-20390 fix. + (closes issue ASTERISK-20769) Reported by: rmudgett Tested by: + rmudgett ........ Merged revisions 376868 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376869 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376870 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: Fix compile error. (issue ASTERISK-20724) + ........ Merged revisions 376864 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376865 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376866 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-29 21:58 +0000 [r376837] Michael L. Young + + * /, channels/chan_sip.c: Improve Code Readability And Fix Setting + natdetected Flag For 1.8, 10, 11 and trunk we are are improving + the code readability. For 11 and trunk, auto nat detection was + added. The natdetected flag was being set to 1 when the host + address in the VIA header did not specifiy a port. This patch + fixes this by setting the port on the temporary sock address used + to SIP_STANDARD_PORT in order for the sock address comparison to + work properly. (closes issue ASTERISK-20724) Reported by: Michael + L. Young Patches: asterisk-20724-set-port-v2.diff uploaded by + Michael L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2206/ ........ Merged + revisions 376834 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376835 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376836 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-29 17:16 +0000 [r376821] David M. Lee + + * main/utils.c: Fixed ast_random's comment about locking. The + original comment was separated from the code at some point, and + didn't reflect the use of libc's other than glibc for Linux. + +2012-11-29 16:44 +0000 [r376820] Pedro Kiefer + + * channels/chan_sip.c: Fix chan_sip websocket payload handling + Websocket by default doesn't return an ast_str for the payload + received. When converting it to an ast_str on chan_sip the last + character was being omitted, because ast_str functions expects + that the given length includes the trailing 0x00. payload_len + only has the actual string length without counting the trailing + zero. For most cases this passed unnoticed as most of SIP + messages ends with \r\n. (closes issue ASTERISK-20745) Reported + by: Iñaki Baz Castillo Review: + https://reviewboard.asterisk.org/r/2219/ + +2012-11-29 00:48 +0000 [r376761-376791] Richard Mudgett + + * main/asterisk.c, /, main/astmm.c: Add MALLOC_DEBUG atexit + unreleased malloc memory summary. * Adds the following CLI + commands to control MALLOC_DEBUG reporting of unreleased malloc + memory when Asterisk is shut down. memory atexit list on memory + atexit list off memory atexit summary byline memory atexit + summary byfunc memory atexit summary byfile memory atexit summary + off * Made check all remaining allocated region blocks atexit for + fence violations. * Increased the allocated region hash table + size by about three times. It still isn't large enough + considering the number of malloced blocks Asterisk uses. * Made + CLI "memory show allocations anomalies" use + regions_check_all_fences(). Review: + https://reviewboard.asterisk.org/r/2196/ ........ Merged + revisions 376788 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376789 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376790 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/astmm.c: Enhance MALLOC_DEBUG CLI commands. * Fixed CLI + "memory show allocations" misspelling of anomalies option. The + command will still accept the original misspelling. * + Miscellaneous tweaks to CLI "memory show allocations" command + output format. * Made CLI "memory show summary" summarize by line + number instead of by function if a filename is given. * Made CLI + "memory show summary" sort its output by filename or + function-name/line-number depending upon request. * Miscellaneous + tweaks to CLI "memory show summary" command output format. + ........ Merged revisions 376758 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376759 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376760 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-28 16:47 +0000 [r376728] Jonathan Rose + + * main/manager.c, /: manager: Make challenge work with + allowmultiplelogin=no Prior to this patch, challenge would yield + a multiple logins error if used without providing the username + (which isn't really supposed to be an argument to challenge) if + allowmultiplelogin was set to no because allowmultiplelogin finds + a user with a zero length login name. This check is simply + disabled for the challenge action when the username is empty by + this patch. (closes issue ASTERISK-20677) Reported by: Vladimir + Patches: challenge_action_nomultiplelogin.diff uploaded by + Jonathan Rose (license 6182) ........ Merged revisions 376725 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 376726 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376727 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-28 00:13 +0000 [r376630-376691] Richard Mudgett + + * main/pbx.c, /, UPGRADE.txt: Fix extension matching with the '-' + char. The '-' char is supposed to be ignored by the dialplan + extension matching. Unfortunately, it's treatment is not handled + consistently throughout the extension matching code. * Made the + old exten matching code consistently ignore '-' chars. * Made the + old exten matching code consistently handle case in the matching. + * Made ignore empty character sets. * Fixed ast_extension_cmp() + to return -1, 0, or 1 as documented. The only user of it in + pbx_lua.c was testing for -1. It was originally returning the + strcmp() value for less than which is not usually going to be -1. + * Fix character set sorting if the sets have the same number of + characters and start with the same character. Character set [0-9] + now sorts before [02-9a] as originally intended. * Updated some + extension label and priority already in use warnings to also + indicate if the extension is aliased. (closes issue + ASTERISK-19205) Reported by: Philippe Lindheimer, Birger "WIMPy" + Harzenetter Tested by: rmudgett Review: + https://reviewboard.asterisk.org/r/2201/ ........ Merged + revisions 376688 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376689 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376690 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * addons/res_config_mysql.c, /, apps/app_celgenuserevent.c, + pbx/pbx_dundi.c: Remove unnecessary channel module references. * + Removed call to ast_module_user_hangup_all() in + res_config_mysql.c since it is effectively a noop. No channels + can attach a reference to that module. * Removed call to + ast_module_user_hangup_all() in app_celgenuserevent.c. The caller + of unload_module() has already called it. * Removed redundant + channel module references in pbx_dundi.c. The registered dialplan + function callback dispatchers for the read/read2/write callbacks + already reference the module before calling. * pbx_dundi: Moved + unregistering CLI commands, DUNDi switch, and dialplan functions + to the first thing the unload_module() does. This will reduce the + chance of new channels using DUNDi services while the module is + being torn down. ........ Merged revisions 376657 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376658 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376659 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, include/asterisk/linkedlists.h: Made AST_LIST_REMOVE() simpler + and use better names. * Update doxygen of AST_LIST_REMOVE(). + ........ Merged revisions 376627 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376628 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376629 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-23 00:02 +0000 [r376589] Matthew Jordan + + * /, main/logger.c, include/asterisk/lock.h, main/lock.c: + Re-initialize logmsgs mutex upon logger initialization to prevent + lock errors Similar to the patch that moved the fork earlier in + the startup sequence to prevent mutex errors in the recursive + mutex surrounding the read/write thread registration lock, this + patch re-initializes the logmsgs mutex. Part of the start up + sequence before forking the process into the background includes + reading asterisk.conf; this has to occur prior to the call to + daemon in order to read startup parameters. When reading in a + conf file, log statements can be generated. Since this can't be + avoided, the mutex instead is re-initialized to ensure a reset of + any thread tracking information. This patch also includes some + additional debugging to catch errors when locking or unlocking + the recursive mutex that surrounds locks when the DEBUG_THREADS + build option is enabled. DO_CRASH or THREAD_CRASH will cause an + abort() if a mutex error is detected. (issue ASTERISK-19463) + Reported by: mjordan Tesetd by: mjordan ........ Merged revisions + 376586 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 376587 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376588 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-21 18:33 +0000 [r376575] Richard Mudgett + + * main/test.c, tests/test_astobj2.c, channels/chan_iax2.c, + main/astobj2.c, include/asterisk/test.h, main/channel.c, + include/asterisk/astobj2.h: Add red-black tree container type to + astobj2. * Add red-black tree container type. * Add CLI command + "astobj2 container dump " * Added ao2_container_dump() so + the container could be dumped by other modules for debugging + purposes. * Changed ao2_container_stats() so it can be used by + other modules like ao2_container_check() for debugging purposes. + * Updated the unit tests to check red-black tree containers. + (closes issue ASTERISK-19970) Reported by: rmudgett Tested by: + rmudgett Review: https://reviewboard.asterisk.org/r/2110/ + +2012-11-20 22:06 +0000 [r376562] David M. Lee + + * res/res_http_websocket.c, /: Added missing newlines to websocket + ast_logs. Without these newlines, log messages just continue + tacking onto the same line, and do not flush immediately. + ........ Merged revisions 376561 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-20 19:09 +0000 [r376551] Mark Michelson + + * /, channels/chan_sip.c, channels/sip/include/sip.h: Add "Require: + timer" to 200 OK responses when appropriate. The method by which + the Require header is added to 200 responses is inspired by the + method that Olle Johansson uses in his darjeeling-prack branch. + (closes issue ASTERISK-20570) Reported by Matt Jordan, at the + behest of Olle Johansson Review: + https://reviewboard.asterisk.org/r/2172 ........ Merged revisions + 376521 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 376522 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376550 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-20 17:39 +0000 [r376541] Alec L Davis + + * /, channels/chan_sip.c: Reduce CLI spam of "Extension Changed" + device state messages. Asterisk 11 follows RFC3265 that states + that after every subscribe or resubscribe a notify should be + sent. Thus the console if filled continuously with the following + after every subscribe; == Extension Changed 8512[phones] new + state IDLE for Notify User cisco1 In Asterisk 1.8 only changes + would be sent. Thus only when a device state changed was anything + emitted to the console. fix: Only print to console when device + state isn't forced. (closes issue ASTERISK-20706) Reported by: + alecdavis Tested by: alecdavis alecdavis (license 585) ........ + Merged revisions 376540 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-19 20:03 +0000 [r376472] Walter Doekes + + * main/indications.c, /, channels/chan_sip.c, + main/security_events.c: Fix most leftover non-opaque ast_str + uses. Instead of calling str->str, one should use + ast_str_buffer(str). Same goes for str->used as + ast_str_strlen(str) and str->len as ast_str_size(str). Review: + https://reviewboard.asterisk.org/r/2198 ........ Merged revisions + 376469 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 376470 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376471 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-19 02:14 +0000 [r376416-376457] Matthew Jordan + + * tests/test_astobj2.c: Fix uninitialized in this function error + With some versions of gcc, n_buckets will be flagged as being + uninitialized before use. While its technically impossible (since + the switch statement, even without a default, accounts for all + possibilities), we'll initialize the variable to 0 anyway. + + * main/utils.c, main/asterisk.c, /: Reorder startup sequence to + prevent lockups when process is sent to background Although it is + very rare and timing dependent, the potential exists for the call + to 'daemon' to cause what appears to be a deadlock in Asterisk + during startup. This can occur when a recursive mutex is obtained + prior to the daemon call executing. Since daemon uses fork to + send the process into the background, any threading primitives + are unsafe to re-use after the call. Implementations of pthread + recursive mutexes are highly likely to store the thread + identifier of the thread that previously obtained the mutex. If + the mutex was locked prior to the fork, a subsequent unlock + operation will potentially fail as the thread identifier is no + longer valid. Since the mutex is still locked, all subsequent + attempts to grab the mutex by other threads will block. This + behavior exhibited itself most often when DEBUG_THREADS was + enabled, as this compile time option surrounds the mutexes in + Asterisk with another recursive mutex that protects the storage + of thread related information. This made it much more likely that + a recursive mutex would be obtained prior to daemon and unlocked + after the call. This patch does the following: a) It backports a + patch from Asterisk 11 that prevents the spawning of the + localtime monitoring thread. This thread is now spawned after + Asterisk has fully booted. b) It re-orders the startup sequence + to call daemon earlier during Asterisk startup. This limits the + potential of threading primitives being accessed by + initialization calls before daemon is called. c) It removes calls + to ast_verbose/ast_log/etc. prior to daemon being called. + Developers should send error messages directly to stderr prior to + daemon, as calls to ast_log may access recursive mutexes that + store thread related information. d) It reorganizes when thread + local storage is created for storing lock information during the + creation of threads. Prior to this patch, the read/write lock + protecting the list of threads in ast_register_thread would + utilize the lock in the thread local storage prior to it being + initialized; this patch prevents that. On a very related note, + this patch will *greatly* improve the stability of the Asterisk + Test Suite. Review: https://reviewboard.asterisk.org/r/2197 + (closes issue ASTERISK-19463) Reported by: mjordan Tested by: + mjordan ........ Merged revisions 376428 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376431 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376441 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, apps/confbridge/conf_state.c: Add a test event that reports + changes in ConfBridge state This patch adds a test event to + ConfBridge that reports transitions between states in ConfBridge. + This is used by tests in the Asterisk Test Suite that verify + state changes based on the entering/leaving of conference + participants. ........ Merged revisions 376414 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376415 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-16 00:15 +0000 [r376341-376345] David M. Lee + + * utils/extconf.c, /: Fixed extconf.c breakage introduced in + r376306. To quote wdoekes: > Note that I'm not confirming + legitimacy of having that file in tree at > all. Is anyone using + aelparse/conf2ael? ........ Merged revisions 376340 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376342 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376343 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /: Somehow I put in svn-1.6 merge information. Oops. + + * utils/Makefile, tests/test_astobj2_thrash.c (added), + utils/utils.xml, /, utils/hashtest.c (removed), + tests/test_hashtab_thrash.c (added), utils/hashtest2.c (removed), + include/asterisk/hashtab.h: Migrate hashtest/hashtest2 to be unit + tests. Both hashtest and hashtest2 are manual testing apps that + thrash hash tables (hashtab and ao2 containers, respectively), by + spinning up several threads that randomly insert, delete, lookup + and iterate over the hash table. If the app doesn't crash, the + hash table probably passes the test. Those utils are not a part + of the typical Asterisk build, so they do not usually get + compiled. This all makes them less that useful. This patch + removes those manual test programs and replaces them with + Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It + also attempts to make the tests more deterministic. * Rather than + spinning up some number of threads that operate on the hash table + randomly, spin up four threads that concurrenly add, remove, + lookup and iterate over the hash table. * Each thread checks the + state of the hash table both during and after execution, and + indicates a test failure if things are not as expected. * Each + thread times out after 60 seconds to prevent deadlocking the unit + test run. (closes issue ASTERISK-20505) Reported by: Matt Jordan + Review: https://reviewboard.asterisk.org/r/2189/ ........ Merged + revisions 376306 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376315 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376339 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-15 23:10 +0000 [r376312] Jonathan Rose + + * /, apps/app_meetme.c: app_meetme: Fix channels lingering when + hung up under certain conditions Channels would get stuck and + MeetMe would repeatedly display an Unable to write frame to + channel error in the conf_run function if hung up during certain + sound prompts such as during user count announcements. This patch + fixes that by reintroducing a hangup check in the meetme's main + loop (also in conf_run). (closes issue ASTERISK-20486) Reported + by: Michael Cargile Review: + https://reviewboard.asterisk.org/r/2187/ Patches: + meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by Jonathan + Rose (license 6182) ........ Merged revisions 376307 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376308 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376310 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-15 14:35 +0000 [r376291] Brent Eagles + + * /, main/channel.c: Patch to prevent stopping the active generator + when it is not the silence generator. This patch introduces an + internal helper function to safely check whether the current + generator is the one that is expected before deactivating it. The + current externally accessible ast_channel_stop_generator() + function has been modified to be implemented in terms of the new + function. (closes issue ASTERISK-19918) Reported by: Eduardo Abad + ........ Merged revisions 376217 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-15 02:29 +0000 [r376282] Rusty Newton + + * /, apps/app_voicemail.c: Patch to play correct sound file when a + voicemail's urgent status is removed We were attempting to play + "vm-urgent-removed", which didn't exist. Now we play + "vm-marked-nonurgent" which exists and is the correct sound file. + Previous behavior was silence and a warning on the CLI. (issue + ASTERISK-20280) (closes issue ASTERISK-20280) Reported by: Tomo + Takebe Tested by: Rusty Newton Patches: asterisk20280.patch + uploaded by Rusty Newton (license 5829) ........ Merged revisions + 376262 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 376263 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376264 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-14 19:55 +0000 [r376235] Richard Mudgett + + * pbx/pbx_spool.c, /: Fix call files when astspooldir is relative. + Future dated call files are ignored when astspooldir is relative + to the current directory. The queue_file() assumed that the qdir + needed to be prepended if the given filename did not start with a + '/'. If astspooldir is relative it is not going to start from the + root directory obviously so it will not start with a '/'. The + filename used in queue_file() ultimately results in qdir + prepended multiple times. * Made queue_file() not prepend qdir if + the filename contains a '/'. (closes issue ASTERISK-20593) + Reported by: James Le Cuirot Patches: + 0004-Fix-future-call-files-from-relative-directories.patch + (license #6439) patch uploaded by James Le Cuirot ........ Merged + revisions 376232 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376233 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376234 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-13 19:42 +0000 [r376219] Jonathan Rose + + * channels/chan_sip.c, CHANGES: chan_sip: Add SubscribeContext + field to SIPshowpeer AMI response The new field is will show up + within the response if the requested peer has a subscribe context + set. (closes issue ASTERISK-20626) Reported by: Jaco Kroon + Patches: asterisk-sip-ami-SubscrContext.patch uploaded by jkroon + (license 5671) -with modifications by jrose to conform to style + guidelines Review: https://reviewboard.asterisk.org/r/2195/ + +2012-11-12 20:46 +0000 [r376169] Joshua Colp + + * main/pbx.c, /: Properly check if the "Context" and "Extension" + headers are empty in a ShowDialPlan action. The code which + handles the ShowDialPlan action wrongly assumed that a non-NULL + return value from the function which retrieves headers from an + action indicates that the header has a value. This is incorrect + and the contents must be checked to see if they are blank. + (closes issue ASTERISK-20628) Reported by: jkroon Patches: + asterisk-showdialplan-incorrect-error.patch uploaded by jkroon + ........ Merged revisions 376166 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376167 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376168 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-12 20:18 +0000 [r376148] Michael L. Young + + * main/pbx.c, /: Fix Dynamic Hints Variable Substition - Underscore + Problem When adding a dynamic hint, if an extension contains an + underscore no variable subsitution is being performed. This patch + changes from checking if the extension contains an underscore to + checking if the extension begins with an underscore. (closes + issue ASTERISK-20639) Reported by: Steven T. Wheeler Tested by: + Steven T. Wheeler, Michael L. Young Patches: + asterisk-20639-dynamic-hint-underscore.diff uploaded by Michael + L. Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2188/ ........ Merged + revisions 376142 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376143 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376144 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-11 17:15 +0000 [r376131] Joshua Colp + + * /, channels/chan_sip.c, configs/sip.conf.sample, + res/res_rtp_asterisk.c: Remove a fixed size limitation for + producing SDP and change how ICE support is disabled by default. + With ICE support enabled in chan_sip and a large number of + interfaces on the system it was possible for the produced SDP to + be truncated due to some fixed size buffers. These buffers have + now been changed so they will dynamically grow as needed. ICE + support is now also enabled by default in res_rtp_asterisk to + provide a smoother experience for chan_motif users where it is + required. To maintain the previous behavior in chan_sip it is no + longer enabled by default there. (closes issue ASTERISK-20643) + Reported by: coopvr ........ Merged revisions 376130 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-08 22:10 +0000 [r376092] Mark Michelson + + * /, res/res_fax.c: Fix a "set but not used" warning on newer gccs. + Turns out the "helpful" setting of ms and res in this macro is + completely useless after the timeout antipattern fix. If you're a + new guy looking to write code, don't write a macro like this one. + ........ Merged revisions 376087 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376088 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376089 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-08 21:12 +0000 [r376049-376061] Richard Mudgett + + * /, channels/sig_ss7.c: chan_dahdi/SS7: Made reject incoming call + for an in-alarm or blocked channel. If a SS7 call comes in + requesting a CIC that is in-alarm, the call is accepted and + connects if the extension exists in the dialplan. The call does + not have any audio. * Made release the call immediately with + circuit congestion cause. (closes issue ASTERISK-20204) Reported + by: Tuan Le Patches: jira_asterisk_20204_v1.8.patch (license + #5621) patch uploaded by rmudgett ........ Merged revisions + 376058 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 376059 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376060 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/utils.c, main/astmm.c, main/asterisk.c, + include/asterisk/utils.h, include/asterisk/astmm.h, /: Add + MALLOC_DEBUG enhancements. * Makes malloc() behave like calloc(). + It will return a memory block filled with 0x55. A nonzero value. + * Makes free() fill the released memory block and boundary + fence's with 0xdeaddead. Any pointer use after free is going to + have a pointer pointing to 0xdeaddead. The 0xdeaddead pointer is + usually an invalid memory address so a crash is expected. * Puts + the freed memory block into a circular array so it is not reused + immediately. * When the circular array rotates out a memory block + to the heap it checks that the memory has not been altered from + 0xdeaddead. * Made the astmm_log message wording better. * Made + crash if the DO_CRASH menuselect option is enabled and something + is found. * Fixed a potential alignment issue on 64 bit systems. + struct ast_region.data[] should now be aligned correctly for all + platforms. * Extracted region_check_fences() from + __ast_free_region() and handle_memory_show(). * Updated + handle_memory_show() CLI usage help. Review: + https://reviewboard.asterisk.org/r/2182/ ........ Merged + revisions 376029 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 376030 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376048 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-07 19:15 +0000 [r376015] Mark Michelson + + * apps/app_jack.c, include/asterisk/time.h, apps/app_dial.c, + main/pbx.c, main/rtp_engine.c, /, apps/app_meetme.c, + res/res_fax.c, apps/app_record.c, channels/chan_agent.c, + main/utils.c, include/asterisk/channel.h, apps/app_queue.c, + channels/sig_pri.c, channels/chan_iax2.c, main/channel.c, + channels/chan_dahdi.c, apps/app_waitforring.c, + channels/sig_analog.c: Multiple revisions 375993-375994 ........ + r375993 | mmichelson | 2012-11-07 11:01:13 -0600 (Wed, 07 Nov + 2012) | 30 lines Fix misuses of timeouts throughout the code. + Prior to this change, a common method for determining if a + timeout was reached was to call a function such as + ast_waitfor_n() and inspect the out parameter that told how many + milliseconds were left, then use that as the input to + ast_waitfor_n() on the next go-around. The problem with this is + that in some cases, submillisecond timeouts can occur, resulting + in the out parameter not decreasing any. When this happens + thousands of times, the result is that the timeout takes much + longer than intended to be reached. As an example, I had a + situation where a 3 second timeout took multiple days to finally + end since most wakeups from ast_waitfor_n() were under a + millisecond. This patch seeks to fix this pattern throughout the + code. Now we log the time when an operation began and find the + difference in wall clock time between now and when the event + started. This means that sub-millisecond timeouts now cannot play + havoc when trying to determine if something has timed out. Part + of this fix also includes changing the function ast_waitfor() so + that it is possible for it to return less than zero when a + negative timeout is given to it. This makes it actually possible + to detect errors in ast_waitfor() when there is no timeout. + (closes issue ASTERISK-20414) reported by David M. Lee Review: + https://reviewboard.asterisk.org/r/2135/ ........ r375994 | + mmichelson | 2012-11-07 11:08:44 -0600 (Wed, 07 Nov 2012) | 3 + lines Remove some debugging that accidentally made it in the last + commit. ........ Merged revisions 375993-375994 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375995 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 376014 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-06 19:05 +0000 [r375967] Richard Mudgett + + * include/asterisk/channel.h, include/asterisk/features.h, + main/channel.c, /, main/channel_internal_api.c, main/features.c: + Fix stuck DTMF when bridge is broken. When a bridge is broken by + an AMI Redirect action or the ChannelRedirect application, an in + progress DTMF digit could be stuck sending forever. * Made + simulate a DTMF end event when a bridge is broken and a DTMF + digit was in progress. (closes issue ASTERISK-20492) Reported by: + Jeremiah Gowdy Patches: bridge_end_dtmf-v3.patch.txt (license + #6358) patch uploaded by Jeremiah Gowdy Modified to + jira_asterisk_20492_v1.8.patch jira_asterisk_20492_v1.8.patch + (license #5621) patch uploaded by rmudgett Tested by: rmudgett + Review: https://reviewboard.asterisk.org/r/2169/ ........ Merged + revisions 375964 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375965 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375966 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-06 12:15 +0000 [r375926] Joshua Colp + + * /, channels/chan_motif.c: Fix a bug where our Motif ICE + candidates were not quite proper, and make us more forgiving. An + issue was reported on the mailing list where calling would result + in an "Incomplete ICE-UDP candidate received on session" error + message. This is the result of the ICE-UDP candidate code not + placing a "network" attribute within the candidates. This is now + done. To increase compatibility though I have removed the + requirement for the "network" attribute to exist within ICE-UDP + candidates that are received since we don't actually require the + value. Reported on the mailing list by Jean-Denis Girard. + ........ Merged revisions 375925 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-05 23:10 +0000 [r375896] Matthew Jordan + + * /, res/res_timing_pthread.c, res/res_timing_dahdi.c, + res/res_timing_timerfd.c, bridges/bridge_softmix.c, + funcs/func_jitterbuffer.c, include/asterisk/timing.h, + res/res_musiconhold.c, channels/chan_iax2.c, + res/res_fax_spandsp.c, res/res_timing_kqueue.c, main/timing.c, + main/channel.c: Refactor ast_timer_ack to return an error and + handle the error in timer users Currently, if an acknowledgement + of a timer fails Asterisk will not realize that a serious error + occurred and will continue attempting to use the timer's file + descriptor. This can lead to situations where errors stream to + the CLI/log file. This consumes significant resources, masks the + actual problem that occurred (whatever caused the timer to fail + in the first place), and can leave channels in odd states. This + patch propagates the errors in the timing resource modules up + through the timer core, and makes users of these timers handle + acknowledgement failures. It also adds some defensive coding + around the use of timers to prevent using bad file descriptors in + off nominal code paths. Note that the patch created by the issue + reporter was modified slightly for this commit and backported to + 1.8, as it was originally written for Asterisk 10. Review: + https://reviewboard.asterisk.org/r/2178/ (issue ASTERISK-20032) + Reported by: Jeremiah Gowdy patches: + jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy (license + 6358) ........ Merged revisions 375893 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375894 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375895 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-05 21:42 +0000 [r375865] Richard Mudgett + + * main/loader.c, /: Add safety NULL pointer check in module user + references. Made __ast_module_user_remove() check for NULL + pointers. ........ Merged revision 375860 from C.3 ........ + Merged revisions 375862 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375863 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375864 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-05 18:00 +0000 [r375848] Jonathan Rose + + * /, UPGRADE.txt: chan_sip: Document a change to user-field + encoding introduced with r303509 The change in question was added + to improve compliance with RFC3261, but at the time of commit, it + wasn't adequately documented in the UPGRADE notes. (closes issue + ASTERISK-20561) Reported by: Deniz Review: + https://reviewboard.asterisk.org/r/2177/ ........ Merged + revisions 375846 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375847 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-04 03:10 +0000 [r375730-375803] Matthew Jordan + + * main/manager.c, /: Don't attempt to purge sessions when no + sessions exist Manager's tcp/tls objects have a periodic function + that purge old manager sessions periodically. During shutdown, + the underlying container holding those sessions can be disposed + of and set to NULL before the tcp/tls periodic function is + stopped. If the periodic function fires, it will attempt to + iterate over a NULL container. This patch checks for whether or + not the sessions container exists before attempting to purge + sessions out of it. If the sessions container is NULL, we simply + return. Note that this error was also caught by the Asterisk Test + Suite. ........ Merged revisions 375800 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375801 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375802 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, res/res_fax.c: Only deref a reserved gateway session if we + actually reserved one Its perfectly acceptable to have a gateway + session unreserved when we go to first allocate one. Unreffing + the reserved gateway session - when its NULL - will result in an + assertion error. This problem was caught by the Asterisk Test + Suite (once we had enough of the debugging flags enabled) + ........ Merged revisions 375797 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375798 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/manager.c, /: Properly clean up manager resources on exit + This patch does two things: 1) It properly unregisters the + manager CLI commands 2) It cleans up AMI users on exit. Prior to + this patch, the AMI users were not being disposed of properly, + resulting in a memory leak. (closes issue ASTERISK-20646) + Reported by: Corey Farrell patches: manager_shutdown.patch + uploaded by Corey Farrell (license 5909) ........ Merged + revisions 375793 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375794 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375795 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/db.c: Properly finalize prepared SQLite3 statements to + prevent memory leak The AstDB uses prepared SQLite3 statements to + retrieve data from the SQLite3 database. These statements should + be finalized during Asterisk shutdown so that the SQLite3 + database can be properly closed. Failure to finalize the + statements results in a memory leak and a failure when closing + the database. This patch fixes those issues by ensuring that all + prepared statements are properly finalized at shutdown. (closes + issue ASTERISK-20647) Reported by: Corey Farrell patches: + astdb-sqlite3_close.patch uploaded by Corey Farrell (license + 5909) ........ Merged revisions 375761 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375763 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/xmldoc.c, /: Fix memory leaks in XML documentation This + patch fixes two memory leaks: 1) When building XML documentation + items, the 'name' attribute was extracted from XML elements but + not properly freed after being copied into the item being built. + 2) When unloading XML documentation, the doctree container + objects were not properly freed. This patch corrects these memory + leaks. Note that this patch was modified slightly for this + commmit, as the case where the 'name' attribute doesn't exist + also wasn't handled in the item construction. This patch also + checks for that attribute not existing. (closes issue + ASTERISK-20648) Reported by: Corey Farrell Tested by: mjordan + patches: xmldoc-memory_leak.patch uploaded by Corey Farrell + (license 5909) ........ Merged revisions 375756 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/cdr.c, /: Prevent multiple CDR batches from conflicting when + scheduling the CDR write The Asterisk Test Suite caught an error + condition where a scheduled CDR batch write can be deleted twice + if two channels attempt to post their CDRs at the same time. The + batch CDR mutex is locked while the CDRs are appended to the + current batch list; however, it is unlocked prior to actually + scheduling the CDR write. As such, two threads can attempt to + remove the currently scheduled batch write at the same time, + resulting in an assertion error. This patch extends the time that + the mutex is locked to encompass actually scheduling the write. + This prevents two threads from unscheduling the currently + scheduled write at the same time. ........ Merged revisions + 375727 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 375728 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375729 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-02 21:03 +0000 [r375663] Damien Wedhorn + + * /, channels/chan_skinny.c: Fix for chan_skinny leaving RTP ports + open Skinny wasn't closing RTP sockets. This patch includes + ast_rtp_instance_stop before ast_rtp_instance_destroy which fixes + the problem. Also add destroy for VRTP (which I believe is + unused, but exists). Review: + https://reviewboard.asterisk.org/r/2176/ ........ Merged + revisions 375660 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-02 21:01 +0000 [r375628-375662] Richard Mudgett + + * /, main/ccss.c, main/format_pref.c, main/channel.c, + channels/chan_misdn.c: Things don't need to be that const. + ........ Merged revisions 375658 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375659 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375661 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, /: Multiple + revisions 375519-375524 ........ r375519 | rmudgett | 2012-10-30 + 16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines chan_misdn: Timer + primitives must be handled first. The frm->addr is a different + "address space" than the stack/instance address of other Lx + primitives. The test for B channel instance address could fail. + Patches: patch01_timers.diff (license #6372) patch uploaded by + Guenther Kelleter JIRA ABE-2888 ........ r375520 | rmudgett | + 2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines + chan_misdn: Free memory in error paths and other memory leaks. + The one line commented with BUG is not easily fixable because + there is no de-init function one can call. Patches: + patch02_memory.diff (license #6372) patch uploaded by Guenther + Kelleter JIRA ABE-2888 ........ r375521 | rmudgett | 2012-10-30 + 16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines chan_misdn: ISDN NT + L2 de-establish/establish * An NT-PTMP cannot de/establish L2 + since it doesn't know the TEIs. * On NT-PTP L2 is started when L1 + is finally active in handle_l1. * L2 deactivation logging + cleanup. * L2 aggregate link status is unknown for NT-PTMP, show + as "UNKN". * Removed unused functions and code for L2 handling. + Patches: patch03_L2estab.diff (license #6372) patch uploaded by + Guenther Kelleter Modified JIRA ABE-2888 ........ r375522 | + rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22 + lines chan_misdn: Fix broken upper_id/lower_id usage. Sending PH + prim via lower_id layer (3 or 1) simply does not work. For TE (3) + it returns an error (len=-6) which is not evaluated by + handle_l1(), so the L1 layer status ends up wrong. Instead PH + must be sent via L4, only then does it reach L1 without an error + message. And NT PH prims only reach L1 when they are sent to + layer 2 id. --> use upper_id to send PH primitives. * Check for + errors in PH_(DE)ACTIVATE | CONFIRM. * Debug messages are + improved. * The lower_id is now not used for anything, except: + Why is lower_id layer deleted when it wasn't created? I removed + this code since it looks very wrong. Patches: + patch04_l1activation.diff (license #6372) patch uploaded by + Guenther Kelleter JIRA ABE-2888 ........ r375523 | rmudgett | + 2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines + chan_misdn: Fix loss of B channels if L1 is down. If you make 2 + calls out an NT PTMP port which is not connected to any phone, + the B channel associated with that call becomes unusable until + Asterisk is restarted. The problem is the EVENT_SETUP is queued + when L1 is not up in misdn_lib_send_event(). If L1 cannot be + activated the event won't be dequeued. It gets even worse when + the call is hung up. The queued EVENT_SETUP will be overwritten + by an EVENT_DISCONNECT. The reserved B channel then will never be + freed. If later someone connects a phone to the port, L1 will + eventually activate and the queued EVENT_DISCONNECT is sent down + the stack. However, it is ignored because it is the wrong call + state. The real fix would be that activation and queueing for a + new SETUP is done by the NT stack. But since it doesn't, the + workaround must be removed because it doesn't always work. Fix: + The event is no longer queued but immediately sent to the stack. + If L1 cannot be activated, the L3 state machine that was started + by the EVENT_SETUP will do its work, i.e. a timeout will release + the B channel properly. The SETUP possibly cannot be sent the + first time but is resent by T303 in case L1 could be activated. + Patches: patch05_bchan-loss.diff (license #6372) patch uploaded + by Guenther Kelleter Modified JIRA ABE-2888 ........ r375524 | + rmudgett | 2012-10-30 18:26:05 -0500 (Tue, 30 Oct 2012) | 13 + lines chan_misdn: Remove some calls to exit(). Try proper cleanup + when something goes wrong in misdn_lib_init(). Especially do not + call exit()! * Fix memory leak because stack_destroy() does not + free the stack struct. Patches: patch06_cleanup-init.diff + (license #6372) patch uploaded by Guenther Kelleter Modified JIRA + ABE-2888 ........ Merged revisions 375519-375524 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier + ........ Merged revisions 375625 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375626 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375627 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-02 17:27 +0000 [r375614] Michael L. Young + + * /, channels/chan_sip.c: Fix Wrong Result In Debug Message For SDP + Origin Processing While looking at some debug logs, I noticed + that it was being reported that the SDP origin line was + unsupported or failed. Upon looking into this on my local + machine, I found that I too was getting this debug message yet + everything seemed to be getting processed properly. What was + discovered is, that, the variable to determine what is displayed + in the debug message for the SDP line that was processed, was not + being set for the origin line when the result was successful. + This patch fixes this and was tested on local machine. ........ + Merged revisions 375594 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375601 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375613 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-11-01 15:03 +0000 [r375576] Jonathan Rose + + * /, channels/chan_sip.c, configs/sip.conf.sample: chan_sip: Fix a + bug causing SIP reloads to remove all entries from the registry A + regression was introduced in chan_sip by changes to sip reload + introduced by r349097. That patch moved peer purging from the + beginning of the reload to after the general configuration was + finished. This patch fixes that by undoing the repositioning of + the original peer purging code and using a similar function after + performing general configuration that purges only autocreated + peers that were created when persist mode isn't enabled. (closes + issue ASTERISK-20611) Reported by: Alisher Review: + https://reviewboard.asterisk.org/r/2171/ ........ Merged + revisions 375575 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-31 18:01 +0000 [r375560] Joshua Colp + + * /, res/res_http_websocket.exports.in: Fix an issue with + res_http_websocket where the chan_sip WebSocket handler could not + be registered. On some systems the optional API support uses the + GCC compiler attribute "weakref" to provide its functionality. + This code changes the function names and prefixes "__" to the + front. The res_http_websocket exports file did not take this into + account, thereby not allowing those functions to be global and + ultimately found. (closes issue ASTERISK-20631) Reported by: + danjenkins ........ Merged revisions 375559 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-31 14:58 +0000 [r375533] Matthew Jordan + + * res/res_calendar_ews.c, /: Properly extract the Body information + of an EWS calendar item Unlike all other calendar modules, + res_calendar_ews fails to extract the Body information for a + calendar item. This is due, in part, to a quirk in the schema in + the XML - not only does a CalendarItem contain a Body element, + but the CalendarItem exists as a descendant of a different Body + element. The neon parser was erroneously skipping all Body + elements. This patch fixes that by bypassing Body elements that + are not a child of CalendarItem, and parsing the Body element out + if it is a child. Note that the original patch by Terry Wilson + only needed slight modifications to make it properly pull the + Body information out; as such, while I've linked to the patch + that I uploaded for Dmitry, I've attributed the patch to Terry. + (closes issue ASTERISK-19738) Reported by: Dmitry Burilov Tested + by: Dmitry Burilov patches: calendar_ews_body_2012_10_29.diff + uploaded by Terry Wilson (license 6283) ........ Merged revisions + 375528 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 375531 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375532 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-30 19:31 +0000 [r375511] Richard Mudgett + + * /, bridges/bridge_softmix.c: Fix ConfBridge crash if no timing + module loaded. (closes issue ASTERISK-19448) Reported by: feyfre + Patches: smfix.patch (license #6099) patch uploaded by feyfre + Modified for coding guidelines. ........ Merged revisions 375496 + from http://svn.asterisk.org/svn/asterisk/branches/10 ........ + Merged revisions 375506 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-30 19:20 +0000 [r375472-375498] Jonathan Rose + + * /, apps/app_mixmonitor.c: mixmonitor: Add a test event This test + event is being used to fix the mixmonitor_audiohook_inherit test. + ........ Merged revisions 375484 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375485 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375486 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, apps/app_confbridge.c: confbridge: Fix a bug which made + conferences not record with AMI/CLI commands When confbridge was + changed to handle conference status with a state machine in + r374658. The function responsible for starting recording for a + conference was refactored with the function actually responsible + for launching the recording thread being split into a function + with another name. The old function name was still used for + manually started recordings through AMI or CLI. This patch fixes + that by switching which function is used to start recording the + conference. (closes issue ASTERISK-20601) Reported by: Vilius + Patches: confbridge_mixmonitor.diff uploaded by Jonathan Rose + (license 6182) ........ Merged revisions 375470 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375471 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-29 21:38 +0000 [r375442-375443] Mark Michelson + + * /, channels/chan_sip.c: Prevent resetting of NATted realtime peer + address on reload. If a "sip reload" is issued for a SIP peer, + then his IP address will be cleared, thus resulting in forgetting + the public IP address. Asterisk will then attempt to route SIP + traffic to the private IP address. The fix here is to make "sip + reload" ignore realtime peers when "host = dynamic" is spotted. + Realtime peers can now only have their IP address reset if they + have gone from being not dynamic to being dynamic. (closes issue + ASTERISK-18203) reported by daren ferreira (closes issue + ASTERISK-20572) reported by JoshE Patches: fix_nat_realtime.diff + uploaded by JoshE (license #6075) ........ Merged revisions + 375415 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 375417 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375437 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * funcs/func_strings.c, UPGRADE.txt, channels/chan_mgcp.c, + main/pbx.c, apps/app_osplookup.c, channels/chan_sip.c, + channels/chan_skinny.c: Make evaluation of channel variables + consistently case-sensitive. Due to inconsistencies in how + variable names were evaluated, the decision was made to make all + evaluations case-sensitive. See the UPGRADE.txt file or + https://wiki.asterisk.org/wiki/display/AST/Case+Sensitivity for + more details. (closes issue ASTERISK-20163) reported by Matt + Jordan Review: https://reviewboard.asterisk.org/r/2160 + +2012-10-29 21:02 +0000 [r375416] Matthew Jordan + + * UPGRADE.txt, apps/app_queue.c: Ensure that CDRs for a caller in a + Queue that is not answered is NO ANSWER. When a caller enters a + queue and no queue member answers the call, the current behaviour + can be a little odd depending on the paused status of the queue + members. If any queue member is paused, but not all, the CDR + disposition will be BUSY. If all queue members are paused, then + the CDR disposition is based instead on the disposition of the + call prior to entering the Queue. This patch modifies the + behaviour in the following ways: * If no queue members are + paused, the CDR disposition is whatever the disposition was prior + to going into Queue. If the call was answered this will be + ANSWERED; otherwise, it is NO ANSWER. * If some queue members are + pused, the CDR result is NO ANSWER. (This is a change in + behaviour, as the result would previously have been BUSY) * If + all queue members are paused, the CDR result is whatever the + result was prior to going into Queue. This is the same as the + behaviour prior to this patch. * If the caller hangs up, times + out, or presses '*' with the 'h' option, the CDR disposition is + again not set and is dependent on whether or not the caller was + Answered prior to entering Queue. This patch was based on one + provided by Thomas Arimont, but has been modified to accomodate + findings by the reviewers. Review: + https://reviewboard.asterisk.org/r/2064/ (closes issue AST-906) + Reported by: Thomas Arimont (closes issue ASTERISK-17776) + Reported by: Attila Megyeri + +2012-10-29 19:31 +0000 [r375364-375391] Richard Mudgett + + * /, main/features.c: Fix the Park 'r' option when a channel parks + itself. When a channel uses the Park appliation to park itself + with the 'r' option, the channel hears music-on-hold instead of + the requested ringing. * Added a missing check for the 'r' option + when a channel parks itself. (closes issue ASTERISK-19382) + Reported by: James Stocks Patches by: dsessions Review: + https://reviewboard.asterisk.org/r/2148/ ........ Merged + revisions 375388 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375389 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375390 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_dahdi.c, /: chan_dahdi: Fix segfault dereferencing + a NULL tech_pvt. The tech support customer was using the AMI + Redirect action shortly after a call was placed. While the + channel tried to do an ast_read(), the masquerade resulting from + the channel redirect took place. The masquerade in the middle of + the ast_read() resulted in the segfault. (closes issue AST-1025) + Reported by: Trey Blancher Patches: jira_ast_1025_v1.8_v2.patch + (license #5621) patch uploaded by rmudgett ........ Merged + revisions 375361 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375362 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375363 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-23 16:22 +0000 [r375291-375328] Jonathan Rose + + * /, contrib/scripts/ast_tls_cert: ast_tls_cert script: Better + response for various exit conditions to openssl (closes issue + ASTERISK-20260) Reported by: Daniel O'Connor Patches: + ast_tls_cert-update.diff uploaded by Daniel O'Connor (license + 6419) ........ Merged revisions 375325 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375326 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375327 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/app.c: core: Fix a memory leak in app.c from an early + return ast_app_group_match_get_count allocates memory with the + regcomp function and we previously forgot to free it when bailing + out due to a regex compilation failure against category. (closes + issue AST-1018) Reported by: Guenther Kelleter Patches: + regcomp_memleak.diff uploaded by Guenther Kelleter (license 6372) + ........ Merged revisions 375299 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375300 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375301 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, codecs/gsm/src/code.c: GSM: Fix encoding problems with GSM + (closes issue ASTERISK-20457) Reported by: Richard Miller + Patches: code.patch uploaded by Richard Miller (license 5685) + ........ Merged revisions 375272 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375273 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375288 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-18 21:49 +0000 [r375240-375249] Jonathan Rose + + * UPGRADE.txt: app_queue: add upgrade notes for 375216 Adds UPGRADE + notes describing behavioral changes to rrmemory strategy caused + by 375216 (issue AST-989) Reported by: Thomas Arimont + + * /, apps/app_queue.c: app_queue: Make ordering of + rrmemory/rrordered persist over add/remove members Prior to this + patch, adding, removing or reloading members to rrmemory would + cause the order to become completely jumbled. Now it behaves more + or less like rrordered other than the fact that it stores the + members on a hash table rather than a linked list. This patch + also prevents removal of members and member reloads from jumbling + rrordered queues. (issue AST-989) Reported by: Thomas Arimont + Review: https://reviewboard.asterisk.org/r/2164/ ........ Merged + revisions 375216 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375217 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375219 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-18 20:31 +0000 [r375215] Michael L. Young + + * apps/app_alarmreceiver.c: Fix XML Document Validation Failure Fix + documentation error when validating the xml in trunk caused by + r375150. Moved the description end tag down to below the + variablelist element end tag. Found when compiling with + --dev-mode-enabled. (issue ASTERISK-20289) + +2012-10-18 20:13 +0000 [r375192] Richard Mudgett + + * makeopts.in, Makefile, /, build_tools/make_version, configure, + include/asterisk/autoconfig.h.in, configure.ac: build_tools: + Allow Asterisk to report git SHAs in version string. Make git + more attractive for managing work-in-progress. Especially + convenient when a potential patch set needs to be tested on + multiple platforms since one can use git to keep all the test + environments in sync independent of a subversion server. Now the + Asterisk version will show the exact git SHA5 that was used when + building (still appended by "M" if there are local modifications) + from a git clone of the Asterisk repository so the developer can + more easily know what is actually under test. You will now get + this: $ asterisk -V Asterisk GIT-1698298 Instead of this: $ + asterisk -V Asterisk UNKNOWN__and_probably_unsupported This has + zero impact for those not using git with the exception of an + extra test in the configure script to gather git's path. This is + necessary to prevent "sudo make install" from failing since git + may not be in the path in make's shell environment. (closes issue + ASTERISK-20483) Reported by: Shaun Ruffell Patches: + 0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch + (license #5417) patch uploaded by Shaun Ruffell Modified ........ + Merged revisions 375189 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375190 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375191 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-18 14:17 +0000 [r375182] Andrew Latham + + * Makefile.moddir_rules, main/cel.c, main/named_acl.c, main/enum.c, + Makefile, include/asterisk/paths.h, + include/asterisk/doxygen/releases.h, include/asterisk/compat.h, + main/features.c, include/asterisk/module.h, + include/asterisk/doxygen/reviewboard.h, main/logger.c, + main/http.c, include/asterisk/doxygen/licensing.h, main/dsp.c, + main/udptl.c, main/dnsmgr.c, contrib/asterisk-ng-doxygen, + Makefile.rules, codecs/log2comp.h, main/cli.c, main/cdr.c, + include/asterisk/doxyref.h, + include/asterisk/doxygen/asterisk-git-howto.h, main/manager.c, + main/app.c, pbx/pbx_dundi.c, include/asterisk/doxygen/commits.h, + include/asterisk/udptl.h, include/asterisk/smdi.h, + main/asterisk.c, include/asterisk/doxygen/architecture.h, + include/asterisk.h, main/ccss.c: Doxygen Updates - Title update + Update and extend the configuration_file group and enable + linking. Commit other cleanups from multi-version Doxygen + testing. Update title that was left behind many years ago. (issue + ASTERISK-20259) + +2012-10-17 20:34 +0000 [r375175] Jonathan Rose + + * main/manager.c: manager: remove curses dependent stuff from + r375103 Upon further examination, this code was causing + compliation problems on CentOS at the least (possibly on any + machine without curses) and also the local value of COLS is used + even with a remote console, so it is less than ideal. (issue + ASTERISK-20396) Reported by: Johan Wilfer + +2012-10-17 19:02 +0000 [r375150] Pedro Kiefer + + * configs/alarmreceiver.conf.sample, apps/app_alarmreceiver.c: Adds + new formats to app_alarmreceiver, ALAW calls support and enhanced + protection. Commiting this on behalf of Kaloyan Kovachev (license + 5506). AlarmReceiver now supports the following DTMF signaling + types: - ContactId - 4x1 - 4x2 - High Speed - Super Fast We are + also auto-detecting which signaling is being received. So support + for those protocols should work out-the-box. Correctly identify + ALAW / ULAW calls. Some enhanced protection for broken panels and + malicious callers where added. (closes issue ASTERISK-20289) + Reported by: Kaloyan Kovachev Review: + https://reviewboard.asterisk.org/r/2088/ + +2012-10-17 19:01 +0000 [r375149] Kinsey Moore + + * main/tcptls.c, /: Ensure Asterisk fails TCP/TLS SIP calls when + certificate checking fails When placing a call to a TCP/TLS SIP + endpoint whose certificate is not signed by a configured CA + certificate, Asterisk would issue a warning and continue to + process the call as if there was not an issue with the + certificate. Asterisk now properly fails the call if the + certificate fails verification or if the certificate does not + exist when certificate checking is enabled (the default + behavior). (closes issue ASTERISK-20559) Reported by: kmoore + Review: https://reviewboard.asterisk.org/r/2163/ ........ Merged + revisions 375146 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375147 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375148 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-17 14:24 +0000 [r375110-375137] Walter Doekes + + * res/res_rtp_asterisk.c, main/pbx.c, channels/chan_sip.c, + cdr/cdr_odbc.c: Change a few warnings to debug and the inverse. + Remove the "RTP Read too short" warning for RTP keepalives. + Remove the the warning about the application delimiter switch + from pipe to comma. (You should've done this by now.) Make + cdr_odbc report more when an insert fails. Make chan_sip warn + less when the peer wants SRTP (and we don't) or sends a zero port + to disable a media type. Review: + https://reviewboard.asterisk.org/r/2167 (closes issue + ASTERISK-20538) + + * /, channels/chan_sip.c: Fixes to the fd-oriented SIP TCP reads. + Don't crash on large user input. Allow SIP headers without space. + Optimize code a bit. Review: + https://reviewboard.asterisk.org/r/2162 ........ Merged revisions + 375111 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 375112 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375113 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_sip.c: Don't do SIP contact/route DNS if we're not + using the result. In many cases (for peers behind NAT or for TCP + sockets) we do not need to look up any hostname in the Contact + (or Route) when sending an in-dialog request. This should reduce + netsock2.c: getaddrinfo errors in certain scenarios. Review: + https://reviewboard.asterisk.org/r/2156 + +2012-10-16 20:45 +0000 [r375103] Jonathan Rose + + * main/manager.c, CHANGES: manager: Change display of 'manager show + commands' and 'manager show command' manager show commands now + shows the full name of the command being displayed regardless of + size. The privilege column has also been removed from this + display. It will also now use the full length of the terminal if + curses is available. Manager show command will now always display + the privilege of the manager command within the CLI. (closes + ASTERISK-20396) Reported by: Johan Wilfer Review: + https://reviewboard.asterisk.org/r/2143/ + +2012-10-16 19:26 +0000 [r375081] Pedro Kiefer + + * apps/app_alarmreceiver.c: Fixes two small regressions from + ASTERISK-20157 - receive_dtmf_digits had the wrong buffer length + - app_alarmreceiver should wait 100ms before sending the second + part of handshake (closes issue ASTERISK-20484) Reported by: + Jean-Philippe Lord Tested by: Jean-Philippe Lord, Pedro Kiefer + Patches: ASTERISK-20484_v2.diff uploaded by Kaloyan Kovachev + (license 5506) + +2012-10-16 19:25 +0000 [r375080] Walter Doekes + + * /, channels/chan_sip.c: Update sip_request_call SIP dial string + documentation. This was missed when merging review r1859. + ........ Merged revisions 375074 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375078 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375079 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-16 14:09 +0000 [r375052] Joshua Colp + + * channels/chan_iax2.c, /: Remove a log message that was left in + accidentally from call-id logging development. ........ Merged + revisions 375051 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-15 21:25 +0000 [r375044] Mark Michelson + + * /, main/ccss.c, include/asterisk/strings.h, channels/chan_iax2.c, + apps/app_dial.c: Fix some potential misuses of ast_str in the + code. Passing an ast_str pointer by value that then calls + ast_str_set(), ast_str_set_va(), ast_str_append(), or + ast_str_append_va() can result in the pointer originally passed + by value being invalidated if the ast_str had to be reallocated. + This fixes places in the code that do this. Only the example in + ccss.c could result in pointer invalidation though since the + other cases use a stack-allocated ast_str and cannot be + reallocated. I've also updated the doxygen in strings.h to + include notes about potential misuse of the functions mentioned + previously. Review: https://reviewboard.asterisk.org/r/2161 + ........ Merged revisions 375025 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 375026 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 375027 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-15 08:26 +0000 [r375017] Igor Goncharovskiy + + * /, channels/chan_unistim.c: Fix underscreen buttons warnings + apeared while transfer process ........ Merged revisions 375016 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-14 21:59 +0000 [r375003-375009] Andrew Latham + + * addons/chan_mobile.c, addons/app_mysql.c: Doxygen Updates Update + and extend the configuration_file group and enable linking. + (issue ASTERISK-20259) + + * utils/muted.c, utils/extconf.c: Doxygen Updates Update and extend + the configuration_file group and enable linking. (issue + ASTERISK-20259) + + * tests/Makefile, cel/Makefile, main/Makefile, addons/Makefile, + pbx/Makefile, formats/Makefile, sounds/Makefile, funcs/Makefile, + bridges/Makefile, agi/Makefile, codecs/Makefile, utils/Makefile: + Title update Update title that was left behind many years ago. + Used revision 6596 as my guide for what it should be. (issue + ASTERISK-20259) + + * channels/chan_jingle.c, channels/chan_phone.c, + channels/chan_dahdi.c, channels/iax2-parser.h, + channels/chan_misdn.c, channels/chan_skinny.c, + channels/chan_motif.c, channels/chan_h323.c, channels/iax2.h, + channels/chan_alsa.c, channels/chan_mgcp.c, channels/chan_vpb.cc, + channels/chan_sip.c, channels/chan_gtalk.c, + channels/chan_console.c, channels/Makefile, channels/chan_iax2.c, + channels/chan_oss.c: Doxygen Updates - Title update Update and + extend the configuration_file group and enable linking. Update + title that was left behind many years ago. (issue ASTERISK-20259) + + * cdr/cdr_syslog.c, cdr/Makefile, cdr/cdr_adaptive_odbc.c, + cdr/cdr_pgsql.c, cdr/cdr_odbc.c, cdr/cdr_radius.c, + cdr/cdr_custom.c, cdr/cdr_manager.c, cdr/cdr_csv.c: Doxygen + Updates - Title update Update and extend the configuration_file + group and enable linking. Update title that was left behind many + years ago. (issue ASTERISK-20259) + + * apps/app_followme.c, apps/app_queue.c, apps/app_adsiprog.c, + apps/app_voicemail.c, apps/Makefile, apps/app_meetme.c, + apps/app_festival.c, apps/app_fax.c, apps/app_skel.c, + apps/app_alarmreceiver.c, apps/app_amd.c, apps/app_confbridge.c: + Doxygen Updates - Title update Update and extend the + configuration_file group and enable linking to the application. + Update title that was left behind many years ago. (issue + ASTERISK-20259) + + * res/Makefile, res/res_xmpp.c, res/res_musiconhold.c, + res/res_jabber.c, res/res_config_sqlite.c, res/res_smdi.c, + res/res_curl.c, res/res_config_ldap.c, res/res_odbc.c, + res/res_clialiases.c, res/res_calendar.c, + res/res_config_sqlite3.c, res/res_config_pgsql.c, res/res_snmp.c, + res/res_limit.c, res/res_fax.c, res/res_phoneprov.c: Doxygen + Updates - Title update Update and extend the configuration_file + group and enable linking to the resource. Update title that was + left behind many years ago. (issue ASTERISK-20259) + +2012-10-14 12:23 +0000 [r374996] Tzafrir Cohen + + * config.guess, config.sub, /: Update config.guess and config.sub: + 2012-10-10 Update config.guess and config.sub to revision + fb456b34ef4aa02b95dc6be69aaa66fa94a844fb from the + savannah.gnu.org git repo. Adds support for e.g. aarch64 (ARM + 64bit). config.guess:timestamp='2012-09-25' + config.sub:timestamp='2012-10-10' ........ Merged revisions + 374977 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 374991 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374995 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-13 19:58 +0000 [r374940-374970] Andrew Latham + + * CREDITS: Update CREDITS Update Jean-Denis and add myself (issue + ASTERISK-20259) + + * Makefile: Multiplatform Makefile Update Paul Belanger pointed out + that using sed in the Makefile is an issue with multiple + platforms. We are cleaning up the Doxygen config as a following + step so I just switched the sed inplace changes to be an echo + append instead. (issue ASTERISK-20259) + + * main/app.c, apps/app_dial.c: Doxygen Clean ups Add app_skel.c as + an example in app.c and fix some formating for the "Dial Privacy + scripts" so it actually shows up in the Doxygen output. (issue + ASTERISK-20259) + + * Makefile: Test for Asterisk Version info Doxygen uses the + ASTERISKVERSION as a sub header. If a SVN export is done and no + .svn or .version file exists it defualts to + UNKNOWN__and_probably_unsupported which is honest but not great + for the online docs. During the "make progdocs" I added a test + for this and just warned and ommitted the version. (issue + ASTERISK-20259) + + * contrib/asterisk-ng-doxygen: Correct output directory During + testing I used an alternate output directory and mistakenly + committed it. Matt Jordan noticed and I reverted. This is the + correct setting for local output to match with all branches. + (issue ASTERISK-20259) + + * static-http/astman.css, static-http/ajamdemo.html: Add + licens/copyright header Begin update of static-http files and + general clean ups. This only adds the standard header to the + files. (issue ASTERISK-20503) + + * Makefile, configure, configure.ac, makeopts.in: Add check for + Doxygen The autoconf configuration system had a test for DOT but + not for Doxygen. I added the test for Doxygen and did an overhaul + of the Makefile check to a much simpler process. (issue + ASTERISK-20259) + +2012-10-12 21:58 +0000 [r374933] Kinsey Moore + + * apps/app_voicemail.c, /: Avoid a segfault on invalid format names + If a format name was not found by ast_getformatbyname, a NULL + pointer would be passed into ast_format_rate and immediately + dereferenced. This ensures that a valid pointer is used since the + structure is already allocated on the stack. (closes issue + DPH-523) Reported-by: Steve Pitts ........ Merged revisions + 374932 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-12 16:31 +0000 [r374924] Mark Michelson + + * include/asterisk/tcptls.h, main/tcptls.c, /, channels/chan_sip.c: + Do not use a FILE handle when doing SIP TCP reads. This is used + to solve an issue where a poll on a file descriptor does not + necessarily correspond to the readiness of a FILE handle to be + read. This change makes it so that for TCP connections, we do a + recv() on the file descriptor instead. Because TCP does not + guarantee that an entire message or even just one single message + will arrive during a read, a loop has been introduced to ensure + that we only attempt to handle a single message at a time. The + tcptls_session_instance structure has also had an overflow buffer + added to it so that if more than one TCP message arrives in one + go, there is a place to throw the excess. Huge thanks goes out to + Walter Doekes for doing extensive review on this change and + finding edge cases where code could fail. (closes issue + ASTERISK-20212) reported by Phil Ciccone Review: + https://reviewboard.asterisk.org/r/2123 ........ Merged revisions + 374905 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 374906 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374914 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-11 23:40 +0000 [r374879-374897] Andrew Latham + + * contrib/scripts/install_prereq: Append Doxygen to Debian packages + list Add Doxygen to the Debian install list. I will check for + other platforms like Red Hat (issue ASTERISK-20259) + + * static-http/mantest.html: Update JQuery URL to recent version The + JQuery URL to version 1.4 will be removed within the life span of + Asterisk 11. This is a compatible upgrade by using the URL for + 1.8. (issue ASTERISK-20503) + + * include/asterisk/module.h, main/manager.c: Continue to group + config files (issue ASTERISK-20259) + + * CREDITS: CREDITS clean up As discussed online + http://lists.digium.com/pipermail/asterisk-dev/2012-October/057245.html + the credits file needs some cleaning. This is 95% whitespace with + a few additions found in file headers. Further additions should + be added here instead of in the file being updated. (issue + ASTERISK-20259) + + * contrib/asterisk-ng-doxygen: Revert Local testing Config Revert a + local testing config that I made. This was not intended to be + committed. Thank you Matt Jordan for noticing this. (issue + ASTERISK-20259) + +2012-10-11 21:19 +0000 [r374852-374878] Joshua Colp + + * /, channels/chan_motif.c: Fix a bug where audio on Google Voice + would not work due to ignoring candidates. Instead of ignoring + parts of the message that are not known just ignore the ones we + know may be present and that would cause a problem. ........ + Merged revisions 374877 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_motif.c, /: Fix an issue where outgoing calls would + fail to establish audio due to ICE negotiation failures. This + change removes the requirement for ufrag and pwd in the transport + stanza and also makes us the controlling agent. (closes issue + ASTERISK-20554) Reported by: mmichelson ........ Merged revisions + 374850 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-11 15:49 +0000 [r374849] Mark Michelson + + * include/asterisk/sip_api.h, channels/chan_sip.exports.in + (removed), main/sip_api.c (added), /, channels/chan_sip.c: Don't + make chan_sip export global symbols. During testing, it was + discovered that having chan_sip export global symbols was + problematic. The biggest problem was that load order was + affected. Trying to use realtime could be problematic since in + all likelihood the necessary realtime driver(s) would not be + loaded before chan_sip. In addition, it was found that it was + impossible to use the Digium Phone Module for Asterisk since it + must be loaded before chan_sip since it must hook into chan_sip's + configuration parsing. The solution is to use a virtual table in + the same manner that other modules in Asterisk do, like + app_voicemail. (closes issue ASTERISK-20545) Reported by: kmoore + ........ Merged revisions 374842 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-11 15:44 +0000 [r374846] Matthew Jordan + + * main/cdr.c, /: Fix incorrect billing duration reported when batch + mode is enabled Similar to r369351, the billing duration can be + skewed when batch mode is enabled. This happened much more rarely + than the duration, as it only occured when the call was answered + (thereby indicating an actual answer time) and immediately hung + up on (indicating a billsec of 0). Since a billing time of '0' + can either mean that the call immediately ended or that the CDR + was improperly answered, we have to use additional information to + know whether or not we can trust the CDR billsec value. Prior to + this patch, we looked to see if we had a valid answer time. If we + did, and billsec was zero, we used the current time to calculate + what billsec value we could from the CDR being written. If batch + mode is enabled, this will incorrectly report a billsec value + being much greater than the actual duration of the call. Instead + of relying on the presence of an answer time to know whether or + not we can re-calculate the billsec for the CDR, we now also use + the presence of the CDR's end time to know if we need to + re-calculate or whether we can trust the billsec value that we + have. This prevents erroneous jumps in the billsec value, while + still making sure that in the worst case, some billing time will + be calculated. (closes issue AST-1016) Reported by: Thomas + Arimont Tested by: Thomas Arimont ........ Merged revisions + 374843 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 374844 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374845 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-11 13:34 +0000 [r374834] Joshua Colp + + * /, channels/chan_motif.c: Consider the Google Talk content stanza + name (jin:content) valid. ........ Merged revisions 374833 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-10 21:05 +0000 [r374805] Richard Mudgett + + * /, apps/app_queue.c: app_queue: Made pass connected line updates + from the caller to ringing queue members. Party A calls Party B + Party B puts Party A on hold. Party B calls a queue. Ringing + queue member D sees Party B identification. Party B transfers + Party A to the queue. Queue member D does not get a connected + line update for Party A. Queue member D answers the call and + still sees Party B information. However, if Party A later + transfers the call to Party C then queue member D gets a + connected line update for Party C. * Made pass connected line + updates from the caller to queue members while the queue members + are ringing. (closes issue AST-1017) Reported by: Thomas Arimont + (closes issue ABE-2886) Reported by: Thomas Arimont Tested by: + rmudgett ........ Merged revisions 374801 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier + ........ Merged revisions 374802 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374803 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374804 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-10 13:40 +0000 [r374793] Kinsey Moore + + * main/manager.c, /: Fix segfault regression from r370681 Due to + usage of ast_hook_send_action, AMI action handling code should be + able to handle a NULL mansession->session. This would cause a + crash on NULL dereference if action_originate was called from + ast_hook_send_action. (closes issue ASTERISK-20544) ........ + Merged revisions 374792 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-09 22:24 +0000 [r374778] Richard Mudgett + + * main/pbx.c, /: Fix execution of 'i' extension due to + uninitialized variable. The fix for ASTERISK-18243 added code + that could potentially use dst_exten[] uninitialized. As a result + the 'i' exten may not be executed when it should. (closes issue + ASTERISK-20455) Reported by: Richard Miller Patches: + pbx-1.8.16.0.diff (license #5685) patch uploaded by Richard + Miller Made some cosmetic modifications. ........ Merged + revisions 374758 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374763 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374771 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-09 21:35 +0000 [r374757] Joshua Colp + + * /, channels/chan_sip.c: Improve logging for DTLS-SRTP failure + situations. (closes issue ASTERISK-20487) Reported by: mjordan + ........ Merged revisions 374756 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-08 22:31 +0000 [r374717-374730] Richard Mudgett + + * configs/chan_dahdi.conf.sample, /: dahdi.conf.sample: Add + description for "buffers" setting. This contains an edited + version of the patch originally created by John Bigelow. (closes + issue ASTERISK-14435) Reported by: John Bigelow Patches: + buffers.patch (license #5091) patch uploaded by John Bigelow + 0001-dahdi.conf.sample-Add-description-for-buffers-settin.patch + (license #5417) patch uploaded by Shaun Ruffell Modified ........ + Merged revisions 374727 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374728 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374729 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * pbx/pbx_spool.c, /: Fix deletion of unopenable spool files. If + scan_service() cannot open the spool file, it logs a message + saying that it will delete the file and calls remove_from_queue() + to do it. However, remove_from_queue() fails to delete the spool + file because struct outgoing has not yet been fully initialized. + * Merged allocating a new struct outgoing and init_outgoing() + into new_outgoing(). Allocation is initialization. * Made + apply_outgoing() not initialize the spool filename in struct + outgoing. * Made apply_outgoing() call ast_trim_blanks() and + ast_skip_blanks() rather than manually inlining them. * Reduced + indentation levels in apply_outgoing(). * Fixed a garbled comment + in remove_from_queue(). * Reworked scan_service() to simplify it. + (closes issue ASTERISK-17231) Reported by: David Chappell + Patches: spool_open_failure.diff (license #4997) patch uploaded + by David Chappell Started with this patch. ........ Merged + revisions 374686 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 * Fixed some + memory leaks on off nominal paths in init_outgoing() when merging + into the new_outgoing() function dealing with o->capabilities. + ........ Merged revisions 374695 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374708 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-08 20:39 +0000 [r374633-374677] Matthew Jordan + + * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample: Disable ICE + support by default Since there are a number of legacy devices out + there that fail to handle ICE candidates properly (which is a + nice way of saying something much uglier), disable it by default. + Support for ICE candidates can be enabled in rtp.conf using the + icesupport setting. ........ Merged revisions 374676 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c + (added), apps/confbridge/conf_state_empty.c (added), + apps/confbridge/conf_state.c (added), + apps/confbridge/conf_state_single.c (added), + apps/confbridge/conf_state_inactive.c (added), + apps/confbridge/conf_state_single_marked.c (added), /, + apps/confbridge/include/confbridge.h, + apps/confbridge/include/conf_state.h (added), + apps/confbridge/conf_state_multi.c (added): Resolve issues in + ConfBridge regarding marked, waitmarked, and unmarked users + Thank's to Neil Tallim (flan)'s tireless testing, issue + reporting, and patches it became clear that app_confbridge had + some complex logic in how it handled interactions between marked, + waitmarked, and unmarked users. In particular, there were some + areas in which the interactions between the users resulted in + inconsistent behavior, and app_confbridge was missing logic in + how to handle some corner cases. Some areas included: * Poor + handling of mixing unmarked and waitmarked users * + Inconsistencies in how MOH and muting was applied to various + users * Handling of various announcements for different user + profile options flan's patches seem to fix the various issues, + but highlighted how hard the code could be to maintain. In an + attempt to make things easier to maintain and to more fully + enumerate the various cases that exist, this patch breaks up the + logic into a state machine-like setup. Please note that the + various state transitioned are documented on the Asterisk wiki: + https://wiki.asterisk.org/wiki/display/AST/Confbridge+state+changes + Review: //https://reviewboard.asterisk.org/r/2072/ Note that for + the following issues, mjordan uploaded the patch, although it was + written by twilson. Any contributor license discrepency is due to + that. (closes issue ASTERISK-19562) Reported by: flan Tested by: + flan, mjordan, jrose patches: + bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by + twilson (license 6283) (closes issue ASTERISK-19726) Reported by: + flan Tested by: flan patches: + bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by + twilson (license 6283) (closes issue ASTERISK-20181) Reported by: + Jonathan White Tested by: Jonathan White patches: + bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by + twilson (license 6283) ........ Merged revisions 374652 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374657 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, res/pjproject/pjlib/src/pj/sock_bsd.c, + res/pjproject/pjlib/src/pj/sock_linux_kernel.c, + res/pjproject/pjlib/include/pj/sock.h, + res/pjproject/pjlib/src/pj/sock_symbian.cpp: pjproject: Fix for + Solaris builds. Do not undef s_addr. pjproject, in order to solve + build problems on Windows [1], undefines s_addr in one of it's + headers that is included in res_rtp_asterisk.c. On Solaris s_addr + is not a structure member, but defined to map to the real + strucuture member, therefore when building on Solaris it's + possible to get build errors like: [CC] res_rtp_asterisk.c -> + res_rtp_asterisk.o In file included from + /export/home/admin/asterisk-11-svn/include/asterisk/stun.h:29, + from res_rtp_asterisk.c:51: + /export/home/admin/asterisk-11-svn/include/asterisk/network.h: In + function `inaddrcmp': + /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92: + error: structure has no member named `s_addr' + /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92: + error: structure has no member named `s_addr' res_rtp_asterisk.c: + In function `ast_rtp_on_ice_tx_pkt': res_rtp_asterisk.c:706: + warning: dereferencing type-punned pointer will break + strict-aliasing rules res_rtp_asterisk.c:710: warning: + dereferencing type-punned pointer will break strict-aliasing + rules res_rtp_asterisk.c: In function + `rtp_add_candidates_to_ice': res_rtp_asterisk.c:1085: error: + structure has no member named `s_addr' make[2]: *** + [res_rtp_asterisk.o] Error 1 make[1]: *** [res] Error 2 make[1]: + Leaving directory `/export/home/admin/asterisk-11-svn' gmake: *** + [_cleantest_all] Error 2 Unfortunately, in order to make this + work, I also had to make sure pjproject only used the typdef + pj_in_addr and not the struct pj_in_addr so that when building + Asterisk I could "typedef struct in_addr pj_in_addr". It's + possible then that the library and users of those interfaces in + Asterisk have a different idea about the type of the argument, + while on the surface it looks like they are all 32 bit big endian + values. [1] http://trac.pjsip.org/repos/changeset/484 (issues + ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang, + mjordan patches: + 0001-pjproject-Fix-for-Solaris-builds.-Do-not-undef-s.patch + uploaded by Shaun Ruffell (license 5417) ........ Merged + revisions 374642 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/acl.c: Trivial patch to make 'best_score' defined for all + architectures. Fixes trivial build error on Solaris: acl.c: In + function `get_local_address': acl.c:196: error: `best_score' + undeclared (first use in this function) acl.c:196: error: (Each + undeclared identifier is reported only once acl.c:196: error: for + each function it appears in.) make[2]: *** [acl.o] Error 1 (issue + ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang + patches: + 0002-main-acl.c-Trivial.-best_score-should-be-defined-for.patch + by Shaun Ruffell (license 5417) ........ Merged revisions 374632 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-06 03:22 +0000 [r374612-374623] Matthew Jordan + + * res/res_xmpp.c, /: Handle capability stanzas that fail to provide + node or version information While XEP-0115 states that the node + and ver attributes are both required, some devices fail to + provide either field. Prior to this patch, failure to provide the + node or ver attribute would cause a crash in res_xmpp. While + failing to provide the node or ver attribute is technically + invalid, since this information is not utilized by Asterisk + except for reporting purposes, for interoperability reasons, we + continue to process the capability stanza anyways. (closes issue + ASTERISK-20495) Reported by: Martin W Tested by: Martin W + patches: 20495.patch uploaded by Martin W (license #6434) + ........ Merged revisions 374622 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_xmpp.c, main/message.c, /: Update documentation for + MessageSend application/command's From field for XMPP When using + the channel technology agnostic application/AMI command + MessageSend, the "From" field is technically optional for the SIP + channel driver. However, if being sent by the XMPP resource + module (either res_xmpp or res_jabber), the "From" field is + necessary, and must correspond to a defined account. This patch + updates the documentation for this application/AMI command to + reflect this. (closes issue ASTERISK-20405) Reported by: Leif + Madsen ........ Merged revisions 374611 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-05 20:33 +0000 [r374588] David M. Lee + + * main/manager.c, /: Multiple revisions 374570,374581 ........ + r374570 | dlee | 2012-10-05 15:14:41 -0500 (Fri, 05 Oct 2012) | + 22 lines Improve AMI long line error handling In AMI's parser, + when it receives a long line (> 1024 characters), it discards + that line, but continues to process the message normally. + Typically, this is not a problem because a) who has lines that + long and b) usually a discarded line results in an invalid + message. But if that line is specifying an optional field, then + the message will be processed, you get a 'Response: Success', but + things don't work the way you expected them to. This patch + changes the behavior when a line-too-long parse error occurs. * + Changes the log message to avoid way-too-long (and truncated + anyways) log messages * Adds a 'parsing' status flag to Response: + Success * Sets parsing = MESSAGE_LINE_TOO_LONG if, well, a line + is too long * Responds with an appropriate error if parsing != + MESSAGE_OKAY (closes issue AST-961) Reported by: John Bigelow + Review: https://reviewboard.asterisk.org/r/2142/ ........ r374581 + | dlee | 2012-10-05 15:20:28 -0500 (Fri, 05 Oct 2012) | 1 line + I've committed too much. Reverting part of r374570. ........ + Merged revisions 374570,374581 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374586 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374587 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-05 18:42 +0000 [r374539] Richard Mudgett + + * channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, + channels/chan_misdn.c, /, channels/misdn/isdn_msg_parser.c: + Merged revisions 374515-374535 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier + ................ r374515 | rmudgett | 2012-10-04 17:52:36 -0500 + (Thu, 04 Oct 2012) | 10 lines chan_misdn: Remove some deadcode * + Made setup_bc() static. Patches: patch1_unused-code.diff (license + #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2882 + ................ r374516 | rmudgett | 2012-10-04 18:01:01 -0500 + (Thu, 04 Oct 2012) | 7 lines chan_misdn: Remove unused bchan + states Patches: patch2_unused-states.diff (license #6372) patch + uploaded by Guenther Kelleter JIRA ABE-2882 ................ + r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012) + | 16 lines chan_misdn: Remove unnecessary null pointer checks and + checks for stack->nt * cleanup_bc() is always called with valid + bc (or it would've crashed before). * Value of stack->nt is known + in advance at some places. * Rename handle_event() to + handle_event_te(), handle_frm() to handle_frm_te(). Patches: + patch3_checks.diff (license #6372) patch uploaded by Guenther + Kelleter Modified JIRA ABE-2882 ................ r374518 | + rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines + chan_misdn: Fix spelling in log messages Patches: + patch4_spelling.diff (license #6372) patch uploaded by Guenther + Kelleter JIRA ABE-2882 ................ r374519 | rmudgett | + 2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines + chan_misdn: Don't cleanup a bc twice. In handle_frm_te() after + calling misdn_lib_send_event(bc, EVENT_RELEASE_COMPLETE) bc is + emptied, cleaned and set not in use, although + misdn_lib_send_event() already did the same. This is bad. When + it's not in use we are not allowed to touch it. * Moved log + message in front of the resulting actions and fixed it to match + the case. Patches: patch5_bccleanup.diff (license #6372) patch + uploaded by Guenther Kelleter JIRA ABE-2882 ................ + r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012) + | 12 lines chan_misdn: Fix memory leaks, bc, chan not cleaned up + etc., really bad stuff. * Fix return codes of cb_events() for + EVENT_SETUP to use caller's cleanup mechanisms. * Move + cl_queue_chan() call after bearer check. Patches: + patch6_leaks.diff (license #6372) patch uploaded by Guenther + Kelleter JIRA ABE-2882 ................ r374521 | rmudgett | + 2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines + chan_misdn: We must initialize cause on sending a DISCONNECT. We + must initialize cause on sending a DISCONNECT, so it is later + correctly indicated to ast_channel in case the answer + (RELEASE/RELEASE_COMPLETE) does not include one. Patches: + patch7_hangupcause.diff (license #6372) patch uploaded by + Guenther Kelleter JIRA ABE-2882 ................ r374522 | + rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines + chan_misdn: Remove unused code for upqueue Patches: + patch8_unused-upqueue.diff (license #6372) patch uploaded by + Guenther Kelleter JIRA ABE-2882 ................ r374523 | + rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines + chan_misdn: Improve debugging (port number, messages fixed, dups + removed) Patches: patch9_debug.diff (license #6372) patch + uploaded by Guenther Kelleter JIRA ABE-2882 ................ + r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012) + | 8 lines chan_misdn: Better debug: we can print_bc_info even if + there's no ast leg. Patches: patch10_debug-bc-2.diff (license + #6372) patch uploaded by Guenther Kelleter Modified. JIRA + ABE-2882 ................ r374534 | rmudgett | 2012-10-05 + 12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines chan_misdn: + setup_bc() is called too early for an incoming SETUP on TE. This + prevents the B channel from being setup for HDLC mode when + requested by the bearer capability and config option hdlc=yes. It + violates ETS300102 Ch.5.2.3.2: "The user, in any case, must not + connect to the channel until a CONNECT ACKNOWLEDGE message has + been received." * Call setup_bc() on receipt of + CONNECT_ACKNOWLEGDE for PTMP, and on first response to SETUP for + PTP. Patches: abe-2881-2.diff (license #6372) patch uploaded by + Guenther Kelleter Modified. JIRA ABE-2881 ................ + r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012) + | 2 lines chan_misdn: Remove some more deadcode. ................ + ........ Merged revisions 374536 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374537 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374538 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-04 20:21 +0000 [r374478-374493] Alec L Davis + + * /, configs/dsp.conf.sample, CHANGES, main/dsp.c: dsp.c User + Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END Instead of + a recompile, allow values to be adjusted in dsp.conf For binary + distributions allows easy adjustment for wobbly GSM calls, and + other reasons. Defaults to DTMF_HITS_TO_BEGIN=2 and + DTMF_MISSES_TO_END=3 (closes issue ASTERISK-17493) Reported by: + alecdavis Tested by: alecdavis alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2144/ ........ Merged + revisions 374479 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374481 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374485 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/dsp.c: dsp.c fix incorrect DTMF Digit_Duration. it's + always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if + hitstobegin=2 (issue ASTERISK-16003) Tested by: alecdavis + alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2145/ ........ Merged + revisions 374475 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374476 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374477 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-04 15:48 +0000 [r374429] David M. Lee + + * /, res/res_agi.c, main/db.c: Fix DBDelTree error codes for AMI, + CLI and AGI The AMI DBDelTree command will return Success/Key + tree deleted successfully even if the given key does not exist. + The CLI command 'database deltree' had a similar problem, but was + saved because it actually responded with '0 database entries + removed'. AGI had a slightly different error, where it would + return success if the database was unavailable. This came from + confusion about the ast_db_deltree retval, which is -1 in the + event of a database error, or number of entries deleted + (including 0 for deleting nothing). * Changed some poorly named + res variables to num_deleted * Specified specific errors when + calling ast_db_deltree (database unavailable vs. entry not found + vs. success) * Fixed similar bug in AGI database deltree, where + 'Database unavailable' results in successful result (closes issue + AST-967) Reported by: John Bigelow Review: + https://reviewboard.asterisk.org/r/2138/ ........ Merged + revisions 374426 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374427 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374428 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-04 13:49 +0000 [r374414] Joshua Colp + + * main/rtp_engine.c, channels/chan_sip.c, + include/asterisk/rtp_engine.h: Add support for applying direct + media ACLs between differing channel technologies. Review: + https://reviewboard.asterisk.org/r/2122/ + +2012-10-04 04:50 +0000 [r374387] Alec L Davis + + * /, configs/dsp.conf.sample, CHANGES, main/dsp.c: dsp.c User + configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values + Asterisk's DTMF Specifications are based on AT&T specs, which may + not be compatible in other countries. Various countries have + different specifications for the maximum power level differences + between the DTMF low group and high group of frequencies. Power + level difference between frequencies for different + Administrations/RPOAs NTT = Max. 5 dB AT&T = 4dB(reverse) to + 8dB(normal) Danish = Max. 6 dB Australian = Max. 10 dB Brazilian + = Max. 9 dB ETSI = Max. 6 dB from ETSI ES 201 235-3 V1.3.1 + (2006-03) Now allow 4 variables to be individually configured in + dsp.conf, with reasonable min/max of 2dB to 20dB. Default is AT&T + specifications Add's the following variables to dsp.conf + ;dtmf_normal_twist=6.31 ;dtmf_reverse_twist=2.51 + ;relax_dtmf_normal_twist=6.31 ;relax_dtmf_reverse_twist=3.98 + (closes issue ASTERISK-20442) Reported by: tbsky Tested by: + tbsky,alecdavis alecdavis (license 585) Review + https://reviewboard.asterisk.org/r/2141/ ........ Merged + revisions 374384 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374385 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374386 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-04 02:16 +0000 [r374302-374338] Matthew Jordan + + * /, res/res_jabber.c: Check for presence of buddy in info/dinfo + handlers The res_jabber resource module uses the ASTOBJ library + for managing its ref counted objects. After calling + ASTOBJ_CONTAINER_FIND to locate a buddy object, the pointer to + the object has to be checked to see if the buddy existed. Prior + to this patch, the buddy object was not checked for NULL; with + this patch in both aji_client_info_handler and aji_dinfo_handler + the pointer is checked before used and, if no buddy object was + found, the handlers return an error code. This patch does not + take the approach that our JID can be used to log in from another + resource. If that approach is desired, an improvement could be + made to this patch to create the buddy on the fly. This patch + seeks only to prevent Asterisk from crashing. FYI: In Asterisk + 11+, you really should be using res_xmpp. It does not have this + problem, as it moved to the astobj2 library. Note that multiple + people have proposed patches for this issue; the patch being + committed here is based on those. (closes issue ASTERISK-19532) + Reported by: Karsten Wemheuer Tested by: Byron Clark patches: + fix-jabber uploaded by Karsten Wemheuer (license #5930) + xmpp_no_crash_with_ejabberd.patch uploaded by Byron Clark + (license #6157) (closes issue ASTERISK-19557) Reported by: + ulugutz ........ Merged revisions 374335 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374336 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374337 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/ccss.c: Destroy the generic_monitors container after the + core_instances in ccss For each item in core_instances disposed + of in the shutdown of ccss, any generic monitor instances + referenced by the objects will be removed from generic_monitors + during their destruction. Hilarity ensues if generic_monitors no + longer exists. Thanks to the Asterisk Test Suite's generic_ccss + test for complaining loudly when it ran into this. ........ + Merged revisions 374300 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374301 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-02 23:23 +0000 [r374269-374279] Richard Mudgett + + * main/astobj2.c: Missed an astobj2.c debug tag. + + * main/astobj2.c: * Add ref debug tags to astobj2.c ref usage. * + Make container nodes not show up in the ref debug log. + +2012-10-02 21:26 +0000 [r374197-374259] Matthew Jordan + + * main/asterisk.c, /: Ensure Shutdown AMI event is still fired + during Asterisk shutdown Richard pointed out that having the + manager dispose of itself gracefully during shutdown meant that + the Shutdown event will no longer get fired. This patch moves the + AMI event just prior to running the atexit callbacks. ........ + Merged revisions 374230 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374231 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374248 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * utils/hashtest2.c: Modify hashtest2 to compile after r374213. + Someone, somewhere, may care. Because hashtest2 has to provide + symbols for things in asterisk that items it includes may use, + when astobj2 decided to use ast_register_atexit it needed to + provide a declaration for that as well. Otherwise - no linky. On + a related note, ASTERISK-20505 was filed to convert + hashtest/hashtest2 into actual unit tests, so we don't run into + this problem again. + + * /, main/astobj2.c, main/message.c: Fix findings from check-in on + r374177 Richard pointed out two problems with the check-in from + r374177: * The ast_msg_shutdown function declaration doesn't + match the prototype in main/message.c. * The ref/alloc function + usage in astobj2 (in trunk) can use the ao2_t_* variants of the + functions to allow the REF_DEBUG flag to enable/disable their + debug counterparts. ........ Merged revisions 374210 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374211 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/asterisk.c, main/db.c, main/xmldoc.c, main/format.c, + main/udptl.c, main/pbx.c, /, main/ccss.c, + include/asterisk/astobj2.h, channels/chan_agent.c, + res/res_xmpp.c, main/taskprocessor.c, res/res_musiconhold.c, + main/named_acl.c, main/cel.c, main/astobj2.c, main/format_pref.c, + main/indications.c, main/channel.c, main/data.c, main/manager.c, + main/features.c, main/config_options.c, main/event.c, + main/message.c: Fix a variety of ref counting issues This patch + resolves a number of ref leaks that occur primarily on Asterisk + shutdown. It adds a variety of shutdown routines to core portions + of Asterisk such that they can reclaim resources allocate duringd + initialization. Review: https://reviewboard.asterisk.org/r/2137 + ........ Merged revisions 374177 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374178 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374196 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-01 23:39 +0000 [r374164-374167] Andrew Latham + + * main/asterisk.c, addons/app_mysql.c, include/asterisk/doxyref.h, + contrib/asterisk-ng-doxygen, main/http.c: Doxygen Cleanup Start + adding configuration file linking and pages. Add module loading + doxygen block. Breaking up commits to keep it easy to track + (issue ASTERISK-20259) + + * channels/chan_mgcp.c, channels/chan_jingle.c, + channels/chan_dahdi.c, channels/chan_misdn.c, + channels/chan_vpb.cc, channels/chan_sip.c, + channels/chan_skinny.c, channels/chan_motif.c, + channels/chan_alsa.c, channels/chan_console.c, + channels/chan_gtalk.c, channels/chan_iax2.c, channels/chan_oss.c: + Doxygen Cleanup Start adding configuration file linking and + pages. Add module loading doxygen block. Breaking up commits to + keep it easy to track (issue ASTERISK-20259) + + * res/res_snmp.c, res/res_fax.c, res/res_phoneprov.c, + res/res_musiconhold.c, res/res_xmpp.c, res/res_config_ldap.c, + res/res_curl.c, res/res_config_sqlite.c, res/res_timing_kqueue.c, + res/res_odbc.c, res/res_calendar.c, res/res_clialiases.c, + res/res_config_sqlite3.c, res/res_smdi.c: Doxygen Cleanup Start + adding configuration file linking and pages. Add module loading + doxygen block. Breaking up commits to keep it easy to track + (issue ASTERISK-20259) + + * apps/app_followme.c, apps/app_queue.c, apps/app_adsiprog.c, + apps/app_voicemail.c, apps/app_meetme.c, apps/app_festival.c, + apps/app_skel.c, apps/app_alarmreceiver.c, apps/app_amd.c, + apps/app_confbridge.c: Doxygen Cleanup Start adding configuration + file linking and pages. Add module loading doxygen block. (issue + ASTERISK-20259) + +2012-10-01 20:36 +0000 [r374134-374151] Sean Bright + + * /, tests/test_db.c, apps/app_queue.c, main/db.c, + include/asterisk/astdb.h: app_queue: Support persisting and + loading of long member lists. Greenlight in #asterisk brought up + that he was receiving an error message "Could not create + persistent member string, out of space" when running app_queue in + Asterisk 10. dump_queue_members() made an assumption that 8K + would be enough to store the generated string, but with queues + that have large member lists this is not always the case. This + patch removes the limitation and uses ast_str instead of a fixed + sized buffer. The complicating factor comes from the fact that + ast_db_get requires a buffer and buffer size argument, which + doesn't let us pull back more than what we pass in, so I + introduced a new ast_db_get_allocated() which returns an + ast_strdup()'d copy of the value from astdb. As an aside, I did + some testing on the maximum size of data that we can store in the + BDB library we distribute and was able to store a 10MB string and + retrieve it with no problems, so I feel this is a safe patch. + Review: https://reviewboard.asterisk.org/r/2136/ ........ Merged + revisions 374108 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 374135 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374150 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/db.c: Use ast_copy_string instead of strncpy to guarantee + a NUL terminated string. ........ Merged revisions 374132 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374133 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-01 17:05 +0000 [r374109] Richard Mudgett + + * main/cli.c: Change core show help output format. The CLI "core + show help" output leaves something to be desired. 1) The command + is truncated to a maximum of 30 characters. 2) The output columns + are mirrored from the 31st column. Current output format: logger + mute Toggle logging output to a console logger reload Reopens the + log files logger rotate Rotates and reopens the log files logger + set level {DEBUG|NOTICE Enables/Disables a specific logging level + for this console logger show channels List configured log + channels New format: logger mute -- Toggle logging output to a + console logger reload -- Reopens the log files logger rotate -- + Rotates and reopens the log files logger set level + {DEBUG|NOTICE|WARNING|ERROR|VERBOSE|DTMF} {on|off} -- + Enables/Disables a specific logging level for this console logger + show channels -- List configured log channels Review: + https://reviewboard.asterisk.org/r/2133/ + +2012-10-01 16:26 +0000 [r374107] Mark Michelson + + * apps/confbridge/conf_config_parser.c, /: Don't destroy confbridge + config when error is encountered during a reload. Not panicking + means that the old config is kept. (closes issue ASTERISK-20458) + Reported by: Leif Madsen Patches: ASTERISK-20458.patch uploaded + by Mark Michelson(license #5049) Tested by Leif Madsen ........ + Merged revisions 374106 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-10-01 12:29 +0000 [r374096] Joshua Colp + + * include/asterisk/speech.h, res/res_speech.c, + apps/app_speech_utils.c: Add support for retrieving engine + specific settings using the speech API and from dialplan. (closes + issue ASTERISK-17136) Reported by: kenner + +2012-09-29 03:56 +0000 [r374086] Matthew Jordan + + * /, channels/chan_sip.c: Fix ref leak when adding ICE candidates + to an SDP There was a missing decrement to the reference count + for the current ICE candidate when local candidates are being + added to an outbound SDP. This patch corrects that. ........ + Merged revisions 374085 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-28 22:11 +0000 [r374075] Richard Mudgett + + * res/res_agi.c: Include channel uniqueid in "AsyncAGI" and + "AGIExec" events. * Added AMI event documentation for AsyncAGI + and AGIExec events. (closes issue ASTERISK-20318) Reported by: + Dan Cropp Patches: res_agi_patch.txt (license #6422) patch + uploaded by Dan Cropp modified for trunk. + +2012-09-28 19:37 +0000 [r374060] Jonathan Rose + + * res/res_jabber.c, /: res_jabber: Remove CLI command 'jabber test' + The opinion of development was that it is both improper to have + Matt's personal email address used in the source and that the + command wouldn't be useful without it. (closes issue AST-467) + Reported by: Malcolm Davenport ........ Merged revisions 374032 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 374045 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 374059 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-28 18:27 +0000 [r374030] Richard Mudgett + + * channels/chan_dahdi.c, channels/sig_analog.c, UPGRADE.txt, + main/app.c, apps/app_senddtmf.c: Add pause one second W dial + modifier. * The following dialplan applications now recognize 'W' + to pause sending DTMF for one second in addition to the + previously existing 'w' that paused sending DTMF for half a + second. Dial, ExternalIVR, and SendDTMF. * The chan_dahdi analog + port dialing and deferred DTMF dialing for PRI now distinguishes + between 'w' and 'W'. The 'w' pauses dialing for half a second. + The 'W' pauses dialing for one second. * Created dahdi_dial_str() + in chan_dahdi that eliminated a lot of duplicated dialing code + and diagnostic messages for the channel driver. (closes issue + ASTERISK-20039) Reported by: Jeremiah Gowdy Patches: + jgowdy-wait-6-22-2012.diff (license #5621) patch uploaded by + Jeremiah Gowdy Expanded patch to add support in chan_dahdi. + Tested by: rmudgett + +2012-09-28 13:04 +0000 [r374020] Brent Eagles + + * res/res_xmpp.c, main/message.c, /: Reset hangup flags on channels + created through messages and cleanup globals in res_xmpp on + unload. This patch fixes an issue where hangup flags were not + being reset on a channel, affecting subsequent use of that + channel. The patch also adds some additional cleanup to res_xmpp + to fix an issue with reloading the module. (closes + ASTERISK-20360) Reported by: Noah Engelberth Tested by: beagles + Review: https://reviewboard.asterisk.org/r/2134/ ........ Merged + revisions 374019 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-28 12:17 +0000 [r373992] Joshua Colp + + * /, res/res_agi.c: Update documentation to make it explicit that + "stream file" will not restart musiconhold. (issue + ASTERISK-17367) Reported by: oej ........ Merged revisions 373989 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 373990 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373991 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-28 03:06 +0000 [r373979] Matthew Jordan + + * CHANGES, apps/app_senddtmf.c: Add Duration header for PlayDTMF + AMI Action This patch adds an optional header to the PlayDTMF AMI + action, Duration. It allows the duration of the DTMF digit to be + played on the channel to be specified in milliseconds. (closes + issue ASTERISK-18172) Reported by: Renato dos Santos patches: + send-dtmf.patch uploaded by Renato dos Santos (license #6267) + Modified slightly for this commit for Asterisk 12. + +2012-09-27 22:43 +0000 [r373965-373967] Richard Mudgett + + * apps/app_dial.c: Tweak app_dial documentation. + + * main/app.c: Cleanup ast_dtmf_stream() * Made ast_dtmf_stream() + wait after starting the silence generator rather than before. * + Made ast_dtmf_stream() put the peer in autoservice for the whole + time things are being done to the chan. + + * apps/app_senddtmf.c, /: Fix SendDTMF crash and channel reference + leak using channel name parameter. The SendDTMF channel name + parameter has two issues. 1) Crashes if the channel name does not + exist. 2) Leaks a channel reference if the channel is the current + channel. Problem introduced by ASTERISK-15956. * Updated SendDTMF + documentation. * Renamed app to senddtmf_name and tweaked the + type. ........ Merged revisions 373945 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373946 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373954 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-27 17:12 +0000 [r373915] Joshua Colp + + * /, channels/chan_sip.c, include/asterisk/http_websocket.h, + res/res_http_websocket.c: Make res_http_websocket an optional + dependency on supported platforms for chan_sip. (closes issue + ASTERISK-20439) Reported by: sruffell Patches: + 0001-chan_sip-websocket-support-is-an-optional-API.patch uploaded + by sruffell (license 5417) ........ Merged revisions 373914 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-27 17:02 +0000 [r373913] Kinsey Moore + + * CHANGES, apps/app_voicemail.c: Add VoicemailRefresh AMI Action + Currently, if there are modifications to mailboxes that Asterisk + is not aware of, the user needs to add "pollmailboxes" to their + mailbox configuration, which repeatedly polls the subscribed + mailboxes for changes. This results in a lot of extra work for + the CPU. This patch introduces the AMI command VoicemailRefresh + which permits external applications to trigger the refresh + themselves. The refresh can apply to a specified mailbox only, an + entire context, or all configured mailboxes. Even a refresh + performed on every mailbox would not consume as much CPU as the + pollmailboxes option, given that pollmailboxes runs continuously + and this only runs on demand. (closes issue ASTERISK-17206) + (closes issue ASTERISK-19908) Reported-by: Jeff Hutchins + Reported-by: Tilghman Lesher Patch-by: Tilghman Lesher + +2012-09-27 16:53 +0000 [r373881-373912] Joshua Colp + + * /, main/loader.c: loader: Ensure dependent modules are properly + initialized. If an Asterisk module specifies a dependency in + ast_module_info.nonoptreq, it is possible for Asterisk to skip + calling the modules's .load function. Asterisk was loading and + linking the module via load_dynamic_module() but was not adding + the module to the resource_heap. Therefore the module was not + initialized based on it's priority along with the other modules + in the heap. Now use load_resource() instead of + load_dynamic_module() for non-optional requirement. This will add + the module to the resource_heap so the module can be properly + initialized in the correct order. This is required if there are + any module global data structures initialized in the .load() + callback for the module on platforms which do not support weak + references. (issue ASTERISK-20439) Reported by: sruffell Patches: + 0001-loader-Ensure-dependent-modules-are-properly-initial.patch + uploaded by sruffell (license 5417) ........ Merged revisions + 373909 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 373910 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373911 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_local.c, /: Fix an issue where Local channels + dialed by app_queue are considered in use immediately. The + chan_local channel driver returns a device state of in use even + if a created Local channel has not yet been dialed. This fix + changes the logic to return a state of not in use until the + channel itself has been dialed. (closes issue ASTERISK-20390) + Reported by: tim_ringenbach Review: + https://reviewboard.asterisk.org/r/2116/ ........ Merged + revisions 373878 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373879 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373880 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-26 21:17 +0000 [r373852] Mark Michelson + + * /, channels/chan_sip.c: Move handling of 408 response so there is + no misleading warning message. (closes issue ASTERISK-20060) + Reported by: Walter Doekes ........ Merged revisions 373848 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373849 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373850 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-26 18:23 +0000 [r373835] Richard Mudgett + + * /, apps/app_meetme.c: Fixed meetme tab completion and command + documentation. * Removed unnecessary case sensitivity in meetme + list, lock, unlock, mute, unmute, and kick commands. * Separated + meetme lock/unlock, mute/unmute, and kick commands into their own + registered commands to simplify tab completion and parameter + checking. meetme_lock_cmd(), meetme_mute_cmd(), and + meetme_kick_cmd() * Simplified meetme_show_cmd() (closes issue + AST-1006) Reported by: John Bigelow Tested by: rmudgett ........ + Merged revisions 373815 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373816 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373818 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-26 08:31 +0000 [r373805] Alec L Davis + + * /, apps/app_queue.c: app_queue: 'agent available' hint, cleanup + restart, and initial state Fix previously untested senarios; 1). + On queue initialisation set queue_avail devstate to INUSE. + Previously was unavailable, which indicated an agent was + available. 2). When removing members, if there are no other + members available, set queue_avail to INUSE. Previously, if a + member interface had become 'unavailable', they were never going + to be removed, particularly when persistant queues is enabled. + 3). When adding a member, check that they are available, if they + are set queue_avail to NOT_INUSE. Previously on reloaded, members + may have been 'unavailable'. 4). When pausing or unpausing a + member, set appropriate queue availability. alecdavis (license + 585) Reported by: Alec Davis Tested by: alecdavis Review: + https://reviewboard.asterisk.org/r/2129/ ........ Merged + revisions 373804 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 23:10 +0000 [r373740-373776] Mark Michelson + + * /, main/say.c: Fix saying of date in Dutch. The Dutch say the + date before the month. (closes issue ASTERISK-20353) Reported by: + Teun Ouwehand ........ Merged revisions 373773 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373774 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373775 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * configs/agents.conf.sample, /, channels/chan_agent.c: Remove dead + code and documentation for nonexistent feature. multiplelogin was + removed from chan_agent back in 1.6.0 when AgentCallbackLogin() + was removed. (closes issue AST-948) reported by Steve Pitts + ........ Merged revisions 373768 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373769 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373770 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_voicemail.c, /: Fix error where improper IMAP greetings + would be deleted. (closes issue ASTERISK-20435) Reported by: + fhackenberger Patches: asterisk-20435-imap-del-greeting.diff + uploaded by Michael L. Young (License #5026) (with suggested + modification made by me) ........ Merged revisions 373735 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373737 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373738 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 20:14 +0000 [r373708] Joshua Colp + + * /, channels/chan_local.c: Fix T.38 support when used with + chan_local in between. Users of the T.38 API can indicate + AST_T38_REQUEST_PARMS on a channel to request that the channel + indicate a T.38 negotiation with the parameters present on the + channel. The return value of this indication is expected to be + AST_T38_REQUEST_PARMS upon success but with chan_local involved + this could never occur. This fix changes chan_local to always + return AST_T38_REQUEST_PARMS for this situation. If the + underlying channel technology on the other side does not support + T.38 this would have been determined ahead of time using + ast_channel_get_t38_state and an indication would not occur. + (closes issue ASTERISK-20229) Reported by: wdoekes Patches: + ASTERISK-20229.patch uploaded by wdoekes (license 5674) Review: + https://reviewboard.asterisk.org/r/2070/ ........ Merged + revisions 373705 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373706 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373707 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 19:29 +0000 [r373701] Mark Michelson + + * main/callerid.c, include/asterisk/channel.h, CHANGES, + channels/sig_pri.c, funcs/func_callerid.c, + include/asterisk/callerid.h, main/channel.c, + channels/chan_misdn.c, channels/chan_sip.c: Allow for redirecting + reasons to be set to arbitrary strings. This allows for the + REDIRECTING dialplan function to be used to set the reason to any + string. The SIP channel driver has been modified to set the + redirecting reason string to the value received in a Diversion + header. In addition, SIP 480 response reason text will set the + redirecting reason as well. (closes issue AST-942) reported by + Malcolm Davenport (closes issue AST-943) reported by Malcolm + Davenport Review: https://reviewboard.asterisk.org/r/2101 + +2012-09-25 19:08 +0000 [r373691] Terry Wilson + + * configs/sip.conf.sample, channels/sip/include/sip.h, /, + channels/chan_sip.c: Properly handle UAC/UAS roles for SIP + session timers The SIP session timer mechanism contains a + mandatory 'refresher' parameter (included in the Session-Expires + header) which is used in the session timer offer/answer signaling + within a SIP Invite dialog. It looks like asterisk is + interpreting the uac resp. uas role only as the initial role of + client and server (caller is uac, callee is uas). The standard + rfc 4028 however assigns the client role to the ((RE)-Invite) + requester, the server role to the ((RE)-Invite) responder. This + patch has Asterisk track the actual refresher as "us" or "them" + as opposed to relying on just the configured "uas" or "uac" + properties. (closes issue AST-922) Reported by: Thomas Airmont + Review: https://reviewboard.asterisk.org/r/2118/ ........ Merged + revisions 373652 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373665 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373690 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 18:33 +0000 [r373689] Kinsey Moore + + * /, apps/app_queue.c: "show" completion option for "queue" + shouldn't appear twice When tab-completing CLI commands starting + with "queue", "show" appeared twice in the list due to the way + that Asterisk's tab completion functions and the order in which + the commands were registered. The registration order has been + altered to resolve this issue. (closes issue AST-940) + Reported-by: Steve Pitts ........ Merged revisions 373666 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373675 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373688 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 17:22 +0000 [r373636-373656] Richard Mudgett + + * /, codecs/ilbc/iLBC_encode.c, codecs/ilbc/iLBC_decode.c: Fix + valgrind found memcpy issues in codec_ilbc. Valgrind found + codec_ilbc using memcpy instead of memmove for overlapping memory + blocks. (issue ASTERISK-19890) (closes issue ASTERISK-20231) + Reported by: Walter Doekes Patches: ASTERISK-20231.patch (license + #5674) patch uploaded by Walter Doekes ........ Merged revisions + 373640 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 373645 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373650 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * codecs/Makefile, /: Make rebuild GSM, ilbc, or lpc10 codecs if + the respective sources change. ........ Merged revisions 373618 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 373633 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373635 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 16:45 +0000 [r373608-373634] Jonathan Rose + + * /, channels/chan_sip.c: chan_sip: Set Quality of Service for + video rtp instance (closes issue ASTERISK-20201) Reported by: + ddkprog Patches: chan_sip.c.diff uploaded by ddkprog (license + 6008) ........ Merged revisions 373617 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373631 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373632 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_agi.c: res_agi: async_agi responsiveness improvement on + datastore problems This patch changes get_agi_cmd so that the + return can be checked to differentiate between an empty list + success and something that triggered an error. This in turn + allows launch_asyncagi to detect these errors and break free from + the command processing loop so that the async agi can be ended + more cleanly (closes issue ASTERISK-20109) Reported by: Jeremiah + Gowdy Patches: jgowdy-7-9-2012.diff uploaded by Jeremiah Gowdy + (license 6358) (Modified by me to fix some logical issues and + apply to trunk) Review: https://reviewboard.asterisk.org/r/2117/ + +2012-09-25 14:13 +0000 [r373583] Mark Michelson + + * /, funcs/func_presencestate.c: "He who go through turnstile + sideways is going to Bangkok" ........ Merged revisions 373582 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 13:29 +0000 [r373581] Kinsey Moore + + * /, configs/res_odbc.conf.sample: Fix documentation for default + username in res_odbc This was previously stated to be "root", but + is actually the name of the context if unspecified. (closes issue + ASTERISK-20258) Reported by: Stefan x ........ Merged revisions + 373578 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 373579 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373580 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-25 12:12 +0000 [r373553] Joshua Colp + + * res/res_rtp_multicast.c, /: Fix an issue where a caller to + ast_write on a MulticastRTP channel would determine it failed + when in reality it did not. When sending RTP packets via + multicast the amount of data sent is stored in a variable and + returned from the write function. This is incorrect as any + non-zero value returned is considered a failure while a return + value of 0 is success. For callers (such as ast_streamfile) that + checked the return value they would have considered it a failure + when in reality nothing went wrong and it was actually a success. + The write function for the multicast RTP engine now returns -1 on + failure and 0 on success, as it should. (closes issue + ASTERISK-17254) Reported by: wybecom ........ Merged revisions + 373550 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 373551 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373552 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-24 22:14 +0000 [r373503] Richard Mudgett + + * /, channels/chan_sip.c: Be consistent, send From: "Anonymous" + When setting + CALLERID(pres)=unavailable in the dialplan, the From header in + the SIP message contains "Anonymous" + . For consistency, Asterisk + should use a lowercase a in the userpart of the URI. * Make the + From header use a lowercase A in the userpart of the anonymous + URI. (closes issue ASTERISK-19838) Reported by: Antti Yrjola + Patches: chan_sip_patch_ASTERISK-19838.patch (license #6383) + patch uploaded by Antti Yrjola ........ Merged revisions 373500 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 373501 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373502 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-24 21:19 +0000 [r373479] Jonathan Rose + + * funcs/func_audiohookinherit.c, /, apps/app_mixmonitor.c: + func_audiohookinherit: Document some missed sources. This patch + also mentions that AUDIOHOOK_INHERIT can be used to transfer + MixMonitor audiohooks. There is also wiki that addresses + audiohooks and the use of AUDIOHOOK_INHERIT at the following + link: https://wiki.asterisk.org/wiki/display/AST/Audiohooks + (closes issue ASTERISK-18220) Reported by: Ishfaq Malik ........ + Merged revisions 373467 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373468 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373470 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-24 21:15 +0000 [r373471] Richard Mudgett + + * /, channels/chan_sip.c: Fix potential reentrancy problems in + chan_sip. Asterisk v1.8 and later was not as vulnerable to this + issue. * Made find_call() lock each private as it processes the + found dialogs. (Primary cause of ABE-2876) * Made the other + functions that traverse the dialogs container lock each private + as it examines them. * Fix race condition in sip_call() if the + thread that sent the INVITE is held up long enough for a response + to be processed. The p->initid for the INVITE retransmission + could be added after it was canceled by the response processing. + * Made __sip_destroy() clean up resource pointers after freeing. + This is primarily defensive in case someone has a stale private + pointer. * Removed redundant memset() in reqprep(). The call to + init_req() already does the memset() and is the first reference + to req in reqprep(). * Removed useless set of req.method in + transmit_invite(). The calls to initreqprep() and reqprep() have + to do this because they memset() the req. JIRA ABE-2876 + .......... Merged -r373423 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier + ........ Merged revisions 373424 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373466 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373469 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-24 19:23 +0000 [r373414-373456] Joshua Colp + + * /, channels/chan_sip.c: Fix a deadlock caused by a race condition + between removing a hint and reloading the dialplan and + subscribing to the removed hint. If conditions were right it was + possible for both the PBX core and chan_sip to deadlock by both + having a lock that the other wants. In the case of the PBX core + it had the contexts lock and wanted a SIP dialog lock, while in + the case of chan_sip it had the SIP dialog lock and wanted the + contexts lock. This fix unlocks the SIP dialog before getting the + extension state so that the other thread will not block on trying + to lock it. Once the extension state is retrieved the SIP dialog + is locked again and life carries on. As the SIP dialog is + reference counted it is not possible for it to go away after + unlocking. (closes issue ASTERISK-20437) Reported by: jhutchins + ........ Merged revisions 373438 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373440 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373454 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c, res/res_format_attr_h264.c: Fix an issue + with H.264 format attribute comparison and fix an issue with + improper SDP being produced. The H.264 format attribute module + compares two format attribute structures to determine if they are + compatible or not. In some instances it was possible for this + check to determine that both structures were incompatible when + they actually should be considered compatible. This check has now + been made even more permissive by assuming that if no attribute + information is available the two structures are compatible. If + both structures contain attribute information a base level + comparison of the H.264 IDC value is done to see if they are + compatible or not. The above issue uncovered a secondary issue in + chan_sip where the SDP being produced would be incorrect if the + formats were considered incompatible. This has now been fixed by + checking that all information required to produce the SDP is + available instead of assuming it is. (closes issue + ASTERISK-20464) Reported by: Leif Madsen ........ Merged + revisions 373413 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-24 12:42 +0000 [r373404] Brent Eagles + + * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample: + res_rtp_asterisk: Make TURN and STUN server configurations + consistent. This patch removes the turnport configuration + property and changes the turnaddr property to be a combined + host[:port] configuration string. The patch also modifies the + documentation in the example configuration to reflect the + property changes and adds some additional text indicating how the + STUN port is configured. (closes issue ASTERISK-20344) Reported + by: beagles Tested by: beagles Review: + https://reviewboard.asterisk.org/r/2111/ ........ Merged + revisions 373403 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-22 20:43 +0000 [r373384] Andrew Latham + + * main/asterisk.c, main/xmldoc.c, channels/chan_mgcp.c, + apps/app_voicemail.c, utils/refcounter.c, res/res_config_pgsql.c, + main/pbx.c, main/ccss.c, channels/chan_sip.c, tests/test_gosub.c, + include/asterisk/doxygen/mantisworkflow.h (removed), + contrib/asterisk-ng-doxygen, channels/chan_agent.c, main/astfd.c, + apps/app_queue.c, codecs/speex/speex_resampler.h, + res/res_config_sqlite.c, Makefile, cel/cel_odbc.c, + include/asterisk/doxyref.h, main/manager.c, doc/README.txt, + include/asterisk/xmpp.h, apps/app_minivm.c, + cel/cel_sqlite3_custom.c, include/asterisk/format.h, + main/audiohook.c, include/asterisk/pbx.h, + res/res_timing_kqueue.c, addons/chan_mobile.c: Doxygen Updates + Janitor Work * Whitespace, doc-blocks, spelling, case, missing + and incorrect tags. * Add cleanup to Makefile for the Doxygen + configuration update * Start updating Doxygen configuration for + cleaner output * Enable inclusion of configuration files into + documentation * remove mantisworkflow... * update documentation + README * Add markup to Tilghman's email and talk with him about + updating his email, he knows... * no code changes on this commit + other than the mentioned Makefile change (issue ASTERISK-20259) + +2012-09-21 19:35 +0000 [r373369] Jonathan Rose + + * /, channels/iax2-provision.c: iax2-provision: Fix improper return + on failed cache retrieval (closes issue ASTERISK-20337) reported + by: John Covert Patches: iax2-provision.c.patch uploaded by John + Covert (license 5512) ........ Merged revisions 373342 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373343 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373368 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-21 18:22 +0000 [r373320-373341] Andrew Latham + + * contrib/asterisk-ng-doxygen: Update Doxygen Config Comments This + annoying update is almost totally whitespace and updated config + comments. I did add Python to the documented file types. (issue + ASTERISK-20259) + + * main/strings.c, res/res_config_pgsql.c, codecs/codec_speex.c, + res/res_crypto.c, main/acl.c, channels/chan_console.c, + res/res_config_curl.c, channels/chan_jingle.c, + include/asterisk/app.h, include/asterisk/res_odbc.h, + channels/chan_misdn.c, + include/asterisk/doxygen/asterisk-git-howto.h, + include/asterisk/xmpp.h, include/asterisk/jabber.h, + channels/chan_h323.c, include/asterisk/doxygen/reviewboard.h, + channels/sip/include/sdp_crypto.h, main/asterisk.c, + main/xmldoc.c, include/asterisk/doxygen/architecture.h, + include/asterisk/acl.h, cel/cel_pgsql.c, funcs/func_speex.c, + cel/cel_radius.c, apps/app_meetme.c, main/ccss.c, res/res_snmp.c, + include/asterisk/doxygen/mantisworkflow.h, main/sha1.c, + channels/sip/reqresp_parser.c, include/asterisk/localtime.h, + apps/app_ices.c, cdr/cdr_pgsql.c, res/res_xmpp.c, + res/res_jabber.c, cdr/cdr_radius.c, + include/asterisk/doxygen/releases.h, include/asterisk/doxyref.h, + res/res_smdi.c, main/manager.c, main/tdd.c, + include/asterisk/bridging_features.h, main/ast_expr2f.c, + cdr/cdr_sqlite.c, apps/app_skel.c, include/asterisk/sip_api.h, + channels/chan_motif.c, main/http.c, apps/app_confbridge.c, + include/asterisk/doxygen/commits.h, res/res_config_ldap.c, + res/res_curl.c: Doxygen Updates - janitor work Doxygen updates + including mistakes, misspellings, missing parameters, updates for + Doxygen style. Some missing txt file links are removed but their + content or essense will be included in some later updates. A + majority of the txt files were removed in the 1.6 era but never + noted. The HR and EXTREF are simple changes that make the + documentation more compatable with more versions of Doxygen. + Further updates coming. (issue ASTERISK-20259) + + * README: Start work on documentation janitor project with a little + commit. This adds a link to the Asterisk wiki at + https://wiki.asterisk.org to the README file. (issue + ASTERISK-20259) + +2012-09-21 15:41 +0000 [r373319] Jonathan Rose + + * apps/app_queue.c, /: app_queue: Make queue reload members and + variants of that work Prior to this patch, 'queue reload members' + cli command did not work at all. This also affects the manager + function 'QueueReload' when supplied with the 'members: yes' + field. (closes issue AST-956) Reported by: John Bigelow ........ + Merged revisions 373298 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373300 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373318 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-21 09:11 +0000 [r373275-373284] Alec L Davis + + * main/dsp.c: dsp.c: remove more whitespace mentioned in review2107 + + * main/dsp.c: dsp.c ast_dsp_call_progress use local short variable + in loop, plus other cleanup janitor cleanup. No functional + change. 1). ast_dsp_call_progress: use 'short samp' instead of + s[x] inside loop. apply same casting as other _init, dsp->energy + = (int32_t) samp * (int32_t) samp 2). ast_dtmf_detect_init: move + repeated setting of s->energy to outside of loop. do + goertzel_init loop first before setting s->lasthit and + s->current_hit, consistant with ast_dsp_digitreset() 3). + ast_mf_detect_init: do goertzel_init loop first before setting + s->hits[] and s->current_hit, consistant with + ast_dsp_digitreset() 4). Don't chain init different variables, as + the type may change Review + https://reviewboard.asterisk.org/r/2107/ + +2012-09-20 19:16 +0000 [r373247] Joshua Colp + + * /, apps/app_meetme.c: Fix incorrect MeetME conference bridge + reference count decrementing and sometimes premature destruction. + When using the 'e' or 'E' option to MeetMe the configured + conference bridges are loaded and examined to see if any are + empty. If no conference bridges are empty the caller is prompted + to enter the number of one. This operation left around a pointer + to the last created conference bridge still containing + participants. When the caller that was not able to find any empty + conference bridge hung up this pointer was disposed of and the + reference count of the conference bridge decremented. If there + was only a single participant in the conference bridge it was + ultimately destroyed prematurely. (closes issue AST-994) Reported + by: John Bigelow ........ Merged revisions 373242 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373245 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373246 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-20 18:44 +0000 [r373239] Matthew Jordan + + * /, CHANGES, apps/app_queue.c, configs/extensions.conf.sample: Add + queue monitoring hints This patch adds support for hints on a + queue. Hints can be added using the nomenclature 'Queue:name', + where name is the name of the queue being monitored. This nifty + feature was done by Alec Davis. Review: + https://reviewboard.asterisk.org/r/1619 Reported by: Alec Davis + Tested by: alecdavis patches: review1619.diff2 by alecdavis + (license 585) ........ Merged revisions 373235 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-20 18:27 +0000 [r373234] Joshua Colp + + * configs/sip.conf.sample, include/asterisk/rtp_engine.h, + channels/sip/include/sip.h, res/res_rtp_asterisk.c, + main/rtp_engine.c, /, channels/chan_sip.c, configure, + include/asterisk/autoconfig.h.in, configure.ac: Add support for + DTLS-SRTP to res_rtp_asterisk and chan_sip. As mentioned on the + review for this, WebRTC has moved towards choosing DTLS-SRTP as + the mechanism for key exchange for SRTP. This commit adds support + for this but makes it available for normal SIP clients as well. + Testing has been done to ensure that this introduces no + regressions with existing behavior and also that it functions as + expected. Review: https://reviewboard.asterisk.org/r/2113/ + ........ Merged revisions 373229 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-20 18:02 +0000 [r373222] Matthew Jordan + + * apps/app_queue.c: Support all ways a member can be available for + 'agent available' hints Alec's patch in r373188 added the ability + to subscribe to a hint for when Queue members are available. This + patch modifies the check that determines when a Queue member is + available by refactoring the availability checks in + num_available_members into a shared function is_member_available. + This should now handle the ringinuse option, as well as device + state values other than AST_DEVICE_NOT_INUSE. + +2012-09-20 17:22 +0000 [r373221] Richard Mudgett + + * /, apps/app_directed_pickup.c, funcs/func_channel.c, + main/features.c, include/asterisk/channel.h, + include/asterisk/features.h, main/channel.c: Named call pickup + groups. Fixes, missing functionality, and improvements. * + ASTERISK-20383 Missing named call pickup group features: + CHANNEL(callgroup) - Need CHANNEL(namedcallgroup) + CHANNEL(pickupgroup) - Need CHANNEL(namedpickupgroup) Pickup() - + Needs to also select from named pickup groups. * ASTERISK-20384 + Using the pickupexten, the pickup channel selection could fail + even though there was a call it could have picked up. In a call + pickup race when there are multiple calls to pickup and two + extensions try to pickup a call, it is conceivable that the loser + will not pick up any call even though it could have picked up the + next oldest matching call. Regression because of the named call + pickup group feature. * See ASTERISK-20386 for the implementation + improvements. These are the changes in channel.c and channel.h. * + Fixed some locking issues in CHANNEL(). (closes issue + ASTERISK-20383) Reported by: rmudgett (closes issue + ASTERISK-20384) Reported by: rmudgett (closes issue + ASTERISK-20386) Reported by: rmudgett Tested by: rmudgett Review: + https://reviewboard.asterisk.org/r/2112/ ........ Merged + revisions 373220 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-20 13:04 +0000 [r373212] Kinsey Moore + + * /, channels/chan_sip.c: Correct handling of unknown SDP stream + types When the patch to handle arbitrary SDP stream arrangements + went into Asterisk, it also included an ability to transparently + decline unknown stream types. The scanf calls used were not + checked properly causing this part of the functionality to be + broken. (closes issue ASTERISK-20203) ........ Merged revisions + 373211 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-20 11:05 +0000 [r373203] Sean Bright + + * res/res_curl.c: When trying to unload res_curl.so, warn about all + dependent modules. Before this, attempting to unload res_curl.so + would warn you about the first module it found that was + dependent. We now warn about all of the loaded modules instead. + +2012-09-20 10:41 +0000 [r373188-373202] Alec L Davis + + * main/dsp.c: dsp.c: remove whitespace mentioned in review2107 + Related https://reviewboard.asterisk.org/r/2107/ + + * CHANGES, apps/app_queue.c, configs/extensions.conf.sample: + app_queue: Support an 'agent available' hint Sets INUSE when no + free agents, NOT_INUSE when an agent is free. modifes + handle_statechange() scan members loop to scan for a free agent + and updates the Queue:queuename_avial devstate. Previously exited + early if the member was found in the queue. Now Exits later when + both a member was found, and a free agent was found. alecdavis + (license 585) Reported by: Alec Davis Tested by: alecdavis + Review: https://reviewboard.asterisk.org/r/2121/ + +2012-09-18 20:19 +0000 [r373134-373142] Sean Bright + + * main/logger.c: Make the casing of CALL_ID in debug messages + consistent to satisfy my OCD. + + * main/manager.c, /: Don't crash when passing a NULL message to + __astman_get_header. Before this commit, __astman_get_header + would blindly dereference the passed in 'struct message *' to + traverse the header list. There are cases, however, such as + '*CLI> sip qualify peer foo' where the message pointer is NULL, + so we need to check for that. ........ Merged revisions 373131 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 373132 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373133 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-18 15:50 +0000 [r373120] David M. Lee + + * makeopts.in, Makefile, include/asterisk/utils.h, /, configure, + include/asterisk/autoconfig.h.in, configure.ac: Add + -fnested-functions compile flag, if needed. In order to use + nested functions on some versions of GCC (e.g. GCC on OS X), the + -fnested-functions flag must be passed to the compiler. This + patch adds detection logic to ./configure to add the flag if + necessary. It also adds a comment to utils.h as to why the nested + function needs a prototype. (closes issue ASTERISK-20399) + Reported by: David M. Lee Review: + https://reviewboard.asterisk.org/r/2102/ ........ Merged + revisions 373119 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-15 00:32 +0000 [r373108] Richard Mudgett + + * channels/sig_ss7.c, /: Made companding law for SS7 calls only + determined by SS7 signaling type. For SS7, the companding law for + a call was chosen inconsistently depending upon ss7type (ITU vs + ANSI) and the DAHDI companding default (T1 vs E1). For incoming + calls, the companding law was determined by ss7type. For outgoing + calls, the companding law was determined by the DAHDI default. + With the wrong combination you would get A-law/u-law conflicts. + An A-law/u-law conflict sounds like bad static on the line. SS7 + ITU signaling with E1 line: ok SS7 ITU signaling with T1 line: + noise SS7 ANSI signaling with E1 line: noise SS7 ANSI signaling + with T1 line: ok * Fix the companding law used to be determined + by the SS7 signaling type only. ........ Merged revisions 373090 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 373101 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373107 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-14 19:53 +0000 [r373080] Matthew Jordan + + * main/libasteriskssl.c, main/tcptls.c, /, channels/chan_sip.c: + Resolve memory leaks in TLS initialization and TLS client + connections This patch resolves two sources of memory leaks when + using TLS in Asterisk: 1) It removes improper initialization (and + multiple re-initializations) of portions of the SSL library. + Asterisk calls SSL_library_init and SSL_load_error_strings during + SSL initialization; collectively this obviates the need for + calling any of the following during initialization or client + connection handling: * ERR_load_crypto_strings (handled by + SSL_load_error_strings) * OpenSSL_add_all_algorithms (synonym for + SSL_library_init) * SSLeay_add_ssl_algorithms (synonym for + SSL_library_init) 2) Failure to completely clean up all memory + allocated by Asterisk and by the SSL library for TLS clients. + This included not freeing the SSL_CTX object in the SIP channel + driver, as well as not clearing the error stack when the TLS + client exited. Note that these memory leaks were found by Thomas + Arimont, and this patch was essentially written by him with some + minor tweaks. (closes issue AST-889) Reported by: Thomas Arimont + Tested by: Thomas Arimont patches: (bugAST-889.patch) by Thomas + Arimont (license 5525) Review: + https://reviewboard.asterisk.org/r/2105 ........ Merged revisions + 373061 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 373062 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373079 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-13 20:05 +0000 [r373046-373048] David M. Lee + + * /, main/Makefile: Fixed make clean when configured + --disable-asteriskssl ........ Merged revisions 373047 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/channel.c, /, include/asterisk/channel.h: Fix timeouts for + ast_waitfordigit[_full]. ast_waitfordigit_full would simply pass + its timeout to ast_waitfor_nandfds, expecting it to decrement the + timeout by however many milliseconds were waited. This is a + problem if it consistently waits less than 1ms. The timeout will + never be decremented, and we wait... FOREVER! This patch makes + ast_waitfordigit_full manage the timeout itself. It maintains the + previously undocumented behavior that negative timeouts wait + forever. (closes issue ASTERISK-20375) Reported by: Mark + Michelson Tested by: Mark Michelson Review: + https://reviewboard.asterisk.org/r/2109/ ........ Merged + revisions 373024 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 373025 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 373029 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-12 21:02 +0000 [r372997] Richard Mudgett + + * tests/test_astobj2.c, main/astobj2.c, main/channel.c, + include/asterisk/astobj2.h: Enhance astobj2 to support other + types of containers. The new API allows for sorted containers, + insertion options, duplicate handling options, and traversal + order options. * Adds the ability for containers to be sorted + when they are created. * Adds container creation options to + handle duplicates when they are inserted. * Adds container + creation option to insert objects at the beginning or end of the + container traversal order. * Adds OBJ_PARTIAL_KEY to allow + searching with a partial key. The partial key works similarly to + the OBJ_KEY flag. (The real search speed improvement with this + flag will come when red-black trees are added.) * Adds container + traversal and iteration order options: Ascending and Descending. + * Adds an AST_DEVMODE compile feature to check the stats and + integrity of registered containers using the CLI "astobj2 + container stats " and "astobj2 container check ". The + channels container is normally registered since it is one of the + most important containers in the system. * Adds + ao2_iterator_restart() to allow iteration to be restarted from + the beginning. * Changes the generic container object to have a + v_method table pointer to support other types of containers. * + Changes the container nodes holding objects to be ref counted. + The ref counted nodes and v_method table pointer changes pave the + way to allow other types of containers. * Includes a large + astobj2 unit test enhancement that tests the new features. + (closes issue ASTERISK-19969) Reported by: rmudgett Review: + https://reviewboard.asterisk.org/r/2078/ + +2012-09-12 20:54 +0000 [r372996] Joshua Colp + + * /, channels/chan_motif.c: Skip any non-content information when + looking for and handling content. This fixes a bug with Jitsi and + conference calling. Jitsi implements XEP-0298 which places some + conference-info information in the session-initiate request which + chan_motif did not expect to occur. ........ Merged revisions + 372995 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-12 18:33 +0000 [r372976-372985] Jonathan Rose + + * /, res/res_xmpp.c: res_xmpp: Fix a segfault caused by bodyless + messages (closes issue ASTERISK-20361) Reported by: Noah + Engelberth Review: https://reviewboard.asterisk.org/r/2108/ + ........ Merged revisions 372984 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * configs/logger.conf.sample, main/logger.c: logger: Add + rotatestrategy option of 'none' which does not perform rotations + With this option in use, it may be necessary to regulate your log + files externally. (closes issue ASTERISK-20189) Reported by: Jaco + Kroon Patches: asterisk-logger-norotate-trunk.patch uploaded by + Jaco Kroon (license 5671) + +2012-09-12 15:21 +0000 [r372943] Mark Michelson + + * /, channels/chan_sip.c: Add channel name to a warning to make + debugging easier. The "autodestruct with owner in place" message + is typically indicative of a channel reference leak. Printing out + the name of the channel in the message may be helpful when trying + to debug the issue. ........ Merged revisions 372932 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372933 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372937 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-12 14:22 +0000 [r372931] David M. Lee + + * /, main/Makefile: Fixed r372696 when configured + --disable-asteriskssl; properly install libasteriskssl.dylib on + OS X. I didn't realize that libasteriskssl.c was still compiled, + even when you disable asteriskssl; it simple gets statically + linked into asterisk. ........ Merged revisions 372930 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-11 22:40 +0000 [r372918] Jonathan Rose + + * channels/chan_local.c, /: chan_local: Switch from using a random + 4 digit hex identifier to unique id Changes chan_local channels + to use an 8 digit hex identifier generated atomically and + sequentially in order to eliminate the chance of having multiple + channels with the same name during high call volume situations. + (issue ASTERISK-20318) Reported by: Dan Cropp Review: + https://reviewboard.asterisk.org/r/2104/ ........ Merged + revisions 372902 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372916 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372917 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-11 21:17 +0000 [r372887-372891] Mark Michelson + + * /, include/asterisk/_private.h, main/message.c, main/asterisk.c: + Fix inability to shutdown gracefully due to an unending channel + reference. message.c makes use of a special message queue channel + that exists in thread storage. This channel never goes away due + to the fact that the taskprocessor used by message.c does not get + shut down, meaning that it never ends the thread that stores the + channel. This patch fixes the problem by shutting down the + taskprocessor when Asterisk is shut down. In addition, the thread + storage has a destructor that will release the channel reference + when the taskprocessor is destroyed. (closes issue AST-937) + Reported by Jason Parker Patches: AST-937.patch uploaded by Mark + Michelson (License #5049) Tested by Jason Parker ........ Merged + revisions 372885 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372888 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/features.c, /: Fix bad channel application data reference. + When channels get bridged due to an AMI bridge action or a DTMF + attended transfer, the two channels that get bridged have their + application data pointing to the other channel's name. This means + that if one channel is hung up but the other moves on, it means + that the channel that moves on will have its application data + pointing at freed memory. (issue ASTERISK-20335) Reported by: + aragon ........ Merged revisions 372840 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372841 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372886 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-11 18:09 +0000 [r372874] David M. Lee + + * Makefile, /: Corrects the astsbindir setting when installing the + sample asterisk.conf. (closes issue ASTERISK-20406) ........ + Merged revisions 372863 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372864 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-11 14:43 +0000 [r372808-372832] Jonathan Rose + + * UPGRADE.txt, CHANGES: chan_sip: Fix CHANGES and UPGRADE.txt for + r372808 (issue AST-969) Reported by John Bigelow + + * channels/chan_sip.c: chan_sip: Change SIPQualifyPeer to improve + initial response time Prior to this patch, The acknowledgement + wasn't produced until after executing the sip_poke_peer action + actually responsible for qualifying the peer. Now the response is + given immediately once it is known that a peer will be qualified + and a SIPqualifypeerdone event is issued when the process is + finished. Thanks to OEJ for identifying the problem and helping + to come up with a solution. (issue AST-969) Reported by John + Bigelow Review: https://reviewboard.asterisk.org/r/2098/ + +2012-09-10 21:00 +0000 [r372796-372807] Kinsey Moore + + * channels/chan_iax2.c, /: Ensure iax2 debug output is displayed + when expected When IAX2 debug was changed from iax_showframe to + iax_outputframe, some instances were missed (or added afterward). + This was causing debug output to not be displayed when expected. + (closes issue ASTERISK-20338) Reported-by: John Covert Patch-by: + John Covert ........ Merged revisions 372804 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372805 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372806 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/devicestate.c, channels/chan_gtalk.c, res/res_jabber.c, + channels/chan_jingle.c, include/asterisk/doxygen/architecture.h, + /: Deprecate chan_gtalk, chan_jingle, and res_jabber chan_gtalk, + chan_jingle, and res_jabber are now deprecated in favor of using + chan_motif and res_xmpp. They are a feature-equivalent + replacement and are written to be more easily maintainable. + (closes issue ASTERISK-20298) Review: + https://reviewboard.asterisk.org/r/2082/ Reported-by: Leif Madsen + ........ Merged revisions 372795 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-10 19:22 +0000 [r372787] David M. Lee + + * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Eliminate + "type-punned pointer" build warning. Removes + "res_rtp_asterisk.c:706: warning: dereferencing type-punned + pointer will break strict-aliasing rules" warning from the build + on 32-bit platforms. The problem is that 'size' was referenced + aliased to both (pj_size_t *) and (pj_ssize_t *). Now just make a + copy of size that is the right type so there isn't any pointer + aliasing happening. It also adds comments and asserts regarding + what looks like an inappropriate use of pj_sock_sendto, but is + actually totally fine. (closes issue ASTERISK-20368) Reported by: + Shaun Ruffell Tested by: Michael L. Young Patches: + 0001-res_rtp_asterisk-Eliminate-type-punned-pointer-build.patch + uploaded by Shaun Ruffell (license 5417) slightly modified by + David M. Lee. ........ Merged revisions 372777 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-10 18:58 +0000 [r372755-372769] Jonathan Rose + + * /, apps/app_meetme.c: app_meetme: Document that 'p' option will + continue in dialplan. (closes issue AST-991) Reported by John + Bigelow ........ Merged revisions 372765 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372767 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372768 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/channel.c, /: Masquerade: Retain parkinglot settings made by + CHANNEL function. Prior to this patch, the user would have a + parkinglot set on a channel that was parked and when the channel + was retrieved, any attempt by that channel to park would simply + use the default. This patch makes parkinglot values set in this + way be retained through the masquerade. (closes issue AST-990) + Reported by: Nick Huskinson Patches: + masquerade_parkinglot_patch.diff Uploaded by Jonathan Rose + (license 6182) ........ Merged revisions 372736 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372737 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372754 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-09 01:28 +0000 [r372712] Matthew Jordan + + * /, channels/sip/sdp_crypto.c: Only re-create an SRTP session when + needed In r356604, SRTP handling was fixed to accomodate multiple + crypto keys in an SDP offer and the ability to re-create an SRTP + session when the crypto keys changed. In certain circumstances - + most notably when a phone is put on hold after having been + bridged for a significant amount of time - the act of re-creating + the SRTP session causes problems for certain models of phones. + The patch committed in r356604 always re-created the SRTP session + regardless of whether or not the cryptographic keys changed. + Since this is technically not necessary, this patch modifies the + behavior to only re-create the SRTP session if Asterisk detects + that the remote key has changed. This allows models of phones + that do not handle the SRTP session changing to continue to work, + while also providing the behavior needed for those phones that do + re-negotiate cryptographic keys. (issue ASTERISK-20194) Reported + by: Nicolo Mazzon Tested by: Nicolo Mazzon Review: + https://reviewboard.asterisk.org/r/2099 ........ Merged revisions + 372709 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 372710 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372711 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-08 06:18 +0000 [r372699] David M. Lee + + * /, main/Makefile: Add OPENSSL_INCLUDE to the CFLAGS for ssl.c and + tcptls.c. Without this flag, those files will compile with the + system installed OpenSSL headers (if they exist). This is a real + bummer if a different path was specified using --with-ssl= + (closes issue ASTERISK-20392) ........ Merged revisions 372682 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Recorded merge of revisions 372695 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ + Recorded merge of revisions 372696 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-07 23:10 +0000 [r372623-372658] Richard Mudgett + + * /, main/astmm.c: Fix MALLOC_DEBUG version of ast_strndup(). + (closes issue ASTERISK-20349) Reported by: Brent Eagles ........ + Merged revisions 372655 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372656 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372657 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, funcs/func_math.c: Remove annoying unconditional debug message + from INC/DEC functions. (closes issue AST-1001) Reported by: + Guenther Kelleter ........ Merged revisions 372628 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372629 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372630 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_queue.c, /: Fix exception path typo in app_queue.c + try_calling(). (closes issue ASTERISK-20380) Reported by: Jeremy + Pepper Patches: fix-local-channel-locking.patch (license #6350) + patch uploaded by Jeremy Pepper ........ Merged revisions 372624 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 372625 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372626 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_voicemail.c, /: Fix VoicemailUserEntry event headers + ServerEmail and MailCommand reported values. The AMI action + VoicemailUsersList VoicemailUserEntry event headers ServerEmail + and MailCommand did not report the global values if they were not + overridden. The VoicemailUserEntry event header ServerEmail was + not populated with the global value if the voicemail user did not + override it. The VoicemailUserEntry event header MailCommand was + never populated with a value. * Removed unused struct ast_vm_user + member mailcmd[]. (closes issue AST-973) Reported by: John + Bigelow Tested by: rmudgett ........ Merged revisions 372620 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372621 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372622 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-07 21:04 +0000 [r372610-372612] David M. Lee + + * res/pjproject/pjnath/lib, res/pjproject/pjsip/lib, + res/pjproject/pjsip-apps/lib, res/pjproject/pjsip/bin, + res/pjproject/pjsip-apps/bin, res/pjproject/third_party/lib, + res/pjproject/third_party/bin, res/pjproject/lib, + res/pjproject/pjlib/lib, /, res/pjproject/pjmedia/lib, + codecs/ilbc, res/pjproject/pjlib-util/lib, + res/pjproject/pjmedia/bin, res/pjproject/third_party/gsm/lib, + res/pjproject/third_party/gsm/bin: svn:ignore cleanup. * + pjproject bin and lib directories should pretty much ignore + everything * Ignore *.o in codecs/ilbc ........ Merged revisions + 372611 from http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, res/Makefile: Fix parallel make for res_asterisk_rtp. Fixes a + build regression introduced in r369517 "Add support for + ICE/STUN/TURN in res_rtp_asterisk and chan_sip." [1]. [1] + http://svnview.digium.com/svn/asterisk?view=revision&revision=369517 + When compiling asterisk in parallel like: $ make -j 10 It's + possible to get errors like the following: + .pjlib-util-test-x86_64-unknown-linux-gnu.depend:120: *** missing + separator. Stop. make[4]: *** [depend] Error 2 make[3]: *** [dep] + Error 1 make[2]: *** + [/home/sruffell/asterisk-working/res/pjproject/pjnath/lib/libpjnath-x86_64-unknown-linux-gnu.a] + Error 2 make[3]: warning: jobserver unavailable: using -j1. Add + `+' to parent make rule. This is because the build system is + trying to build each of the libraries in pjproject in parallel. + Now the build will build pjproject in a single job and link the + results into res_asterisk_rtp. Parallel builds, on one test + system, saves ~1.5 minutes from a default Asterisk build: Single + job: $ git clean -fdx >/dev/null && time ( ./configure >/dev/null + 2>&1 && make >/dev/null 2>&1 ) real 2m34.529s user 1m41.810s sys + 0m15.970s Parallel make: $ git clean -fdx >/dev/null && time ( + ./configure >/dev/null 2>&1 && make -j10 >/dev/null 2>&1 ) real + 1m2.353s user 2m39.120s sys 0m18.850s (closes issue + ASTERISK-20362) Reported by: Shaun Ruffel Patches: + 0001-res_asterisk_rtp-Fix-build-error-when-using-parallel.patch + uploaded by Shaun Ruffel (License #5417) ........ Merged + revisions 372609 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-07 02:27 +0000 [r372538-372584] Matthew Jordan + + * /, apps/app_minivm.c: Free ast_str objects when temp file fails + to be created in MiniVM The previous commit (r372554) was from a + patch that was written before r366880, which ensured that ast_str + objects allocated in the sendmail routine were free'd in off + nominal paths. This commit frees the string objects in the off + nominal path introduced in r372554. (issue ASTERISK-17133) + Reported by: Tzafrir Cohen ........ Merged revisions 372581 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372582 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372583 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, apps/app_minivm.c: Fix file descriptor leak and pointer scope + issue in MiniVM when sending mail When MiniVM sends an e-mail and + it has the volgain option set, it will spawn sox in a separate + process to handle the manipulation of the sound file. In doing + so, it creates a temporary file. There are two problems here: 1) + The file descriptor returned from mkstemp is leaked 2) The + finalfilename character pointer points to a buffer that loses + scope once volgain processing is finished. Note that in r316265, + Russell fixed some gcc warnings by using the return value of the + mkstemp call. A warning was placed in minivm that the file + descriptor was going to be leaked. This patch reverts that + change, as it handles the leak and 'uses' the file descriptor + returned from mkstemp. (closes issue ASTERISK-17133) Reported by: + Tzafrir Cohen patches: minivm_18501_demo.diff uploaded by Tzafrir + Cohen (license #5035) ........ Merged revisions 372554 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372555 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372556 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_queue.c, /: Update QueueMemberStatus event documentation + to include member status values The Status: header in a + QueueMemberStatus event (and other QueueMember* events) is the + numeric value of the device state corresponding to that Queue + Member. As those values are not exactly obvious, listing them in + the documentation is useful. Matt Riddell reported this + indirectly through the wiki page. (closes issue ASTERISK-20243) + Reported by: Matt Riddell ........ Merged revisions 372531 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-06 22:14 +0000 [r372524] Richard Mudgett + + * /, channels/sig_pri.c: Fix loss of MOH on an ISDN channel when + parking a call for the second time. Using the AMI redirect action + to take an ISDN call out of a parking lot causes the MOH state to + get confused. The redirect action does not take the call off of + hold. When the call is subsequently parked again, the call no + longer hears MOH. * Make chan_dahdi/sig_pri restart MOH on + repeated AST_CONTROL_HOLD frames if it is already in a state + where it is supposed to be sending MOH. The MOH may have been + stopped by other means. (Such as killing the generator.) This + simple fix is done rather than making the AMI redirect action + post an AST_CONTROL_UNHOLD unconditionally when it redirects a + channel and thus potentially breaking something with an + unexpected AST_CONTROL_UNHOLD. (closes issue ABE-2873) Patches: + jira_abe_2873_c.3_bier.patch (license #5621) patch uploaded by + rmudgett ........ Merged revisions 372521 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier + ........ Merged revisions 372522 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372523 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-06 21:43 +0000 [r372520] Kinsey Moore + + * /, apps/app_queue.c: Ensure listed queues are not offered for + completion When using tab-completion for the list of queues on + "queue reset stats" or "queue reload + {all|members|parameters|rules}", the tab-completion listing for + further queues erroneously listed queues that had already been + added to the list. The tab-completion listing now only displays + queues that are not already in the list. (closes issue AST-963) + Reported-by: John Bigelow ........ Merged revisions 372517 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372518 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372519 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-06 15:57 +0000 [r372474] Jonathan Rose + + * /, UPGRADE-1.8.txt: chan_sip: Note change in behavior to how + directmediapermit/deny ACL works r366547 introduced a change to + the directmedia ACL for chan_sip which modified the behavior + significantly. Prior to the patch, this option would bridge peers + with directmedia if a peer's IP address matched its own + directmedia ACL. After that patch, the peer would check the + bridged peer's ACL instead. This change has been present since + 1.8.14.0. That patched failed to document the change in + Upgrade.txt, so this patch adds mention of that change to + UPGRADE.txt (UPGRADE-1.8.txt in newer branches) (issue AST-876) + ........ Merged revisions 372471 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372472 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372473 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-06 14:31 +0000 [r372447] Kinsey Moore + + * apps/app_queue.c, /: Ensure "rules" is tab-completable for "queue + show" Previously, tabbing at the end of "queue show" produced a + list of available queues about which information could be shown, + but did not include an alternative command, "rules", to access + information about queue rules. The "rules" item should now be + shown in the list of tab-completable items. (closes issue + AST-958) Reported-by: John Bigelow ........ Merged revisions + 372444 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 372445 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372446 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-06 02:52 +0000 [r372393-372420] Matthew Jordan + + * /, pbx/pbx_dundi.c: Fix DUNDi message routing bug when + neighboring peer is unreachable Consider a scenario where DUNDi + peer PBX1 has two peers that are its neighbors, PBX2 and PBX3, + and where PBX2 and PBX3 are also neighbors. If the connection is + temporarily broken between PBX1 and PBX3, PBX1 should not include + PBX3 in the list of peers it sends to PBX2 in a DPDISCOVER + message, as it cannot send messages to PBX3. If it does, PBX2 + will assume that PBX3 already received the message and fail to + forward the message on to PBX3 itself. This patch fixes this by + only including peers in a DPDISCOVER message that are reachable + by the sending node. This includes all peers with an empty + address (00:00:00:00:00:00) and that are have been reached by a + qualify message. This patch also prevents attempting to qualify a + dynamic peer with an empty address until that peer registers. The + patch uploaded by Peter was modified slightly for this commit. + (closes issue ASTERISK-19309) Reported by: Peter Racz patches: + dundi_routing.patch uploaded by Peter Racz (license 6290) + ........ Merged revisions 372417 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372418 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372419 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_followme.c, /: Allow configured numbers for FollowMe to + be greater than 90 characters When parsing a 'number' defined in + followme.conf, FollowMe previously parsed the number in the + configuration file into a buffer with a length of 90 characters. + This can artificially limit some parallel dial scenarios. This + patch allows for numbers of any length to be defined in the + configuration file. Note that Clod Patry originally wrote a patch + to fix this problem and received a Ship It! on the JIRA issue. + The patch originally expanded the buffer to 256 characters. + Instead, the patch being committed duplicates the string in the + config file on the stack before parsing it for consumption by the + application. (closes issue ASTERISK-16879) Reported by: Clod + Patry Tested by: mjordan patches: followme_no_limit.diff uploaded + by Clod Patry (license #5138) Slightly modified for this commit. + ........ Merged revisions 372390 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372391 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372392 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-05 19:44 +0000 [r372374] Richard Mudgett + + * /: Recorded merge of revisions 372373 from + http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix + compile error. ........ Merged revisions 372372 from + http://svn.asterisk.org/svn/asterisk/branches/10 + +2012-09-05 19:26 +0000 [r372344-372371] Kinsey Moore + + * main/manager.c, /: Correct documentation for ModuleLoad AMI + action The documentation incorrectly listed 'rtp' as a reloadable + subsystem and left out many other reloadable subsystems. It is + now also documented that subsystems may only be reloaded, not + loaded or unloaded. (closes issue AST-977) Reported-by: John + Bigelow ........ Merged revisions 372354 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372358 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372365 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/pbx.c, /: Ensure counts generated in + manager_show_dialplan_helper are correct When + manager_show_dialplan_helper was written, the counter increment + for the total number of contexts was placed with the extensions + increment instead of in the enclosing loop. This function should + now generate correct context counts. (closes issue AST-970) + Reported-by: John Bigelow ........ Merged revisions 372337 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372338 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372340 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-05 18:56 +0000 [r372343] Alec L Davis + + * main/dsp.c, /: dsp.c: in ast_mf_detect_init incorrectly sets + goertzel samples to 160, should be MF_GSIZE Remove unused + goertzel_state_t member 'samples'. Related + https://reviewboard.asterisk.org/r/2097/ + +2012-09-05 17:38 +0000 [r372329] Richard Mudgett + + * res/res_rtp_asterisk.c, /: Multiple revisions 372327-372328 + ........ r372327 | rmudgett | 2012-09-05 12:33:11 -0500 (Wed, 05 + Sep 2012) | 15 lines Fix RTP/RTCP read error message confusion. + The RTP/RTCP read error message can report "fail: success" when + the read failure is because of an ICE failure. * Changed + __rtp_recvfrom() to generate a PJ ICE message when ICE fails. * + Changed RTP/RTCP read error message to indicate an unspecified + error when errno is zero. (closes issue ASTERISK-20288) Reported + by: Joern Krebs Patches: jira_asterisk_20288_err_msg.patch + (license #5621) patch uploaded by rmudgett (modified) ........ + r372328 | rmudgett | 2012-09-05 12:35:20 -0500 (Wed, 05 Sep 2012) + | 1 line Fix coding guidelines issue with a recent commit. + ........ Merged revisions 372327-372328 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-05 16:24 +0000 [r372310-372319] Mark Michelson + + * res/res_rtp_asterisk.c, main/rtp_engine.c, /, + include/asterisk/rtp_engine.h: Re-fix sending unnegotiated + payloads during a P2P RTP bridge. The previous fix still would + look in the static_RTP_PT table, which is inappropriate since we + specifically want to find a codec that has been negotiated. + (closes issue ASTERISK-20296) reported by NITESH BANSAL Patches: + codec_negotiation.patch Uploaded by NITESH BANSAL (License #6418) + ........ Merged revisions 372311 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * apps/app_alarmreceiver.c: Add fixes and cleanup to + app_alarmreceiver. This work comes courtesy of Pedro Kiefer + (License #6407) The work was posted to review board by Kaloyan + Kovachev (License #5506) (closes issue ASTERISK-16668) Reported + by Grant Crawshay (closes issue ASTERISK-16694) Reported by Fred + van Lieshout (closes issue ASTERISK-18417) Reported by Kostas + Liakakis (closes issue ASTERISK-19435) Reported by Deon George + (closes issue ASTERISK-20157) Reported by Pedro Kiefer (closes + issue ASTERISK-20158) Reported by Pedro Kiefer (closes issue + ASTERISK-20224) Reported by Pedro Kiefer Review: + https://reviewboard.asterisk.org/r/2075 + +2012-09-05 14:44 +0000 [r372302] Matthew Jordan + + * apps/app_voicemail.c, /: Fix memory leaks in app_voicemail when + using IMAP storage or realtime config This patch fixes two memory + leaks: 1. When find_user is called with NULL as its first + parameter, the voicemail user returned is allocated on the heap. + The inboxcount2 function uses find_user in such a fashion when + counting new messages, and fails to free the resulting voicemail + user object. 2. When populate_defaults is called on a voicemail + user, it wipes whatever flags have been set on the object by + copying over the global flags object. If the VM_ALLOCED flag was + ste on the voicemail user prior to doing so, that flag is + removed. This leaks the voicemail user when free_user is later + called. (closes issue ASTERISK-19155) Reported by: Filip Jenicek + patches: asterisk.patch2 uploaded by Filip Jenicek (license 6277) + Patch slightly modified for this commit. Review: + https://reviewboard.asterisk.org/r/2096 ........ Merged revisions + 372268 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 372288 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372289 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-05 14:12 +0000 [r372290] Darren Sessions + + * configs/res_ldap.conf.sample, channels/chan_sip.c: LDAP Realtime + Peers Cannot Register Prior to 1.8, it was not necessary for an + explicit "type" to be set for an asterisk LDAP realtime peer. Now + the routine find_peer actually checks the type field during + registration and fails to find the peer if it is not set. The + attached patch makes the realtime type equal whatever type is + being searched for if the type is 0 upon return from routine + build_peer. (closes issue ASTERISK-17222) Reported by: John + Covert Patch by: David Vossel Tested by: Darren Sessions Review: + https://reviewboard.asterisk.org/r/2095/ + +2012-09-05 12:18 +0000 [r372267] Michael L. Young + + * /, res/res_rtp_asterisk.c: Fix breakage caused by last merge. + Missing a variable for 11 and trunk. ........ Merged revisions + 372266 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-05 07:43 +0000 [r372215-372242] Alec L Davis + + * /, main/dsp.c: dsp.c: Fix multiple issues when no-interdigit + delay is present, and fast DTMF 50ms/50ms Revert DTMF hit/miss + detector to original -r349249 method with some changes, remove + unnecessary; 1. reseting of hits=0, when no signal, only need to + set it once. 2. incrementing of hits, when the hit is the same as + the current hit. 3. setting of lasthit, when it's the same as + before. Change HITS_TO_BEGIN to 2, MISSES_TO_END to 3 & 3 + spelling mistakes (closes issue ASTERISK-19610) alecdavis + (license 585) Reported by: Jean-Philippe Lord Tested by: + alecdavis Review: https://reviewboard.asterisk.org/r/2085/ + ........ Merged revisions 372239 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372240 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372241 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/dsp.c, /: dsp.c: optimize goerztzel sample loops, in + dtmf_detect, mf_detect and tone_detect use a temporary short int + when repeatedly used to call goertzel_sample. alecdavis (license + 585) Reported by: alecdavis Tested by: alecdavis Review: + https://reviewboard.asterisk.org/r/2093/ ........ Merged + revisions 372212 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372213 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372214 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-05 04:55 +0000 [r372200] Michael L. Young + + * res/res_rtp_asterisk.c, /: Fix Incrementing Sequence Number For + Retransmitted DTMF End Packets In Asterisk 1.4+, a fix was put in + place to increment the sequence number for retransmitted DTMF end + packets. With the introduction of the RTP engine API in 1.8, the + sequence number was no longer being incremented. This patch fixes + this regression as well as cleans up a few lines that were not + doing anything. (closes issue ASTERISK-20295) Reported by: Nitesh + Bansal Tested by: Michael L. Young Patches: + 01_rtp_event_seq_num.patch uploaded by Nitesh Bansal (license + 6418) asterisk-20295-dtmf-fix-cleanup.diff uploaded by Michael L. + Young (license 5026) Review: + https://reviewboard.asterisk.org/r/2083/ ........ Merged + revisions 372185 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372198 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372199 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-05 02:26 +0000 [r372176] Matthew Jordan + + * cel/cel_pgsql.c, /: Fix memory leak when CEL is successfully + written to PostgreSQL database PQClear is not called when the + result object of a call to PQExec has a status of + PGRES_COMMAND_OK. Interestingly enough, the off nominal case was + handled properly, so this memory leak only occurred when CEL + records were successfully written. This patch properly clears the + result in the nominal code path. (closes issue ASTERISK-19991) + Reported by: Etienne Lessard Tested by: Etienne Lessard patches: + mem_leak_cel_pgsql.patch uploaded by Etienne Lessard (license + #6394) ........ Merged revisions 372158 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372165 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372175 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-09-04 19:30 +0000 [r372148-372149] Jonathan Rose + + * UPGRADE.txt: app_queue: PAUSEALL/UNPAUSEALL logged only if + interface is a queue member Adding UPGRADE.txt entry for r372148 + (issue AST-946) Reported by: John Bigelow + + * CHANGES, apps/app_queue.c: app_queue: Only log + PAUSEALL/UNPAUSEALL when 1+ memebers changed. Prior to this + patch, if pause or unpause was issued on an interface without + specifying a specific queue, a PAUSEALL or UNPAUSEALL event would + be logged in the queue log even if that interface wasn't a member + of any queues. This patch changes it so that these events are + only logged when at least one member of any queue exists for that + interface. (closes issue AST-946) Reported by: John Bigelow + Review: https://reviewboard.asterisk.org/r/2079/ + +2012-09-04 15:50 +0000 [r372136-372138] Mark Michelson + + * /, channels/chan_sip.c: Fix issue where SIP devices were not + notified when custom devices changed to "ringing". The problem + had to do with logic used when checking for what the oldest + ringing channel was. The problem was that if no channel was + found, then no notification would be sent. For custom device + states, there is no associated channel, so no notification would + get sent. This fixes the issue by still sending the notification + even if no associated channel can be found for a ringing device + state change. (closes issue ASTERISK-20297) Reported by Noah + Engelberth ........ Merged revisions 372137 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/config_options.c, apps/app_confbridge.c: Prevent crash + from using app_page with no confbridge.conf file provided. Also + prevents other potential crashes when using aco API with + uninitialized aco_info structs. (closes issue ASTERISK-20305) + reported by Noah Engelberth Tested by Noah Engelberth Review: + https://reviewboard.asterisk.org/r/2086 ........ Merged revisions + 372135 from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-31 21:15 +0000 [r372119] Mark Michelson + + * /, res/res_rtp_asterisk.c: Prevent local RTP bridges from sending + inappropriate formats to participants. A change for Asterisk 11 + caused a check for failure to incorrectly check the return value. + This resulted in the possibility of transmitting media that a + party had not negotiated. If this media happened to be G.729, + then this could potentially result in one-way audio if no G.729 + translators are installed. (closes issue ASTERISK-20296) reported + by NITESH BANSAL ........ Merged revisions 372118 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-30 20:54 +0000 [r372051-372092] Mark Michelson + + * /, apps/app_queue.c: Prevent crash on shutdown due to refcount + error on queues container. When app_queue is unloaded, the queues + container has its refcount decremented, potentially to 0. Then + the taskprocessor responsible for handling device state changes + is unreferenced. If the taskprocessor happens to be just about to + run its task, then it will create and destroy an iterator on the + queues container. This can cause the refcount on the queues + container to increase to 1 and then back to 0. Going back to 0 a + second time results in double frees. This failure was seen + periodically in the testsuite when Asterisk would shut down. + ........ Merged revisions 372089 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 372090 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372091 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, apps/app_queue.c: Help prevent ringing queue members from + being rung when ringinuse set to no. Queue member status would + not always get updated properly when the member was called, thus + resulting in the member getting multiple calls. With this change, + we update the member's status at the time of calling, and we also + check to make sure the member is still available to take the call + before placing an outbound call. (closes issue ASTERISK-16115) + reported by nik600 Patches: app_queue.c-svn-r370418.patch + uploaded by Italo Rossi (license #6409) ........ Merged revisions + 372048 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 372049 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372050 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-30 16:25 +0000 [r371964-372029] Matthew Jordan + + * /, channels/chan_iax2.c: AST-2012-013: Resolve ACL rules being + ignored during calls by some IAX2 peers When an IAX2 call is made + using the credentials of a peer defined in a dynamic Asterisk + Realtime Architecture (ARA) backend, the ACL rules for that peer + are not applied to the call attempt. This allows for a remote + attacker who is aware of a peer's credentials to bypass the ACL + rules set for that peer. This patch ensures that the ACLs are + applied for all peers, regardless of their storage mechanism. + (closes issue ASTERISK-20186) Reported by: Alan Frisch Tested by: + mjordan, Alan Frisch ........ Merged revisions 372028 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/manager.c, /, README-SERIOUSLY.bestpractices.txt: + AST-2012-012: Resolve AMI User Unauthorized Shell Access through + ExternalIVR The AMI Originate action can allow a remote user to + specify information that can be used to execute shell commands on + the system hosting Asterisk. This can result in an unwanted + escalation of permissions, as the Originate action, which + requires the "originate" class authorization, can be used to + perform actions that would typically require the "system" class + authorization. Previous attempts to prevent this permission + escalation (AST-2011-006, AST-2012-004) have sought to do so by + inspecting the names of applications and functions passed in with + the Originate action and, if those applications/functions matched + a predefined set of values, rejecting the command if the user + lacked the "system" class authorization. As noted by IBM X-Force + Research, the "ExternalIVR" application is not listed in the + predefined set of values. The solution for this particular + vulnerability is to include the "ExternalIVR" application in the + set of defined applications/functions that require "system" class + authorization. Unfortunately, the approach of inspecting fields + in the Originate action against known applications/functions has + a significant flaw. The predefined set of values can be bypassed + by creative use of the Originate action or by certain dialplan + configurations, which is beyond the ability of Asterisk to + analyze at run-time. Attempting to work around these scenarios + would result in severely restricting the applications or + functions and prevent their usage for legitimate means. As such, + any additional security vulnerabilities, where an + application/function that would normally require the "system" + class authorization can be executed by users with the "originate" + class authorization, will not be addressed. Instead, the + README-SERIOUSLY.bestpractices.txt file has been updated to + reflect that the AMI Originate action can result in commands + requiring the "system" class authorization to be executed. Proper + system configuration can limit the impact of such scenarios. + (closes issue ASTERISK-20132) Reported by: Zubair Ashraf of IBM + X-Force Research ........ Merged revisions 371998 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371999 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 372000 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * include/asterisk/rtp_engine.h, include/asterisk/ccss.h, + main/pbx.c, include/asterisk/utils.h, channels/sip/srtp.c, + channels/chan_sip.c, include/asterisk/format_pref.h, + include/asterisk/astobj2.h, include/asterisk/presencestate.h, + channels/chan_agent.c, include/asterisk/config.h, pbx/pbx_lua.c, + formats/format_ogg_vorbis.c, include/asterisk/channel.h, + main/named_acl.c, codecs/speex/speex_resampler.h, + include/asterisk/manager.h, include/asterisk/format_cap.h, + include/asterisk/framehook.h, include/asterisk/heap.h, + channels/sig_pri.h, Makefile, include/asterisk/message.h, + include/asterisk/bridging.h, include/asterisk/datastore.h, + main/file.c, include/asterisk/strings.h, include/asterisk/pbx.h, + channels/sip/include/srtp.h, main/audiohook.c, + include/asterisk/translate.h, main/cdr.c, main/channel.c, + include/asterisk/crypto.h, include/asterisk/config_options.h, + include/asterisk/bridging_technology.h, + include/asterisk/audiohook.h, + apps/confbridge/include/confbridge.h, include/asterisk/format.h, + include/asterisk/netsock2.h: Clean up doxygen warnings This patch + fixes numerous doxygen warnings across Asterisk. It also updates + the makefile to regenerate the doxygen configuration on the local + system before running doxygen to help prevent warnings/errors on + the local system. Much thanks to Andrew for tackling one of the + Asterisk janitor projects! (issue ASTERISK-20259) Reported by: + Andrew Latham Patches: doxygen_partial.diff uploaded by Andrew + Latham (license 5985) make_progdocs.diff uploaded by Andrew + Latham (license 5985) + + * doc/CODING-GUIDELINES (added), /: Restore CODING-GUIDELINES to + doc folder In r294740, the CODING-GUIDELINES was removed from the + doc folder in favor of the content on the Asterisk wiki. Some + folks still look in the doc folder initially for coding guideline + suggestions; as such, this patch adds a CODING-GUIDELINES file + back into the doc folder. The content of the file merely points + to the correct page on the Asterisk wiki where the coding + guidelines currently live. (closes issue ASTERISK-20279) Reported + by: Andrew Latham Patches: CODING-GUIDELINES.diff uploaded by + Andrew Latham (license 5985) ........ Merged revisions 371961 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 371962 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371963 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-29 22:48 +0000 [r371951-371952] Richard Mudgett + + * include/asterisk/md5.h: Ensure alignment of in[] field in + MD5Context struct. The struct MD5Context character buffer is cast + to an int32_t* without making sure that said buffer is aligned. + Since the buffer follows two uint32_t's, the chance of 'in' being + (32 bits) unaligned is nil in practice. But adding code to ensure + that 'in' stays aligned costs nothing and removes all doubts + about the casts being safe. (closes issue ASTERISK-20241) + Reported by: Walter Doekes Patches: tmp.diff (license #5674) + patch uploaded by Walter Doekes + + * /, apps/app_meetme.c: Fix compile errors. ........ Merged + revisions 371950 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-29 21:15 +0000 [r371922] Jonathan Rose + + * /, apps/app_meetme.c: app_meetme: Adding test events for + following activity in MeetMe. ........ Merged revisions 371919 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 371920 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371921 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-29 19:57 +0000 [r371892-371894] Richard Mudgett + + * main/channel.c, /: Fix theoretical compile error with HAVE_EPOLL. + Really shows how much epoll is used since it had not been + reported yet. ........ Merged revisions 371893 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/channel.c, /: Initialize file descriptors for dummy channels + to -1. Dummy channels usually aren't read from, but functions + like SHELL and CURL use autoservice on the channel. (closes issue + ASTERISK-20283) Reported by: Gareth Palmer Patches: + svn-371580.patch (license #5169) patch uploaded by Gareth Palmer + (modified) ........ Merged revisions 371888 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371890 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371891 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-29 19:38 +0000 [r371889] Jonathan Rose + + * channels/chan_sip.c, UPGRADE.txt: chan_sip: Change manager event + to confirm SIPqualifypeer into an ack Matt Jordan informed me + that it was more appropriate to use an astman_send_ack here + instead of making an event response. I've also used this + opportunity to update UPGRADE.txt to mention this change in + behavior. (issue AST-969) Reported by: John Bigelow + +2012-08-29 18:40 +0000 [r371863] Richard Mudgett + + * apps/app_dial.c, /: Fix hangup cause passthrough regression. The + v1.8 -r369258 change to fix the F and F(x) action logic + introduced a regression in passing the hangup cause from the + called channel to the caller channel. (closes issue + ASTERISK-20287) Reported by: Konstantin Suvorov Patches: + app_dial_hangupcause.patch (license #6421) patch uploaded by + Konstantin Suvorov (modified) Tested by: rmudgett ........ Merged + revisions 371860 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371861 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371862 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-29 17:35 +0000 [r371823-371851] Jonathan Rose + + * /, channels/chan_sip.c: chan_sip: Send 408 on retransmit timeout + instead of 603 (closes issue ASTERISK-20124) Reported by: Walter + Doekes ........ Merged revisions 371824 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371825 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371845 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_sip.c: chan_sip: Send a manager event to confirm + SIPqualifypeer completes Prior to this patch, Issuing + SIPqualifypeer either resulted in an error or if it succeeded, a + few \r\ns. This patch adds a SIPqualifypeerComplete event issued + as a response when the command is successfully executed. (closes + issue AST-969) Reported by: John Bigelow + +2012-08-27 21:51 +0000 [r371785-371791] Mark Michelson + + * configs/agents.conf.sample, /: Fix misleading documentation in + agents.conf.sample regarding ackcall usage. The documentation + made it sound as if the DTMF acknowledgment was needed at the + time the agent logs in, rather than when the agent is called. + This is likely a relic from the days when there were multiple + ways of logging in agents. (closes issue AST-962) reported by + Steve Pitts ........ Merged revisions 371787 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371789 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371790 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/manager.c: Fix incorrect documentation of the + MailboxStatus manager command. The "Waiting" field was + misdocumented as reporting the number of messages waiting. In + reality, it simply indicated the presence or absence of waiting + messages. ........ Merged revisions 371782 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371783 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371784 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-27 18:16 +0000 [r371754] David M. Lee + + * res/pjproject/pjlib/bin, res/pjproject/pjlib-util/build/output, + res/pjproject/pjnath/bin, res/pjproject/pjlib/build/output, + res/pjproject/pjlib-util/bin, res/pjproject/pjnath/build/output, + /: svn:ignore pjproject bin & output for all platforms. ........ + Merged revisions 371753 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-27 17:52 +0000 [r371751] Mark Michelson + + * configs/queues.conf.sample, /: Fix incorrectly documented option + in queues.conf sharedlastcall defaults to "no" not "yes" (closes + issue AST-979) reported by Steve Pitts ........ Merged revisions + 371747 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 371748 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371750 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-27 16:56 +0000 [r371721] David M. Lee + + * /, main/lock.c: Fixes ast_rwlock_timed[rd|wr]lock for BSD and + variants. The original implementations simply wrap pthread + functions, which take absolute time as an argument. The spinlock + version for systems without those functions treated the argument + as a delta. This patch fixes the spinlock version to be + consistent with the pthread version. (closes issue + ASTERISK-20240) Reported by: Egor Gorlin Patches: lock.c.patch + uploaded by Egor Gorlin (license 6416) ........ Merged revisions + 371718 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 371720 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-27 14:13 +0000 [r371693] Kinsey Moore + + * /, main/utils.c: Implement workaround for BETTER_BACKTRACES crash + When compiling with BETTER_BACKTRACES enabled, Asterisk will + sometimes crash when "core show locks" is run. This happens + regularly in the testsuite since several tests run "core show + locks" to help with debugging. This seems to be a fault with + libraries on certain operating systems (notably CentOS 6.2/6.3) + running on virtual machines and utilizing gcc 4.4.6. (closes + issue ASTERISK-20090) ........ Merged revisions 371690 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371691 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371692 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-26 23:10 +0000 [r371665] Alec L Davis + + * main/dsp.c, /: mf_detect: incorrectly used DTMF_GSIZE instead of + MF_GSIZE ........ Merged revisions 371662 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371663 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371664 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-23 04:12 +0000 [r371633] Mark Michelson + + * tests/test_scoped_lock.c (added): I forgot to add the unit tests + for scoped locks earlier today. + +2012-08-22 15:55 +0000 [r371620] Joshua Colp + + * /, channels/chan_motif.c: Add support for call-id logging to + chan_motif. Review: https://reviewboard.asterisk.org/r/2077/ + ........ Merged revisions 371619 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-21 21:01 +0000 [r371572-371593] Mark Michelson + + * main/utils.c, apps/app_queue.c, pbx/pbx_config.c, + res/res_jabber.c, apps/app_stack.c, channels/chan_oss.c, + res/res_config_sqlite.c, cdr/cdr_tds.c, main/xmldoc.c, + apps/app_dial.c, channels/chan_dahdi.c, /, channels/chan_sip.c, + funcs/func_odbc.c, main/file.c: Fix misuses of asprintf + throughout the code. This fixes three main issues * Change + asprintf() uses to ast_asprintf() so that it pairs properly with + ast_free() and no longer causes MALLOC_DEBUG to freak out. * When + ast_asprintf() fails, set the pointer NULL if it will be + referenced later. * Fix some memory leaks that were spotted while + taking care of the first two points. (Closes issue + ASTERISK-20135) reported by Richard Mudgett Review: + https://reviewboard.asterisk.org/r/2071 ........ Merged revisions + 371590 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 371591 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371592 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * include/asterisk/lock.h, main/config.c: Add scoped locks to + Asterisk. With the SCOPED_LOCK macro, you can create a variable + that locks a specific lock and unlocks the lock when the variable + goes out of scope. This is useful for situations where many + breaks, continues, returns, or other interruptions would require + separate unlock statements. With a scoped lock, these aren't + necessary. There are specializations for mutexes, read locks, + write locks, ao2 locks, ao2 read locks, ao2 write locks, and + channel locks. Each of these is a SCOPED_LOCK at heart though. + Review: https://reviewboard.asterisk.org/r/2060 + + * res/res_rtp_asterisk.c, /: Use thread-local storage to store + pj_thread_descs. pj_thread_register() takes a parameter of type + pj_thread_desc. It was assumed that pj_thread_register either + used this item temporarily or made a copy of it. Unfortunately, + all it does is keep a pointer to the structure in thread-local + storage. This means that if our pj_thread_desc goes out of scope, + then pjlib will be referencing bogus data quite often, most + commonly on operations involving a pj_mutex_t. In our case, our + pj_thread_desc was on the stack and went out of scope very + shortly after registering our thread with pjlib. With this + change, the pj_thread_desc is stored in thread-local storage so + the pointer that pjlib keeps in thread-local storage will + reference legitimate memory. (closes issue ASTERISK-20237) + reported by Jeremy Pepper Patches: ASTERISK-20237.patch uploaded + by Mark Michelson (license #5049) Tested by Jeremy Pepper + ........ Merged revisions 371571 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-20 15:39 +0000 [r371535-371547] Kinsey Moore + + * /, main/udptl.c: Ignore recovered zero-length secondary UDPTL + packets In some cases, recovering lost packets using the + secondary packet recovery mechanism with UDPTL/T.38 can result in + the recovery of zero-length packets. These must be ignored or the + frame generated from them can cause segfaults and allocation + failures. (closes issue ASTERISK-19762) (closes issue + ASTERISK-19373) Reported-by: Benjamin (bulkorok) Reported-by: Rob + Gagnon (rgagnon) ........ Merged revisions 371544 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371545 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371546 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * main/utils.c: Fix for commit r371535 + + * main/utils.c: Apply work-around for BETTER_BACKTRACES crash When + compiling with BETTER_BACKTRACES enabled, Asterisk will sometimes + crash when "core show locks" is run. This happens regularly in + the testsuite since several tests run "core show locks" to help + with debugging. This seems to be a fault with libraries on + certain operating systems (notably CentOS 6.2/6.3) running on + virtual machines and utilizing gcc 4.4.6. (issue ASTERISK-20090) + +2012-08-18 02:09 +0000 [r371493-371521] Matthew Jordan + + * main/http.c, /: Remove old debug code from http configuration + loading (closes issue ASTERISK-20254) Reported by: Andrew Latham + Patches: http.diff uploaded by Andrew Latham (license #5985) + ........ Merged revisions 371520 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * res/res_xmpp.c, /: Fix typo in JabberSend that looked for '2' + instead of '@' in recipient argument The summary says about all + there is to say. (closes issue ASTERISK-20239) Reported by: + Gregory Porras ........ Merged revisions 371518 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * funcs/func_hangupcause.c, /: Make the name of the + "HangupCauseClear" application consistent The name of the + "HangupCauseClear" application is "HangupCauseClear", not + "HangupcauseClear". The incorrect case of 'cause' caused the XML + documentation to not register properly. As an aside, this commit + message felt very awkward, but I'm not sure how else to note that + "X", which has to be "X", was referred to as "x". (closes issue + ASTERISK-20253) Reported by: Andrew Latham Patches: + hangupcause.diff uploaded by Andrew Latham (license #5985) + ........ Merged revisions 371516 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * sounds/sounds.xml, res/res_curl.c, build_tools/cflags.xml, + utils/utils.xml, /, res/res_fax.c: Update module support level on + a variety of modules and compiler options Some core support + modules and compiler options were no longer tagged with a module + support level. This patch adds 'core' back to those options. Note + that this patch modifies a few of the patches provided by Andrew + Latham slightly. res_curl and res_fax are both 'core' supported + modules. (closes issue ASTERISK-20215) Reported by: Andrew Latham + Tested by: mjordan Patches: astcanary.diff (license #5985) + uploaded by Andrew Latham cflagsxml.diff (license #5985) uploaded + by Andrew Latham curl_fax.diff (license #5985) uploaded by Andrew + Latham soundsxml.diff (license #5985) uploaded by Andrew Latham + ........ Merged revisions 371507 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, main/xmldoc.c: Fix memory leak in XML documentation When + formatting documentation fields, the XML documentation parser + calls xmldoc_get_formatted. This function allocates a string + buffer at the beginning of its routine. Unfortunately, on certain + code paths, it also calls xmldoc_string_cleanup, which assumes + that it will create the string buffer. The previously allocated + string buffer is then leaked by the xmldoc_string_cleanup + routine. Now: we don't do that. (closes issue AST-932) Reported + by: Alexander Homig ........ Merged revisions 371469 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371491 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371492 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-17 19:50 +0000 [r371483] Joshua Colp + + * /, channels/chan_sip.c: When a peer registers using WebSocket do + not resolve the Contact provided. (closes issue ASTERISK-20238) + Reported by: james.mortensen ........ Merged revisions 371482 + from http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-17 16:01 +0000 [r371439] Kinsey Moore + + * main/loader.c, /: Add instrumentation to subsystem reloads When + Asterisk is built with TEST_FRAMEWORK defined, Asterisk will now + generate TestEvent AMI events on subsystem reloads such as cdr, + dnsmgr, extconfig, etc. (issue PQ-1126) ........ Merged revisions + 371436 from http://svn.asterisk.org/svn/asterisk/branches/1.8 + ........ Merged revisions 371437 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371438 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-17 12:42 +0000 [r371428] Russell Bryant + + * res/res_rtp_asterisk.c, /: rtp: Ensure defaults are set without + rtp.conf. While building up a new install to test chan_motif, I + ran into a failure due to icesupport being disabled. This was due + to me not having an rtp.conf. It was intended in the code for it + to be enabled by default, but it was only applied if rtp.conf + existed. This patch updates res_rtp_asterisk to be consistent in + how it handles defaults. A few options didn't have their default + values set globally, including icesupport. They are now set and + icesupport is enabled by default, even if you do not have an + rtp.conf. ........ Merged revisions 371425 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-17 12:25 +0000 [r371427] Joshua Colp + + * res/res_format_attr_h264.c, /: Add some additional H.264 + attributes, "max-smbps" and "max-fps", for passthrough. (closes + issue ASTERISK-20206) Reported by: ddkprog Patches: + res_format_attr_h264.c.diff uploaded by ddkprog (license 6008) + ........ Merged revisions 371426 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-16 23:08 +0000 [r371400] Terry Wilson + + * main/config.c, /: Handle integer over/under-flow in + ast_parse_args The strtol family of functions will return + *_MIN/*_MAX on overflow. To detect when an overflow has happened, + errno must be set to 0 before calling the function, then checked + afterward. (closes issue ASTERISK-20120) Reported by: Matt Jordan + Review: https://reviewboard.asterisk.org/r/2073/ ........ Merged + revisions 371392 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371398 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371399 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-16 22:45 +0000 [r371396] Kinsey Moore + + * /, main/loader.c: Add module reload instrumentation for + TEST_FRAMEWORK This adds AMI events for module reloads when + Asterisk is built with TEST_FRAMEWORK enabled and corrects + generation of the module load AMI event. (issue PQ-1126) ........ + Merged revisions 371393 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371394 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371395 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-16 19:52 +0000 [r371356-371383] Jonathan Rose + + * /, channels/chan_sip.c: chan_sip: Use pvt outgoing_call variable + to set Remote-Party-ID Header Previously the pvt SIP_OUTGOING + flag was used instead, which will frequently flip during + reinvites. (closes issue AST-897) Reported by: Thomas Arimont + ........ Merged revisions 371357 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371358 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371382 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * /, channels/chan_sip.c: chan_sip: Trigger reinvite if the SDP + answer is included in the SIP ACK Under certain conditions, a SIP + transaction involving directmedia wouldn't trigger a re-invite + because the SDP answer was included in an ACK instead of in a + message that we would have triggered the invite with. This patch + just queues a source change control frame if the dialog is using + directmedia when we find sdp for an ACK. (closes issue AST-913) + Reported by: Thomas Arimont ........ Merged revisions 371337 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371338 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371355 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-15 23:35 +0000 [r371325] Mark Michelson + + * apps/app_queue.c, /: Fix bug where final queue member would not + be removed from memory. If a static queue had realtime members, + then there could be a potential for those realtime members not to + be properly deleted from memory. If the queue's members were + loaded from realtime and then all the members were deleted from + the backend, then the queue would still think these members + existed. The reason was that there was a short- circuit in code + such that if there were no members found in the backend, then the + queue would not be updated to reflect this. Note that this only + affected static queues with realtime members. Realtime queues + with realtime members were unaffected by this issue. (closes + issue ASTERISK-19793) reported by Marcus Haas ........ Merged + revisions 371306 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371313 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371324 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-15 20:43 +0000 [r371296] Michael L. Young + + * /, channels/chan_sip.c: Fix Segfault When Registering SIP Over + WebSockets The helper function, get_address_family_filter, in + chan_sip for dns resolution by address family was not recognizing + the websockets transport and resulting in a null pointer being + sent to functions in netsock2, in an attempt to determine if we + are bound to ANY address ([::]) or not. This patch fixes this + issue by handling the transport types SIP_TRANSPORT_WS and + SIP_TRANSPORT_WSS which results in a sock address being set + properly for use in determining the address family. (closes issue + ASTERISK-20221) Reported by: Sven Beisiegel Tested by: Sven + Beisiegel, James Mortensen Patches: + asterisk-20221-ws-family-filter.diff uploaded by Michael L. Young + (license 5026) ........ Merged revisions 371295 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-15 20:18 +0000 [r371259-371277] Kinsey Moore + + * /, channels/chan_sip.c: Avoid unconditional NULLing of mwipvt on + relatedpeer on SIP dialog destruction The other instance of this + bug was fixed by jcolp/file in r121496. If we are destroying a + dialog only set the MWI dialog pointer on the related peer to + NULL if it is the dialog currently being destroyed. (closes issue + ASTERISK-20119) Patch-by: Misha Vodsedalek ........ Merged + revisions 371270 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371271 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371272 from + http://svn.asterisk.org/svn/asterisk/branches/11 + + * channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c, + channels/chan_dahdi.c, channels/sig_analog.c, /, + channels/chan_sip.c: Add HANGUPCAUSE information to callee + channels This adds HANGUPCAUSE information to called channels so + that hangup handlers can, in conjunction with predial dialplan + execution, access the hangupcause information when the dialed + channel hangs up on a one-to-one basis instead of a many-to-one + basis as with HANGUPCAUSE usage on the caller channel. Review: + https://reviewboard.asterisk.org/r/2069/ (closes issue + ASTERISK-20198) ........ Merged revisions 371258 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-13 20:36 +0000 [r371228] Kinsey Moore + + * main/loader.c, /, apps/app_meetme.c: Add test instrumentation + This adds test instrumentation for loading and unloading of + modules and for certain actions in MeetMe to be used in the + testsuite or any other consumer of AMI events. These will only be + generated when Asterisk is built with TEST_FRAMEWORK enabled. + (issue PQ-1131) (issue PQ-1133) ........ Merged revisions 371201 + from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ + Merged revisions 371203 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371227 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-13 20:02 +0000 [r371202] Mark Michelson + + * /, channels/chan_sip.c: Fix problem where incorrect pointer was + checked for nullity. ........ Merged revisions 371198 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371199 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371200 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-11 19:13 +0000 [r371170] Matthew Jordan + + * UPGRADE-11.txt (added), UPGRADE.txt: Add UPGRADE-11.txt file; + update UPGRADE.txt to reflect Asterisk 12 + +2012-08-10 22:04 +0000 [r371147] Richard Mudgett + + * CHANGES, /: Update CHANGES for private party ID. ........ Merged + revisions 371146 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-10 21:35 +0000 [r371144] Mark Michelson + + * /, apps/app_queue.c: Fix a couple of documentation problems in + app_queue.c * The RemoveQueueMember app made mention of options + that could be passed in, but no options are supported. I have + removed the listing of options from the documentation. * The + RQMSTATUS variable did not list "NOTDYNAMIC" as a possible value + that could be set. (closes issue AST-949) reported by Steve Pitts + (closes issue AST-954) reported by Steve Pitts ........ Merged + revisions 371141 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged + revisions 371142 from + http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged + revisions 371143 from + http://svn.asterisk.org/svn/asterisk/branches/11 + +2012-08-10 21:09 +0000 [r371134] Matthew Jordan + + * /: Remove 10 properties, add 11 properties + +2012-08-10 19:54 +0000 [r371120] Richard Mudgett + + * main/cli.c, main/channel.c, channels/chan_misdn.c, + channels/chan_sip.c, main/channel_internal_api.c, + main/features.c, include/asterisk/channel.h, channels/sig_pri.c, + funcs/func_callerid.c: Add private representation of caller, + connected and redirecting party ids. This patch adds the feature + "Private representation of caller, connected and redirecting + party ids", as previously discussed with us (DATUS) and Digium. + 1. Feature motivation Until now it is quite difficult to modify a + party number or name which can only be seen by exactly one + particular instantiated technology channel subscriber. One + example where a modified party number or name on one channel is + spread over several channels are supplementary services like call + transfer or pickup. To implement these features Asterisk + internally copies caller and connected ids from one channel to + another. Another example are extension subscriptions. The + monitoring entities (watchers) are notified of state changes and + - if desired - of party numbers or names which represent the + involving call parties. One major feature where a private + representation of party names is essentially needed, i.e. where a + party name shall be exclusively signaled to only one particular + user, is a private user-specific name resolution for party + numbers. A lookup in a private destination-dependent telephone + book shall provide party names which cannot be seen by any other + user at any time. 2. Feature Description This feature comes along + with the implementation of additional private party id elements + for caller id, connected id and redirecting ids inside Asterisk + channels. The private party id elements can be read or set by the + user using Asterisk dialplan functions. When a technology channel + is initiating a call, receives an internal connected-line update + event, or receives an internal redirecting update event, it + merges the corresponding public id with the private id to create + an effective party id. The effective party id is then used for + protocol signaling. The channel technologies which initially + support the private id representation with this patch are SIP + (chan_sip), mISDN (chan_misdn) and PRI (chan_dahdi). Once a + private name or number on a channel is set and (implicitly) made + valid, it is generally used for any further protocol signaling + until it is rewritten or invalidated. To simplify the + invalidation of private ids all internally generated + connected/redirecting update events and also all + connected/redirecting update events which are generated by + technology channels -- receiving regarding protocol information - + automatically trigger the invalidation of private ids. If not + using the private party id representation feature at all, i.e. if + using only the 'regular' caller-id, connected and redirecting + related functions, the current characteristic of Asterisk is not + affected by the new extended functionality. 3. User interface + Description To grant access to the private name and number + representation from the Asterisk dialplan, the CALLERID, + CONNECTEDLINE and REDIRECTING dialplan functions are extended by + the following data types. The formats of these data types are + equal to the corresponding regular 'non-private' already existing + data types: CALLERID: priv-all priv-name priv-name-valid + priv-name-charset priv-name-pres priv-num priv-num-valid + priv-num-plan priv-num-pres priv-subaddr priv-subaddr-valid + priv-subaddr-type priv-subaddr-odd priv-tag CONNECTEDLINE: + priv-name priv-name-valid priv-name-pres priv-name-charset + priv-num priv-num-valid priv-num-pres priv-num-plan priv-subaddr + priv-subaddr-valid priv-subaddr-type priv-subaddr-odd priv-tag + REDIRECTING: priv-orig-name priv-orig-name-valid + priv-orig-name-pres priv-orig-name-charset priv-orig-num + priv-orig-num-valid priv-orig-num-pres priv-orig-num-plan + priv-orig-subaddr priv-orig-subaddr-valid priv-orig-subaddr-type + priv-orig-subaddr-odd priv-orig-tag priv-from-name + priv-from-name-valid priv-from-name-pres priv-from-name-charset + priv-from-num priv-from-num-valid priv-from-num-pres + priv-from-num-plan priv-from-subaddr priv-from-subaddr-valid + priv-from-subaddr-type priv-from-subaddr-odd priv-from-tag + priv-to-name priv-to-name-valid priv-to-name-pres + priv-to-name-charset priv-to-num priv-to-num-valid + priv-to-num-pres priv-to-num-plan priv-to-subaddr + priv-to-subaddr-valid priv-to-subaddr-type priv-to-subaddr-odd + priv-to-tag Reported by: Thomas Arimont Review: + https://reviewboard.asterisk.org/r/2030/ +